mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-21 18:29:45 +00:00
Check for empty YMM use-def lists in X86VZeroUpper.
The previous MRI.isPhysRegUsed(YMM0) would also return true when the function contains a call to a function that may clobber YMM0. That's most of them. Checking the use-def chains allows us to skip functions that don't explicitly mention YMM registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166110 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e4b33a115b
commit
9d57cdfa17
@ -147,7 +147,7 @@ bool VZeroUpperInserter::runOnMachineFunction(MachineFunction &MF) {
|
||||
const TargetRegisterClass *RC = &X86::VR256RegClass;
|
||||
for (TargetRegisterClass::iterator i = RC->begin(), e = RC->end();
|
||||
i != e; i++) {
|
||||
if (MRI.isPhysRegUsed(*i)) {
|
||||
if (!MRI.reg_nodbg_empty(*i)) {
|
||||
YMMUsed = true;
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user