search for: phasor_ptr_temp_1

Displaying 3 results from an estimated 3 matches for "phasor_ptr_temp_1".

2015 Feb 24
2
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
...; > Hi Hal, MachineLICM is not able to hoist anything because the address mode is not loop invariant. Here is a reduction of the code I am talking about. extern const unsigned phasor[4096]; void test(unsigned* out , unsigned step_size) { unsigned big_step_size = step_size<<2; int *phasor_ptr_temp_1 = &phasor[big_step_size]; for (int i = 0 ; i < 1020 ; i+=4) out[i] = phasor_ptr_temp_1[i<<step_size]; } I am getting slightly better code on my target (Octasic's Opus) if I return false for shouldMergeGEPs. I just tried with ppc64 and x86-64 and I am also getting better code w...
2015 Feb 25
2
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
...gt; > > > > > Here is a reduction of the code I am talking about. > > > > > > > > extern const unsigned phasor[4096]; > > void test(unsigned* out , unsigned step_size) > > { > > unsigned big_step_size = step_size<<2; > > int *phasor_ptr_temp_1 = &phasor[big_step_size]; > > for (int i = 0 ; i < 1020 ; i+=4) > > out[i] = phasor_ptr_temp_1[i<<step_size]; > > } > > > > > > I am getting slightly better code on my target (Octasic's Opus) if > > I > > return false for shouldMerg...
2015 Feb 22
2
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
Hello I am not sure I understand the logic for merging GEPs in InstructionCombining.cpp: static bool shouldMergeGEPs(GEPOperator &GEP, GEPOperator &Src) { // If this GEP has only 0 indices, it is the same pointer as // Src. If Src is not a trivial GEP too, don't combine // the indices. if (GEP.hasAllZeroIndices() && !Src.hasAllZeroIndices() &&