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 /clang/lib/FrontendTool/ExecuteCompilerInvocation.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 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions