[FastIsel][AArch64] Fix previous commit r214844 (Don't perform sign-/zero-extension...
authorJuergen Ributzka <juergen@apple.com>
Tue, 5 Aug 2014 07:31:30 +0000 (07:31 +0000)
committerJuergen Ributzka <juergen@apple.com>
Tue, 5 Aug 2014 07:31:30 +0000 (07:31 +0000)
commit9503327756701e93584c29b66ee634e17cc9268f
treee08f625d00706f97dc6daa859df910f40fe1b8d2
parentbbe649c25084b1b53ca5c33ce7cf62ec7b2c8dcf
[FastIsel][AArch64] Fix previous commit r214844 (Don't perform sign-/zero-extension for function arguments that have already been sign-/zero-extended.)

The original code would fail for unsupported value types like i1, i8, and i16.
This fix changes the code to only create a sub-register copy for i64 value types
and all other types (i1/i8/i16/i32) just use the source register without any
modifications.

getRegClassFor() is now guarded by the i64 value type check, that guarantees
that we always request a register for a valid value type.

llvm-svn: 214848
llvm/lib/Target/AArch64/AArch64FastISel.cpp