llvm-6502/lib/Transforms/Utils
Louis Gerbarg c0adfbb49d Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost
Since ExtractValue is not included in ComputeSpeculationCost CFGs containing
ExtractValueInsts cannot be simplified. In particular this interacts with
InstCombineCompare's tendency to insert add.with.overflow intrinsics for
certain idiomatic math operations, preventing optimization.

This patch adds ExtractValue to the ComputeSpeculationCost. Test case included

rdar://14853450

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208434 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-09 17:02:46 +00:00
..
AddDiscriminators.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
ASanStackFrameLayout.cpp
BasicBlockUtils.cpp Fix rampant quadratic behavior in UpdatePHINodes. The operation of 2014-04-28 10:37:30 +00:00
BreakCriticalEdges.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
BuildLibCalls.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
BypassSlowDivision.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CloneFunction.cpp Patch for function cloning to inline all blocks whose address is taken 2014-04-30 22:05:02 +00:00
CloneModule.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CMakeLists.txt Teach GlobalDCE how to remove empty global_ctor entries. 2014-05-02 18:35:25 +00:00
CmpInstAnalysis.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CodeExtractor.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
CtorUtils.cpp Re-commit r208025, reverted in r208030, with a fix for a conformance issue 2014-05-06 01:44:26 +00:00
DemoteRegToStack.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
FlattenCFG.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
GlobalStatus.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InlineFunction.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
InstructionNamer.cpp
IntegerDivision.cpp
LCSSA.cpp
LLVMBuild.txt
Local.cpp Use auto and clang-format this snippet. 2014-05-09 16:01:06 +00:00
LoopSimplify.cpp Fix a typo in comment 2014-04-29 07:35:33 +00:00
LoopUnroll.cpp Add optimization remarks to the loop unroller and vectorizer. 2014-04-29 14:27:31 +00:00
LoopUnrollRuntime.cpp [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
LowerExpectIntrinsic.cpp
LowerInvoke.cpp
LowerSwitch.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Makefile
Mem2Reg.cpp
MetaRenamer.cpp
ModuleUtils.cpp
PromoteMemoryToRegister.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
SimplifyCFG.cpp Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost 2014-05-09 17:02:46 +00:00
SimplifyIndVar.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
SimplifyInstructions.cpp RecursivelyDeleteTriviallyDeadInstructions() could remove 2014-04-26 05:58:11 +00:00
SimplifyLibCalls.cpp Fold strlen(expr ? "str1" : "str2") to x ? len1 : len2. This fires about 330 times in a bootstrap of clang. 2014-05-02 04:11:45 +00:00
SpecialCaseList.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
SSAUpdater.cpp [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
UnifyFunctionExitNodes.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00
Utils.cpp
ValueMapper.cpp [C++] Use 'nullptr'. Transforms edition. 2014-04-25 05:29:35 +00:00