diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-09-29 18:27:28 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-09-29 18:27:42 +0100 |
commit | 0cf48a70651c722a5dabf0ca8ca246b110d7c2ab (patch) | |
tree | 23f8de391ec5016afd4fc50d8af5f0cd9cacb847 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 259bb61c118bd7d15c3329ffb2daa9ceaea7302f (diff) | |
download | llvm-0cf48a70651c722a5dabf0ca8ca246b110d7c2ab.zip llvm-0cf48a70651c722a5dabf0ca8ca246b110d7c2ab.tar.gz llvm-0cf48a70651c722a5dabf0ca8ca246b110d7c2ab.tar.bz2 |
[InstCombine] visitTrunc - trunc (*shr (trunc A), C) --> trunc(*shr A, C)
Attempt to fold trunc (*shr (trunc A), C) --> trunc(*shr A, C) iff the shift amount if small enough that all zero/sign bits created by the shift are removed by the last trunc.
Helps fix the regressions encountered in D88316.
I've tweaked a couple of shift values as suggested by @lebedev.ri to ensure we have coverage of shift values close (above/below) to the max limit.
Differential Revision: https://reviews.llvm.org/D88429
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions