aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/TwoAddressInstructionPass.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-06-09 19:00:55 +0000
committerBill Wendling <isanbard@gmail.com>2010-06-09 19:00:55 +0000
commitd64ba3ee62cc854218d9b76b9420493d82313d06 (patch)
tree98142a3c2b72e7d6a92983a7994436c21fa323f5 /lib/CodeGen/TwoAddressInstructionPass.cpp
parent1d451dff63e9c4241794a3645dfe4ee67efe5b22 (diff)
It's an error to translate this:
%reg1025 = <sext> %reg1024 ... %reg1026 = SUBREG_TO_REG 0, %reg1024, 4 into this: %reg1025 = <sext> %reg1024 ... %reg1027 = EXTRACT_SUBREG %reg1025, 4 %reg1026 = SUBREG_TO_REG 0, %reg1027, 4 The problem here is that SUBREG_TO_REG is there to assert that an implicit zext occurs. It doesn't insert a zext instruction. If we allow the EXTRACT_SUBREG here, it will give us the value after the <sext>, not the original value of %reg1024 before <sext>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105741 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/TwoAddressInstructionPass.cpp')
0 files changed, 0 insertions, 0 deletions