aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/InstrEmitter.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
commite9a62547cf624ee5bc2090c326fc90d52d997f3d (patch)
tree98142a3c2b72e7d6a92983a7994436c21fa323f5 /lib/CodeGen/SelectionDAG/InstrEmitter.cpp
parent3a252e9abf5bab6730e925c806d046016d9cb0ba (diff)
downloadexternal_llvm-e9a62547cf624ee5bc2090c326fc90d52d997f3d.zip
external_llvm-e9a62547cf624ee5bc2090c326fc90d52d997f3d.tar.gz
external_llvm-e9a62547cf624ee5bc2090c326fc90d52d997f3d.tar.bz2
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/SelectionDAG/InstrEmitter.cpp')
0 files changed, 0 insertions, 0 deletions