[llvm] r204739 - [X86TTI] Make constant base pointers for getElementPtr opaque.
Eric Christopher
echristo at gmail.com
Mon Mar 31 16:13:20 PDT 2014
Testcase? Comment? Anything?
-eric
On Tue, Mar 25, 2014 at 11:01 AM, Juergen Ributzka <juergen at apple.com> wrote:
> Author: ributzka
> Date: Tue Mar 25 13:01:25 2014
> New Revision: 204739
>
> URL: http://llvm.org/viewvc/llvm-project?rev=204739&view=rev
> Log:
> [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.
>
> Modified:
> llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
>
> Modified: llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp?rev=204739&r1=204738&r2=204739&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp Tue Mar 25 13:01:25 2014
> @@ -798,8 +798,9 @@ unsigned X86TTI::getIntImmCost(unsigned
> 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;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list