Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost
authorLouis Gerbarg <lgg@apple.com>
Fri, 9 May 2014 17:02:46 +0000 (17:02 +0000)
committerLouis Gerbarg <lgg@apple.com>
Fri, 9 May 2014 17:02:46 +0000 (17:02 +0000)
commitc0adfbb49d674dc04f39536151f05cc6a5e9e5fb
treef6a64323ac2df81442e21472d0cfec5a325a4917
parent3f26d366a48c0c1efd61837b26e09c598cd574dd
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
lib/Transforms/Utils/SimplifyCFG.cpp
test/Transforms/SimplifyCFG/extract-cost.ll [new file with mode: 0644]