diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-12-07 07:15:52 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-12-07 07:15:52 +0000 |
commit | 7f8e563a691bf2dbe11132ad35b5e94a5b1b5325 (patch) | |
tree | f40b4bc891ec71ea6174ad0aa11bec07ffcab026 /llvm/lib/Target/X86/X86VZeroUpper.cpp | |
parent | 421caa42781e9b3af5bb3ddab9729493707d1a94 (diff) | |
download | bcm5719-llvm-7f8e563a691bf2dbe11132ad35b5e94a5b1b5325.tar.gz bcm5719-llvm-7f8e563a691bf2dbe11132ad35b5e94a5b1b5325.zip |
Add bundle aware API for querying instruction properties and switch the code
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
llvm-svn: 146026
Diffstat (limited to 'llvm/lib/Target/X86/X86VZeroUpper.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86VZeroUpper.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86VZeroUpper.cpp b/llvm/lib/Target/X86/X86VZeroUpper.cpp index 9bb54a826bd..f8c30eb9b90 100644 --- a/llvm/lib/Target/X86/X86VZeroUpper.cpp +++ b/llvm/lib/Target/X86/X86VZeroUpper.cpp @@ -220,7 +220,7 @@ bool VZeroUpperInserter::processBasicBlock(MachineFunction &MF, for (MachineBasicBlock::iterator I = BB.begin(); I != BB.end(); ++I) { MachineInstr *MI = I; DebugLoc dl = I->getDebugLoc(); - bool isControlFlow = MI->getDesc().isCall() || MI->getDesc().isReturn(); + bool isControlFlow = MI->isCall() || MI->isReturn(); // Shortcut: don't need to check regular instructions in dirty state. if (!isControlFlow && CurState == ST_DIRTY) |