aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2021-03-25 10:01:52 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2021-03-25 10:18:44 +0000
commit9fde88c3e21cc552af5fbb0b016fe186bad5c0f5 (patch)
tree27190c337f4a0dedc0f7c1f386804a54067192c4 /clang/lib/Frontend/CompilerInvocation.cpp
parentd9abcdd9f471ab0d986197e94498a5cf90aa12ef (diff)
downloadllvm-9fde88c3e21cc552af5fbb0b016fe186bad5c0f5.zip
llvm-9fde88c3e21cc552af5fbb0b016fe186bad5c0f5.tar.gz
llvm-9fde88c3e21cc552af5fbb0b016fe186bad5c0f5.tar.bz2
[X86][AVX] splitIntVSETCC - handle separate (canonicalized) SETCC operands
LowerVSETCC calls splitIntVSETCC after canonicalizing certain patterns, in particular (X & CPow2 != 0) -> (X & CPow2 == CPow2). Unfortunately if we're splitting for AVX1/non-AVX512BW cases, we lose these canonicalizations as we call the split with the original SetCC node, and when the split nodes are later lowered in LowerVSETCC the patterns are lost behind extract_subvector etc. But if we pass the canonicalized operands for splitting we retain the optimizations. Differential Revision: https://reviews.llvm.org/D99256
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions