diff options
author | Alexei Starovoitov <alexei.starovoitov@gmail.com> | 2015-03-31 02:49:58 +0000 |
---|---|---|
committer | Alexei Starovoitov <alexei.starovoitov@gmail.com> | 2015-03-31 02:49:58 +0000 |
commit | 1819953db52c8e5bc7790d3dd20ad342bf77a161 (patch) | |
tree | 1d1f31239805dc818a90ab4406da780c2ebbe890 /llvm/lib/Target/BPF/BPFInstrInfo.td | |
parent | 6a607c0c3ecb1d1a632ac381c275bc01fca63591 (diff) | |
download | bcm5719-llvm-1819953db52c8e5bc7790d3dd20ad342bf77a161.tar.gz bcm5719-llvm-1819953db52c8e5bc7790d3dd20ad342bf77a161.zip |
[bpf] mark mov instructions as ReMaterializable
loading immediate into register is cheap, so take advantage of remat.
llvm-svn: 233666
Diffstat (limited to 'llvm/lib/Target/BPF/BPFInstrInfo.td')
-rw-r--r-- | llvm/lib/Target/BPF/BPFInstrInfo.td | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/BPF/BPFInstrInfo.td b/llvm/lib/Target/BPF/BPFInstrInfo.td index 346c7f9b787..26b2cfebdc8 100644 --- a/llvm/lib/Target/BPF/BPFInstrInfo.td +++ b/llvm/lib/Target/BPF/BPFInstrInfo.td @@ -231,8 +231,6 @@ class MOV_RI<string OpcodeStr> let BPFSrc = 0; // BPF_K let BPFClass = 7; // BPF_ALU64 } -def MOV_rr : MOV_RR<"mov">; -def MOV_ri : MOV_RI<"mov">; class LD_IMM64<bits<4> Pseudo, string OpcodeStr> : InstBPF<(outs GPR:$dst), (ins u64imm:$imm), @@ -255,7 +253,12 @@ class LD_IMM64<bits<4> Pseudo, string OpcodeStr> let size = 3; // BPF_DW let BPFClass = 0; // BPF_LD } + +let isReMaterializable = 1, isAsCheapAsAMove = 1 in { def LD_imm64 : LD_IMM64<0, "ld_64">; +def MOV_rr : MOV_RR<"mov">; +def MOV_ri : MOV_RI<"mov">; +} def LD_pseudo : InstBPF<(outs GPR:$dst), (ins i64imm:$pseudo, u64imm:$imm), |