llvm-project/llvm/test/Transforms/SimplifyCFG/X86
Roman Lebedev dd0170ab24 [SimplifyCFG] mergeConditionalStoreToAddress(): consider cost, not instruction count
Summary:
As it can be see in the changed test, while `div` is really costly,
we were speculating it. This does not seem correct.

Also, the old code would run for every single insturuction in BB,
instead of eagerly bailing out as soon as there are too many instructions.

This function still has a problem that `PHINodeFoldingThreshold` is
per-basic-block, while it should be for all the basic blocks.

Reviewers: efriedma, craig.topper, dmgreen, jmolloy

Reviewed By: jmolloy

Subscribers: xbolva00, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67315

llvm-svn: 372255
2019-09-18 19:46:57 +00:00
..
disable-lookup-table.ll [SimplifyCFG] NFC, update Switch tests as a baseline. 2019-06-13 19:36:38 +00:00
lit.local.cfg [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
merge-cond-stores-cost.ll [SimplifyCFG] mergeConditionalStoreToAddress(): consider cost, not instruction count 2019-09-18 19:46:57 +00:00
speculate-cttz-ctlz.ll [SimplifyCFG] FoldTwoEntryPHINode(): consider *total* speculation cost, not per-BB cost 2019-09-16 16:18:24 +00:00
switch-covered-bug.ll [SimplifyCFG] NFC, update Switch tests as a baseline. 2019-06-13 19:36:38 +00:00
switch-table-bug.ll [SimplifyCFG] NFC, update Switch tests as a baseline. 2019-06-13 19:36:38 +00:00
switch_to_lookup_table.ll [SimplifyCFG] FoldTwoEntryPHINode(): consider *total* speculation cost, not per-BB cost 2019-09-16 16:18:24 +00:00