[PATCH] D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only]
Larisse Voufo via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 23 17:40:49 PST 2015
lvoufo retitled this revision from "Use @llvm.invariant.start/end intrinsics to extend the meaning of basic AA's pointsToConstantMemory(), for GVN-based load elimination purposes [Local objects only]" to "Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only]".
lvoufo updated the summary for this revision.
lvoufo added a reviewer: hfinkel.
lvoufo updated this revision to Diff 43568.
lvoufo added a comment.
I will be running benchmarks over next week and keep you posted. For now, I just want to see if this is headed in the right direction... Please let me know what you think.
Note: This patch does not fully implement the PostDominatorTree pass for use with the new pass manager.
If this patch is viable, then I will have to fully migrate the PostDominatorTree from the legacy to the new pass manager before pushing this is in.
Later patches will also adapt the logic of InvariantInfo::pointsToReadOnlyMemory() to other (applicable) uses of basic AA's pointsToConstantMemory(), e.g, in FunctionAttrs, LICM, for other kinds of instructions, etc... (See included FIXMEs/TODOs.)
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 65406 bytes
Desc: not available
More information about the llvm-commits