diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-01-10 18:42:44 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-01-10 18:42:44 +0000 |
commit | 4aebce83212d7271454c8767085645fe11054b44 (patch) | |
tree | 2756929b0903b8ed95bbc7e5cde2dc57980a3bb5 /lib/CodeGen | |
parent | 5e1b31bf5588cd9ea0b16e94fcc1d908e40027e2 (diff) | |
download | external_llvm-4aebce83212d7271454c8767085645fe11054b44.zip external_llvm-4aebce83212d7271454c8767085645fe11054b44.tar.gz external_llvm-4aebce83212d7271454c8767085645fe11054b44.tar.bz2 |
Allow hasProperty() to be called on bundle-internal instructions.
When calling hasProperty() on an instruction inside a bundle, it should
always behave as if IgnoreBundle was passed, and just return properties
for the current instruction.
Only attempt to aggregate bundle properties whan asked about the bundle
header.
The assertion fires on existing ARM test cases without this fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172082 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/MachineInstr.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp index cdf46b6..df82a17 100644 --- a/lib/CodeGen/MachineInstr.cpp +++ b/lib/CodeGen/MachineInstr.cpp @@ -752,6 +752,7 @@ void MachineInstr::addMemOperand(MachineFunction &MF, } bool MachineInstr::hasPropertyInBundle(unsigned Mask, QueryType Type) const { + assert(!isBundledWithPred() && "Must be called on bundle header"); for (MachineBasicBlock::const_instr_iterator MII = this;; ++MII) { if (MII->getDesc().getFlags() & Mask) { if (Type == AnyInBundle) |