[LLVMdev] Rotated loop identification
Michele Scandale
michele.scandale at gmail.com
Mon Feb 4 10:48:11 PST 2013
Dear all,
I'm working on a late IR target dependent optimization on loops. A part of this
optimization requires to derive "by hand" the trip-count expression of a given
loop. In order to handle correctly these cases I need to check if the loop has
an entry guard or not. The problem I have is that starting from the information
I derive during my analysis (initial IV value, last IV value, comparison kind) I
don't know how to verify if the entry guard is present or not, mainly because
algebraic simplifications changed the entry guard comparison. Being able to know
if a given loop has been rotated would be enough for my purposes but I haven't
found a way to obtain this.
I think that the only way is to track in the IR the information, but I don't
know how to track it in a safe (the information shouldn't be lost) and
transparent way (it should not interfere with the optimizer). Thinking to custom
intrinsics I don't understand how to allow memory optimizations and, at the same
time, prevent the intrinsic elimination or hoisting from the target loop.
I would appreciate any hint on this topic.
Thanks in advance for future replies.
Best regards,
Michele Scandale
More information about the llvm-dev
mailing list