mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-07 11:33:44 +00:00
[X86TTI] Make constant base pointers for getElementPtr opaque.
If getElementPtr uses a constant as base pointer, then make the constant opaque. This prevents constant folding it with the offset. The offset can usually be encoded in the load/store instruction itself and the base address doesn't have to be rematerialized several times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204739 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e987eb12b6
commit
feaa46379a
@ -798,8 +798,9 @@ unsigned X86TTI::getIntImmCost(unsigned Opcode, unsigned Idx, const APInt &Imm,
|
||||
switch (Opcode) {
|
||||
default: return TCC_Free;
|
||||
case Instruction::GetElementPtr:
|
||||
if (Idx != 0)
|
||||
return TCC_Free;
|
||||
if (Idx == 0)
|
||||
return 2 * TCC_Basic;
|
||||
return TCC_Free;
|
||||
case Instruction::Store:
|
||||
ImmIdx = 0;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user