[LLVMdev] SimplifyCFG vs loops
Krzysztof Parzyszek
kparzysz at codeaurora.org
Wed Oct 17 12:25:03 PDT 2012
On 10/17/2012 2:11 PM, James Courtier-Dutton wrote:
>
> I thing to keep in mind is this is CFG, and can be unstructured, or
> after various transformations, not representable in higher level
> language structures such as while loops.
Having a specific loop structure with specific requirements, such as
single back edge can make loop optimizations (and loop nest
optimizations in particular) a lot simpler (or even possible).
I don't have the specific case right now (I worked on it a while ago),
but it was a case of loop unrolling giving up after SimplifyCFG.
Another thing to keep in mind is that a compiler can shoot itself in the
foot really easily, by performing early optimizations that hide
opportunities for later transformations. This is my main concern here.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-dev
mailing list