diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-05-03 22:31:24 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-05-03 22:31:24 +0000 |
commit | 2944b4fe059b727b1cbd2b85013610de137fac02 (patch) | |
tree | 9ffc381bf42a19fc4ba3911773826812dda7bb05 /test | |
parent | feaf34758ab7b4bf87ebc29f7381e536e7eb501d (diff) | |
download | external_llvm-2944b4fe059b727b1cbd2b85013610de137fac02.zip external_llvm-2944b4fe059b727b1cbd2b85013610de137fac02.tar.gz external_llvm-2944b4fe059b727b1cbd2b85013610de137fac02.tar.bz2 |
Mark ultra-super-registers QQQQ as call-clobbered instead of the D sub-registers.
LiveVariables doesn't understand that clobbering D0 and D1 completely overwrites
Q0, so if Q0 is live-in to a function, its live range will extend beyond a
function call that only clobbers D0 and D1. This shows up in the
ARM/2009-11-01-NeonMoves test case.
LiveVariables should probably implement the much stricter rules for physreg
liveness that RAFast imposes - a physreg is killed by the first use of any
alias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130801 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions