summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-10-05 00:01:48 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-10-05 00:01:48 +0000
commit200a8cef256f6aade13692752a8fa8f6120cf04f (patch)
tree35a0d3109848ca250a7bf7c6d053b0ed40753dc2 /utils
parentb077cf338bd85a6a7397ec88d65278f02f0ed06f (diff)
downloadllvm-200a8cef256f6aade13692752a8fa8f6120cf04f.tar.gz
llvm-200a8cef256f6aade13692752a8fa8f6120cf04f.tar.bz2
llvm-200a8cef256f6aade13692752a8fa8f6120cf04f.tar.xz
Also add <imp-use,kill> flags for redefined super-registers.
For example: %vreg10:dsub_0<def,undef> = COPY %vreg1 %vreg10:dsub_1<def> = COPY %vreg2 is rewritten as: %D2<def> = COPY %D0, %Q1<imp-def> %D3<def> = COPY %D1, %Q1<imp-use,kill>, %Q1<imp-def> The first COPY doesn't care about the previous value of %Q1, so it doesn't read that register. The second COPY is a partial redefinition of %Q1, so it implicitly kills and redefines that register. This makes it possible to recognize instructions that can harmlessly clobber the full super-register. The write and don't read the super-register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141139 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
0 files changed, 0 insertions, 0 deletions