[llvm-commits] [llvm] r167345 - in /llvm/trunk: lib/Target/Mips/MipsInstrInfo.td test/CodeGen/Mips/remat-immed-load.ll

Akira Hatanaka ahatanaka at mips.com
Fri Nov 2 17:26:02 PDT 2012


Author: ahatanak
Date: Fri Nov  2 19:26:02 2012
New Revision: 167345

URL: http://llvm.org/viewvc/llvm-project?rev=167345&view=rev
Log:
[mips] Set flag isAsCheapAsAMove flag on instruction LUi.


Modified:
    llvm/trunk/lib/Target/Mips/MipsInstrInfo.td
    llvm/trunk/test/CodeGen/Mips/remat-immed-load.ll

Modified: llvm/trunk/lib/Target/Mips/MipsInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrInfo.td?rev=167345&r1=167344&r2=167345&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsInstrInfo.td (original)
+++ llvm/trunk/lib/Target/Mips/MipsInstrInfo.td Fri Nov  2 19:26:02 2012
@@ -421,7 +421,7 @@
 // Load Upper Imediate
 class LoadUpper<bits<6> op, string instr_asm, RegisterClass RC, Operand Imm>:
   FI<op, (outs RC:$rt), (ins Imm:$imm16),
-     !strconcat(instr_asm, "\t$rt, $imm16"), [], IIAlu> {
+     !strconcat(instr_asm, "\t$rt, $imm16"), [], IIAlu>, IsAsCheapAsAMove {
   let rs = 0;
   let neverHasSideEffects = 1;
   let isReMaterializable = 1;

Modified: llvm/trunk/test/CodeGen/Mips/remat-immed-load.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/remat-immed-load.ll?rev=167345&r1=167344&r2=167345&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Mips/remat-immed-load.ll (original)
+++ llvm/trunk/test/CodeGen/Mips/remat-immed-load.ll Fri Nov  2 19:26:02 2012
@@ -24,3 +24,28 @@
 }
 
 declare void @foo2(i64)
+
+define void @f5() nounwind {
+entry:
+; 32:  lui $4, 1
+; 32:  lui $4, 1
+
+  tail call void @f6(i32 65536) nounwind
+  tail call void @f6(i32 65536) nounwind
+  ret void
+}
+
+declare void @f6(i32)
+
+define void @f7() nounwind {
+entry:
+; 64:  lui $4, 1
+; 64:  lui $4, 1
+
+  tail call void @f8(i64 65536) nounwind
+  tail call void @f8(i64 65536) nounwind
+  ret void
+}
+
+declare void @f8(i64)
+





More information about the llvm-commits mailing list