diff options
| author | Bill Wendling <isanbard@gmail.com> | 2010-06-09 19:00:55 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2010-06-09 19:00:55 +0000 |
| commit | e9a62547cf624ee5bc2090c326fc90d52d997f3d (patch) | |
| tree | 98142a3c2b72e7d6a92983a7994436c21fa323f5 /lib/CodeGen/SelectionDAG/InstrEmitter.cpp | |
| parent | 3a252e9abf5bab6730e925c806d046016d9cb0ba (diff) | |
| download | external_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
