]> granicus.if.org Git - llvm/commit
[AArch64] AArch64CondBrTuningPass generates wrong branch instructions
authorAlexandros Lamprineas <alexandros.lamprineas@arm.com>
Wed, 28 Jun 2017 15:09:11 +0000 (15:09 +0000)
committerAlexandros Lamprineas <alexandros.lamprineas@arm.com>
Wed, 28 Jun 2017 15:09:11 +0000 (15:09 +0000)
commitfa3697c0b455747e1ce86006109c726bed7cff06
tree161adf8df7de4e3027e7938c386737e05066bd64
parentfd486726d15070a999d91abd17901a1dcb90f3d2
[AArch64] AArch64CondBrTuningPass generates wrong branch instructions

Some conditional branch instructions generated by this pass are checking
the wrong condition code. The instructions TBZ and TBNZ are transformed
into B.GE and B.LT instead of B.PL and B.MI respectively. They should
only be checking the Negative bit.

Differential Revision: https://reviews.llvm.org/D34743

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306550 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64CondBrTuning.cpp
test/CodeGen/AArch64/cond-br-tuning.ll