diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2019-08-07 09:41:50 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2019-08-07 09:41:50 +0000 |
commit | 9bece444dd5056ba437623d4d2baa5b237c9980c (patch) | |
tree | 06641934b4b035e3badd1325466fd9ec457573ca /llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp | |
parent | 12d21fc1284560c533d5a92c0966742d2a252a5b (diff) | |
download | llvm-9bece444dd5056ba437623d4d2baa5b237c9980c.zip llvm-9bece444dd5056ba437623d4d2baa5b237c9980c.tar.gz llvm-9bece444dd5056ba437623d4d2baa5b237c9980c.tar.bz2 |
[InstCombine] Recommit: Shift amount reassociation: shl-trunc-shl pattern
This was initially committed in r368059 but got reverted in r368084
because there was a faulty logic in how the shift amounts type mismatch
was being handled (it simply wasn't).
I've added an explicit bailout before we SimplifyAddInst() - i don't think
it's designed in general to handle differently-typed values, even though
the actual problem only comes from ConstantExpr's.
I have also changed the common type deduction, to not just blindly
look past zext, but try to do that so that in the end types match.
Differential Revision: https://reviews.llvm.org/D65380
llvm-svn: 368141
Diffstat (limited to 'llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp')
0 files changed, 0 insertions, 0 deletions