summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ScheduleDAG.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-08-05 11:27:07 +0000
committerSanjay Patel <spatel@rotateright.com>2019-08-05 11:27:07 +0000
commiteaf13044bda2f58562a7e5f4ee762e70294299a9 (patch)
treea6ba175317a108d7e60824ee533f93a5b1a56c4b /llvm/lib/CodeGen/ScheduleDAG.cpp
parentc9051861cb29b0d539a42ece13cdf2b133aae19b (diff)
downloadbcm5719-llvm-eaf13044bda2f58562a7e5f4ee762e70294299a9.tar.gz
bcm5719-llvm-eaf13044bda2f58562a7e5f4ee762e70294299a9.zip
[DAGCombiner][x86] prevent infinite loop from truncate/extend transforms
The test case is based on the example from the post-commit thread for: https://reviews.llvm.org/rGc9171bd0a955 This replaces the x86-specific simple-type check from: rL367766 with a check in the DAGCombiner. Adding the check isn't strictly necessary after the fix from: rL367768 ...but it seems likely that we're heading for trouble if we are creating weird types in this transform. I combined the earlier legality check into the initial clause to simplify the code. So we should only try the trunc/sext transform at the earliest combine stage, but we limit the transform to simple types anyway because the TLI hook is probably too lax about what it considers a free truncate. llvm-svn: 367834
Diffstat (limited to 'llvm/lib/CodeGen/ScheduleDAG.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud