]> granicus.if.org Git - llvm/commit
[GlobalISel][IRTranslator] Fix some PHI bugs related to jump tables when optimization...
authorAmara Emerson <aemerson@apple.com>
Thu, 27 Jun 2019 23:56:34 +0000 (23:56 +0000)
committerAmara Emerson <aemerson@apple.com>
Thu, 27 Jun 2019 23:56:34 +0000 (23:56 +0000)
commitb9f4ed67526d04b56c639627121aace779abaf64
treeb9e3d5382d2ab246e7a695403f68993254229127
parenta7789c6bb3ee54f194ad10fd697ebf490591a0e2
[GlobalISel][IRTranslator] Fix some PHI bugs related to jump tables when optimizations are used.

The new switch lowering code that tries to generate jump tables and range checks
were tested at -O0 on arm64, but on -O3 the generic switch lowering code goes to
town on trying to generate optimized lowerings, e.g. multiple jump tables, range
checks etc. This exposed bugs in the way PHI nodes are handled because the CFG
looks even stranger after all of this is done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364613 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/GlobalISel/IRTranslator.h
lib/CodeGen/GlobalISel/IRTranslator.cpp
test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll