mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[mips] Set flag isAsCheapAsAMove flag on instruction LUi.
llvm-svn: 167345
This commit is contained in:
parent
807cea5760
commit
61434a3632
@ -421,7 +421,7 @@ class shift_rotate_reg<bits<6> func, bits<5> isRotate, string instr_asm,
|
||||
// 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;
|
||||
|
@ -24,3 +24,28 @@ entry:
|
||||
}
|
||||
|
||||
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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user