OSDN Git Service

[FastISel][AArch64] Use the correct register class to make the MI verifier happy.
authorJuergen Ributzka <juergen@apple.com>
Thu, 21 Aug 2014 20:57:57 +0000 (20:57 +0000)
committerJuergen Ributzka <juergen@apple.com>
Thu, 21 Aug 2014 20:57:57 +0000 (20:57 +0000)
commit5d6365c80c58b2f544eb1d927875d07f46e59a26
tree5eeb793f417c034272ea99fdc67e3dfa29e46501
parent95ca0fb2474fbc79be19bde718096de4ae9df82f
[FastISel][AArch64] Use the correct register class to make the MI verifier happy.

This is mostly achieved by providing the correct register class manually,
because getRegClassFor always returns the GPR*AllRegClass for MVT::i32 and
MVT::i64.

Also cleanup the code to use the FastEmitInst_* method whenever possible. This
makes sure that the operands' register class is properly constrained. For all
the remaining cases this adds the missing constrainOperandRegClass calls for
each operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216225 91177308-0d34-0410-b5e6-96231b3b80d8
28 files changed:
lib/Target/AArch64/AArch64FastISel.cpp
test/CodeGen/AArch64/arm64-2012-06-06-FPToUI.ll
test/CodeGen/AArch64/arm64-EXT-undef-mask.ll
test/CodeGen/AArch64/arm64-abi.ll
test/CodeGen/AArch64/arm64-fast-isel-addr-offset.ll
test/CodeGen/AArch64/arm64-fast-isel-alloca.ll
test/CodeGen/AArch64/arm64-fast-isel-br.ll
test/CodeGen/AArch64/arm64-fast-isel-call.ll
test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll
test/CodeGen/AArch64/arm64-fast-isel-gv.ll
test/CodeGen/AArch64/arm64-fast-isel-icmp.ll
test/CodeGen/AArch64/arm64-fast-isel-indirectbr.ll
test/CodeGen/AArch64/arm64-fast-isel-intrinsic.ll
test/CodeGen/AArch64/arm64-fast-isel-noconvert.ll
test/CodeGen/AArch64/arm64-fast-isel-rem.ll
test/CodeGen/AArch64/arm64-fast-isel-ret.ll
test/CodeGen/AArch64/arm64-fast-isel-select.ll
test/CodeGen/AArch64/arm64-fast-isel-store.ll
test/CodeGen/AArch64/arm64-fast-isel.ll
test/CodeGen/AArch64/arm64-xaluo.ll
test/CodeGen/AArch64/fast-isel-addressing-modes.ll
test/CodeGen/AArch64/fast-isel-branch_weights.ll
test/CodeGen/AArch64/fast-isel-call-return.ll
test/CodeGen/AArch64/fast-isel-mul.ll
test/CodeGen/AArch64/fast-isel-shift.ll
test/CodeGen/AArch64/fast-isel-sqrt.ll
test/CodeGen/AArch64/frameaddr.ll