diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-10-08 20:20:03 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-10-08 20:20:03 +0000 |
| commit | 513d1213cc9c12fdb6d9939fa53628c46baccc7e (patch) | |
| tree | e5bf03cf7a0418d421689a0ce93fbec100a64bc4 /llvm/lib/Object/Object.cpp | |
| parent | 729abd360ede1d281e55092b637de29a63d5d117 (diff) | |
| download | llvm-513d1213cc9c12fdb6d9939fa53628c46baccc7e.zip llvm-513d1213cc9c12fdb6d9939fa53628c46baccc7e.tar.gz llvm-513d1213cc9c12fdb6d9939fa53628c46baccc7e.tar.bz2 | |
Prevent potential NOREX bug.
A GR8_NOREX virtual register is created when extrating a sub_8bit_hi
sub-register:
%vreg2<def> = COPY %vreg1:sub_8bit_hi; GR8_NOREX:%vreg2 %GR64_ABCD:%vreg1
TEST8ri_NOREX %vreg2, 1, %EFLAGS<imp-def>; GR8_NOREX:%vreg2
If such a live range is ever split, its register class must not be
inflated to GR8. The sub-register copy can only target GR8_NOREX.
I dont have a test case for this theoretical bug.
llvm-svn: 141500
Diffstat (limited to 'llvm/lib/Object/Object.cpp')
0 files changed, 0 insertions, 0 deletions
