llvm-6502/tools/opt
Chandler Carruth 7a98df7f74 [PM] Port instcombine to the new pass manager!
This is exciting as this is a much more involved port. This is
a complex, existing transformation pass. All of the core logic is shared
between both old and new pass managers. Only the access to the analyses
is separate because the actual techniques are separate. This also uses
a bunch of different and interesting analyses and is the first time
where we need to use an analysis across an IR layer.

This also paves the way to expose instcombine utility functions. I've
got a static function that implements the core pass logic over
a function which might be mildly interesting, but more interesting is
likely exposing a routine which just uses instructions *already in* the
worklist and combines until empty.

I've switched one of my favorite instcombine tests to run with both as
well to make sure this keeps working.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226987 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-24 04:19:17 +00:00
..
AnalysisWrappers.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
BreakpointPrinter.cpp Make StringSet::insert return pair<iterator, bool> like other self-associative containers 2014-11-19 02:56:00 +00:00
BreakpointPrinter.h Move more self-contained functionality away from tools/opt/opt.cpp 2014-02-12 16:48:02 +00:00
CMakeLists.txt static link polly into tools 2014-03-14 04:04:14 +00:00
GraphPrinters.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 08:27:28 +00:00
LLVMBuild.txt [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
Makefile [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
NewPMDriver.cpp [PM] Port domtree to the new pass manager (at last). 2015-01-14 10:19:28 +00:00
NewPMDriver.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
opt.cpp [PM] Rework how the TargetLibraryInfo pass integrates with the new pass 2015-01-24 02:06:09 +00:00
Passes.cpp [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
Passes.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
PassPrinters.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 08:27:28 +00:00
PassPrinters.h Move the *PassPrinter into their own module. 2014-02-10 23:34:23 +00:00
PassRegistry.def [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
PrintSCC.cpp SCC: Change clients to use const, NFC 2014-04-25 18:24:50 +00:00