llvm-project/llvm/test/Transforms/LoopVectorize/ARM
Simon Pilgrim 10c982e0b3 Revert rG1c9bec727ab5c53fa060560dc8d346a911142170 : [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069)
Reverted (manually due to merge conflicts) while regressions reported on PR51540 are investigated

As noticed on D106352, after we've folded "(select C, (gep Ptr, Idx), Ptr) -> (gep Ptr, (select C, Idx, 0))" if the inner Ptr was also a (now one use) gep we could then merge the geps, using the sum of the indices instead.

I've limited this to basic 2-op geps - a more general case further down InstCombinerImpl.visitGetElementPtrInst doesn't have the one-use limitation but only creates the add if it can be created via SimplifyAddInst.

https://alive2.llvm.org/ce/z/f8pLfD (Thanks Roman!)

Differential Revision: https://reviews.llvm.org/D106450
2021-08-23 21:09:26 +01:00
..
arm-ieee-vectorize.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
arm-unroll.ll
gather-cost.ll
gcc-examples.ll
interleaved_cost.ll
lit.local.cfg
mve-gather-scatter-tailpred.ll [LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (try 4) 2021-07-07 07:44:35 -07:00
mve-icmpcost.ll [ARM] Tone down the MVE scalarization overhead 2021-03-19 18:30:11 +00:00
mve-interleaved-cost.ll [ARM] Tone down the MVE scalarization overhead 2021-03-19 18:30:11 +00:00
mve-known-trip-count.ll [LV] Account for tripcount when calculation vectorization profitability 2021-05-06 12:36:46 +01:00
mve-maskedldst.ll
mve-predstorecost.ll [ARM] Test for predicated scalar memops. NFC 2021-03-09 21:57:18 +00:00
mve-qabs.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
mve-reduction-predselect.ll [SVE] Add support for folding for select + masked loads 2021-07-26 11:58:41 +01:00
mve-reduction-types.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
mve-reductions.ll Revert rG1c9bec727ab5c53fa060560dc8d346a911142170 : [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069) 2021-08-23 21:09:26 +01:00
mve-saddsatcost.ll [ARM] Tone down the MVE scalarization overhead 2021-03-19 18:30:11 +00:00
mve-selectandorcost.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
mve-shiftcost.ll
mve-vldn.ll
pointer_iv.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
prefer-tail-loop-folding.ll
scalar-block-cost.ll
sphinx.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
tail-fold-multiple-icmps.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
tail-folding-allowed.ll
tail-folding-counting-down.ll
tail-folding-loop-hint.ll
tail-folding-not-allowed.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
tail-folding-prefer-flag.ll
tail-folding-reduces-vf.ll
tail-folding-reductions-allowed.ll
tail-folding-scalar-epilogue-fallback.ll [LV] Mark increment of main vector loop induction variable as NUW. 2021-06-07 10:47:52 +01:00
vector_cast.ll
width-detect.ll