hanchenye-llvm-project/llvm/lib/Transforms/InstCombine
Chandler Carruth 83ba269e4b [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.

llvm-svn: 226987
2015-01-24 04:19:17 +00:00
..
CMakeLists.txt
InstCombineAddSub.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineAndOrXor.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineCalls.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineCasts.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineCompares.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineInternal.h [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
InstCombineLoadStoreAlloca.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineMulDivRem.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombinePHI.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineSelect.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineShifts.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineSimplifyDemanded.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineVectorOps.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstructionCombining.cpp [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
Makefile