projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Split MCELFStreamer into a header file.
[oota-llvm.git]
/
include
/
llvm
/
IntrinsicInst.h
diff --git
a/include/llvm/IntrinsicInst.h
b/include/llvm/IntrinsicInst.h
index a17fa9cc5bdd4236ce202aa1f7f49d3739c52e45..9b2afd56e05f5b098b3b10d4722795216757c497 100644
(file)
--- a/
include/llvm/IntrinsicInst.h
+++ b/
include/llvm/IntrinsicInst.h
@@
-34,9
+34,9
@@
namespace llvm {
/// functions. This allows the standard isa/dyncast/cast functionality to
/// work with calls to intrinsic functions.
class IntrinsicInst : public CallInst {
/// functions. This allows the standard isa/dyncast/cast functionality to
/// work with calls to intrinsic functions.
class IntrinsicInst : public CallInst {
- IntrinsicInst()
; // DO NOT IMPLEMENT
- IntrinsicInst(const IntrinsicInst&)
; // DO NOT IMPLEMENT
- void operator=(const IntrinsicInst&)
; // DO NOT IMPLEMENT
+ IntrinsicInst()
LLVM_DELETED_FUNCTION;
+ IntrinsicInst(const IntrinsicInst&)
LLVM_DELETED_FUNCTION;
+ void operator=(const IntrinsicInst&)
LLVM_DELETED_FUNCTION;
public:
/// getIntrinsicID - Return the intrinsic ID of this intrinsic.
///
public:
/// getIntrinsicID - Return the intrinsic ID of this intrinsic.
///
@@
-45,7
+45,6
@@
namespace llvm {
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const IntrinsicInst *) { return true; }
static inline bool classof(const CallInst *I) {
if (const Function *CF = I->getCalledFunction())
return CF->getIntrinsicID() != 0;
static inline bool classof(const CallInst *I) {
if (const Function *CF = I->getCalledFunction())
return CF->getIntrinsicID() != 0;
@@
-55,14
+54,13
@@
namespace llvm {
return isa<CallInst>(V) && classof(cast<CallInst>(V));
}
};
return isa<CallInst>(V) && classof(cast<CallInst>(V));
}
};
-
+
/// DbgInfoIntrinsic - This is the common base class for debug info intrinsics
///
class DbgInfoIntrinsic : public IntrinsicInst {
public:
// Methods for support type inquiry through isa, cast, and dyn_cast:
/// DbgInfoIntrinsic - This is the common base class for debug info intrinsics
///
class DbgInfoIntrinsic : public IntrinsicInst {
public:
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const DbgInfoIntrinsic *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
switch (I->getIntrinsicID()) {
case Intrinsic::dbg_declare:
static inline bool classof(const IntrinsicInst *I) {
switch (I->getIntrinsicID()) {
case Intrinsic::dbg_declare:
@@
-86,7
+84,6
@@
namespace llvm {
MDNode *getVariable() const { return cast<MDNode>(getArgOperand(1)); }
// Methods for support type inquiry through isa, cast, and dyn_cast:
MDNode *getVariable() const { return cast<MDNode>(getArgOperand(1)); }
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const DbgDeclareInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::dbg_declare;
}
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::dbg_declare;
}
@@
-108,7
+105,6
@@
namespace llvm {
MDNode *getVariable() const { return cast<MDNode>(getArgOperand(2)); }
// Methods for support type inquiry through isa, cast, and dyn_cast:
MDNode *getVariable() const { return cast<MDNode>(getArgOperand(2)); }
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const DbgValueInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::dbg_value;
}
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::dbg_value;
}
@@
-139,6
+135,10
@@
namespace llvm {
return !getVolatileCst()->isZero();
}
return !getVolatileCst()->isZero();
}
+ unsigned getDestAddressSpace() const {
+ return cast<PointerType>(getRawDest()->getType())->getAddressSpace();
+ }
+
/// getDest - This is just like getRawDest, but it strips off any cast
/// instructions that feed it, giving the original input. The returned
/// value is guaranteed to be a pointer.
/// getDest - This is just like getRawDest, but it strips off any cast
/// instructions that feed it, giving the original input. The returned
/// value is guaranteed to be a pointer.
@@
-166,12
+166,11
@@
namespace llvm {
setArgOperand(4, V);
}
setArgOperand(4, V);
}
-
const
Type *getAlignmentType() const {
+ Type *getAlignmentType() const {
return getArgOperand(3)->getType();
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
return getArgOperand(3)->getType();
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const MemIntrinsic *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
switch (I->getIntrinsicID()) {
case Intrinsic::memcpy:
static inline bool classof(const IntrinsicInst *I) {
switch (I->getIntrinsicID()) {
case Intrinsic::memcpy:
@@
-201,7
+200,6
@@
namespace llvm {
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const MemSetInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memset;
}
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memset;
}
@@
-223,6
+221,10
@@
namespace llvm {
/// value is guaranteed to be a pointer.
Value *getSource() const { return getRawSource()->stripPointerCasts(); }
/// value is guaranteed to be a pointer.
Value *getSource() const { return getRawSource()->stripPointerCasts(); }
+ unsigned getSourceAddressSpace() const {
+ return cast<PointerType>(getRawSource()->getType())->getAddressSpace();
+ }
+
void setSource(Value *Ptr) {
assert(getRawSource()->getType() == Ptr->getType() &&
"setSource called with pointer of wrong type!");
void setSource(Value *Ptr) {
assert(getRawSource()->getType() == Ptr->getType() &&
"setSource called with pointer of wrong type!");
@@
-230,7
+232,6
@@
namespace llvm {
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
}
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const MemTransferInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memcpy ||
I->getIntrinsicID() == Intrinsic::memmove;
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memcpy ||
I->getIntrinsicID() == Intrinsic::memmove;
@@
-246,7
+247,6
@@
namespace llvm {
class MemCpyInst : public MemTransferInst {
public:
// Methods for support type inquiry through isa, cast, and dyn_cast:
class MemCpyInst : public MemTransferInst {
public:
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const MemCpyInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memcpy;
}
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memcpy;
}
@@
-260,7
+260,6
@@
namespace llvm {
class MemMoveInst : public MemTransferInst {
public:
// Methods for support type inquiry through isa, cast, and dyn_cast:
class MemMoveInst : public MemTransferInst {
public:
// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const MemMoveInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memmove;
}
static inline bool classof(const IntrinsicInst *I) {
return I->getIntrinsicID() == Intrinsic::memmove;
}
@@
-269,55
+268,47
@@
namespace llvm {
}
};
}
};
- ///
EHExceptionInst - This represents the llvm.eh.exception instruction
.
+ ///
VAStartInst - This represents the llvm.va_start intrinsic
.
///
///
- class
EHException
Inst : public IntrinsicInst {
+ class
VAStart
Inst : public IntrinsicInst {
public:
public:
- // Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const EHExceptionInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
static inline bool classof(const IntrinsicInst *I) {
- return I->getIntrinsicID() == Intrinsic::
eh_exception
;
+ return I->getIntrinsicID() == Intrinsic::
vastart
;
}
static inline bool classof(const Value *V) {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
}
static inline bool classof(const Value *V) {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
+
+ Value *getArgList() const { return const_cast<Value*>(getArgOperand(0)); }
};
};
- ///
EHSelectorInst - This represents the llvm.eh.selector instruction
.
+ ///
VAEndInst - This represents the llvm.va_end intrinsic
.
///
///
- class
EHSelector
Inst : public IntrinsicInst {
+ class
VAEnd
Inst : public IntrinsicInst {
public:
public:
- // Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const EHSelectorInst *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
static inline bool classof(const IntrinsicInst *I) {
- return I->getIntrinsicID() == Intrinsic::
eh_selector
;
+ return I->getIntrinsicID() == Intrinsic::
vaend
;
}
static inline bool classof(const Value *V) {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
}
static inline bool classof(const Value *V) {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
+
+ Value *getArgList() const { return const_cast<Value*>(getArgOperand(0)); }
};
};
- /// MemoryUseIntrinsic - This is the common base class for the memory use
- /// marker intrinsics.
+ /// VACopyInst - This represents the llvm.va_copy intrinsic.
///
///
- class
MemoryUseIntrinsic
: public IntrinsicInst {
+ class
VACopyInst
: public IntrinsicInst {
public:
public:
-
- // Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const MemoryUseIntrinsic *) { return true; }
static inline bool classof(const IntrinsicInst *I) {
static inline bool classof(const IntrinsicInst *I) {
- switch (I->getIntrinsicID()) {
- case Intrinsic::lifetime_start:
- case Intrinsic::lifetime_end:
- case Intrinsic::invariant_start:
- case Intrinsic::invariant_end:
- return true;
- default: return false;
- }
+ return I->getIntrinsicID() == Intrinsic::vacopy;
}
static inline bool classof(const Value *V) {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
}
static inline bool classof(const Value *V) {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
+
+ Value *getDest() const { return const_cast<Value*>(getArgOperand(0)); }
+ Value *getSrc() const { return const_cast<Value*>(getArgOperand(1)); }
};
}
};
}