[llvm-commits] [llvm] r171735 - in /llvm/trunk: include/llvm/Analysis/ include/llvm/Transforms/ lib/Analysis/ lib/CodeGen/ lib/Transforms/Scalar/ test/Transforms/LoopStrengthReduce/ test/Transforms/LoopStrengthReduce/X86/

Chris Lattner clattner at apple.com
Mon Jan 7 16:53:17 PST 2013


On Jan 7, 2013, at 6:41 AM, Chandler Carruth <chandlerc at gmail.com> wrote:
> URL: http://llvm.org/viewvc/llvm-project?rev=171735&view=rev
> Log:
> Switch the SCEV expander and LoopStrengthReduce to use
> TargetTransformInfo rather than TargetLowering, removing one of the
> primary instances of the layering violation of Transforms depending
> directly on Target.

This is soo great!

> be created by the backend. No longer is this true. LSR is now just
> a normal pass and we should probably lift the creation of LSR out of
> lib/CodeGen/Passes.cpp and into the PassManagerBuilder. =] I've not done

I'm not sure this is a good idea.  One nice thing about the current design is that "clang -emit-llvm" doesn't produce maximally target-specific code like LSR likes to produce.  We also really don't want to run LSR before LTO optimizations.

-Chris




More information about the llvm-commits mailing list