projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mark the eh.typeid.for intrinsic as being 'const', which it is inside
[oota-llvm.git]
/
include
/
llvm
/
Instruction.h
diff --git
a/include/llvm/Instruction.h
b/include/llvm/Instruction.h
index 45959ccc6e59acee127e3af07cfdbf17e9d2d0aa..934e890151f0cc18e8f2f7882b6666f761903c78 100644
(file)
--- a/
include/llvm/Instruction.h
+++ b/
include/llvm/Instruction.h
@@
-189,7
+189,7
@@
private:
void getAllMetadataImpl(SmallVectorImpl<std::pair<unsigned,MDNode*> > &)const;
void getAllMetadataOtherThanDebugLocImpl(SmallVectorImpl<std::pair<unsigned,
MDNode*> > &) const;
void getAllMetadataImpl(SmallVectorImpl<std::pair<unsigned,MDNode*> > &)const;
void getAllMetadataOtherThanDebugLocImpl(SmallVectorImpl<std::pair<unsigned,
MDNode*> > &) const;
- void
removeAllMetadata
();
+ void
clearMetadataHashEntries
();
public:
//===--------------------------------------------------------------------===//
// Predicates and helper methods.
public:
//===--------------------------------------------------------------------===//
// Predicates and helper methods.
@@
-200,11
+200,10
@@
public:
///
/// Associative operators satisfy: x op (y op z) === (x op y) op z
///
///
/// Associative operators satisfy: x op (y op z) === (x op y) op z
///
- /// In LLVM, the Add, Mul, And, Or, and Xor operators are associative, when
- /// not applied to floating point types.
+ /// In LLVM, the Add, Mul, And, Or, and Xor operators are associative.
///
///
- bool isAssociative() const { return isAssociative(getOpcode()
, getType()
); }
- static bool isAssociative(unsigned op
, const Type *Ty
);
+ bool isAssociative() const { return isAssociative(getOpcode()); }
+ static bool isAssociative(unsigned op);
/// isCommutative - Return true if the instruction is commutative:
///
/// isCommutative - Return true if the instruction is commutative:
///
@@
-224,6
+223,13
@@
public:
///
bool mayReadFromMemory() const;
///
bool mayReadFromMemory() const;
+ /// mayReadOrWriteMemory - Return true if this instruction may read or
+ /// write memory.
+ ///
+ bool mayReadOrWriteMemory() const {
+ return mayReadFromMemory() || mayWriteToMemory();
+ }
+
/// mayThrow - Return true if this instruction may throw an exception.
///
bool mayThrow() const;
/// mayThrow - Return true if this instruction may throw an exception.
///
bool mayThrow() const;
@@
-366,9
+372,9
@@
protected:
return getSubclassDataFromValue() & ~HasMetadataBit;
}
return getSubclassDataFromValue() & ~HasMetadataBit;
}
- Instruction(
const
Type *Ty, unsigned iType, Use *Ops, unsigned NumOps,
+ Instruction(Type *Ty, unsigned iType, Use *Ops, unsigned NumOps,
Instruction *InsertBefore = 0);
Instruction *InsertBefore = 0);
- Instruction(
const
Type *Ty, unsigned iType, Use *Ops, unsigned NumOps,
+ Instruction(Type *Ty, unsigned iType, Use *Ops, unsigned NumOps,
BasicBlock *InsertAtEnd);
virtual Instruction *clone_impl() const = 0;
BasicBlock *InsertAtEnd);
virtual Instruction *clone_impl() const = 0;