Passes make check. No performance/functionality change.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Transforms/Scalar/LoopIdiomRecognize.cpp | ||
---|---|---|
605 | This arithmetic is hard to follow... which is why it was written with the vector in the first place. If you're really unhappy with memory allocation, maybe try using iterators? Something like auto SLRef = makeArrayRef(SL); for (StoreInst *k : concat(SLRef.slice(i+1), reverse(SLRef.slice(0, i - 1)))) |
lib/Transforms/Scalar/LoopIdiomRecognize.cpp | ||
---|---|---|
605 | Ok, then I'll abandon this patch. |
This arithmetic is hard to follow... which is why it was written with the vector in the first place.
If you're really unhappy with memory allocation, maybe try using iterators? Something like auto SLRef = makeArrayRef(SL); for (StoreInst *k : concat(SLRef.slice(i+1), reverse(SLRef.slice(0, i - 1))))