From d3b2321f78974063f2ca01e91725496f29a36918 Mon Sep 17 00:00:00 2001 From: Sjoerd Meijer Date: Wed, 14 Sep 2016 14:32:17 +0000 Subject: [PATCH] MCInstrDesc: this fixes an issue setting/getting member Flags, which is an uint64_t. However, getter function getFlags returned an unsigned, and in function hasProperty (1 << MCFlag) was used instead of (1ULL << MCFlag). llvm-svn: 281483 --- llvm/include/llvm/CodeGen/MachineInstr.h | 4 ++-- llvm/include/llvm/MC/MCInstrDesc.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/include/llvm/CodeGen/MachineInstr.h b/llvm/include/llvm/CodeGen/MachineInstr.h index 3870a1f..3da62a3 100644 --- a/llvm/include/llvm/CodeGen/MachineInstr.h +++ b/llvm/include/llvm/CodeGen/MachineInstr.h @@ -391,10 +391,10 @@ public: bool hasProperty(unsigned MCFlag, QueryType Type = AnyInBundle) const { // Inline the fast path for unbundled or bundle-internal instructions. if (Type == IgnoreBundle || !isBundled() || isBundledWithPred()) - return getDesc().getFlags() & (1 << MCFlag); + return getDesc().getFlags() & (1ULL << MCFlag); // If this is the first instruction in a bundle, take the slow path. - return hasPropertyInBundle(1 << MCFlag, Type); + return hasPropertyInBundle(1ULL << MCFlag, Type); } /// Return true if this instruction can have a variable number of operands. diff --git a/llvm/include/llvm/MC/MCInstrDesc.h b/llvm/include/llvm/MC/MCInstrDesc.h index d7887ef..340d825 100644 --- a/llvm/include/llvm/MC/MCInstrDesc.h +++ b/llvm/include/llvm/MC/MCInstrDesc.h @@ -216,7 +216,7 @@ public: unsigned getNumDefs() const { return NumDefs; } /// \brief Return flags of this instruction. - unsigned getFlags() const { return Flags; } + uint64_t getFlags() const { return Flags; } /// \brief Return true if this instruction can have a variable number of /// operands. In this case, the variable operands will be after the normal -- 2.7.4