llvm-project/llvm/lib/Transforms/Utils
Chad Rosier b7dfbb40a3 [ValueTracking] Improve isImpliedCondition for conditions with matching operands.
This patch improves SimplifyCFG to catch cases like:

  if (a < b) {
    if (a > b) <- known to be false
      unreachable;
  }

Phabricator Revision: http://reviews.llvm.org/D18905

llvm-svn: 266767
2016-04-19 17:19:14 +00:00
..
ASanStackFrameLayout.cpp Update to use new name alignTo(). 2016-01-14 21:06:47 +00:00
AddDiscriminators.cpp Fix null pointer access for discriminator assignment. 2016-04-14 19:46:38 +00:00
BasicBlockUtils.cpp [LV] Preserve LoopInfo when store predication is used 2016-03-15 18:06:20 +00:00
BreakCriticalEdges.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
BuildLibCalls.cpp Fix Clang-tidy readability-redundant-control-flow warnings; other minor fixes. 2016-02-02 18:20:45 +00:00
BypassSlowDivision.cpp Clarify that the bypassSlowDivision optimization operates on a single BB [v2] 2016-01-04 23:18:58 +00:00
CMakeLists.txt Add a pass to name anonymous/nameless function 2016-04-12 21:35:28 +00:00
CloneFunction.cpp Transforms: Try harder to fix bootstrap after r266565 2016-04-17 20:11:09 +00:00
CloneModule.cpp Preserve extern_weak linkage in CloneModule. 2016-03-31 20:21:31 +00:00
CmpInstAnalysis.cpp
CodeExtractor.cpp [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
CtorUtils.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
DemoteRegToStack.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
Evaluator.cpp Don't IPO over functions that can be de-refined 2016-04-08 00:48:30 +00:00
FlattenCFG.cpp LPM: Stop threading `Pass *` through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
FunctionImportUtils.cpp ThinLTO renaming: use module hash instead of position in the summary 2016-04-11 23:26:46 +00:00
GlobalStatus.cpp NFC: make AtomicOrdering an enum class 2016-04-06 21:19:33 +00:00
InlineFunction.cpp Maintain calling convention when inling calls to llvm.deoptimize 2016-04-09 00:22:59 +00:00
InstructionNamer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntegerDivision.cpp TransformUtils: Avoid getNodePtrUnchecked() in integer division, NFC 2016-02-21 20:14:29 +00:00
LCSSA.cpp [AA] Preserve the AA results wrapper pass as well as BasicAA in a few 2016-02-19 03:12:14 +00:00
LLVMBuild.txt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
Local.cpp [RS4GC] Lower calls to @llvm.experimental.deoptimize 2016-03-25 20:12:13 +00:00
LoopSimplify.cpp [LoopSimplify] Reuse changeToUnreachable 2016-01-24 19:32:52 +00:00
LoopUnroll.cpp Follow-up for r265605: don't mutate vector we're iterating. 2016-04-07 00:09:42 +00:00
LoopUnrollRuntime.cpp Transforms: Fix bootstrap after r266565 2016-04-17 19:26:49 +00:00
LoopUtils.cpp [LoopUtils, LV] Fix PR27246 (first-order recurrences) 2016-04-11 19:48:18 +00:00
LoopVersioning.cpp [LoopVersioning] Relax an assert for LCSSA PHIs 2016-03-22 18:38:15 +00:00
LowerInvoke.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LowerSwitch.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
Mem2Reg.cpp [Mem2Reg] Respect optnone 2015-12-11 13:36:59 +00:00
MemorySSA.cpp Correct IDF calculator for ReverseIDF 2016-04-19 06:13:28 +00:00
MetaRenamer.cpp Whoops, remove trailing whitespace. 2015-08-27 05:37:12 +00:00
ModuleUtils.cpp [ModuleUtils] Use range-based loop. NFC. 2016-03-23 00:43:35 +00:00
NameAnonFunctions.cpp Fix mismatch on returned type between header and implementation for createNameAnonFunctionPass() 2016-04-12 23:25:11 +00:00
PromoteMemoryToRegister.cpp Correct IDF calculator for ReverseIDF 2016-04-19 06:13:28 +00:00
SSAUpdater.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SanitizerStats.cpp Fix Clang-tidy modernize-use-nullptr and modernize-use-override warnings; other minor fixes. 2016-01-26 18:48:36 +00:00
SimplifyCFG.cpp [ValueTracking] Improve isImpliedCondition for conditions with matching operands. 2016-04-19 17:19:14 +00:00
SimplifyIndVar.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SimplifyInstructions.cpp [Utils] Put includes in correct order. NFC. 2015-11-24 18:57:06 +00:00
SimplifyLibCalls.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SplitModule.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
SymbolRewriter.cpp Make some headers self-contained, remove unused includes that violate layering. 2016-01-27 16:05:37 +00:00
UnifyFunctionExitNodes.cpp TransformUtils: Remove implicit ilist iterator conversions, NFC 2015-10-13 02:39:05 +00:00
Utils.cpp Add a pass to name anonymous/nameless function 2016-04-12 21:35:28 +00:00
ValueMapper.cpp Linker: Don't double-schedule appending variables 2016-04-17 19:40:20 +00:00