mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
remove the private hack from CallInst, it was not supposed to hit the branch anyway
as a positive consequence the CallSite::getCallee() methods now can be rewritten to be a bit more efficient llvm-svn: 110380
This commit is contained in:
parent
aeaf73ecb2
commit
f2465b8757
@ -941,28 +941,8 @@ public:
|
||||
unsigned(isTC));
|
||||
}
|
||||
|
||||
/// @deprecated these "define hacks" will go away soon
|
||||
/// @brief coerce out-of-tree code to abandon the low-level interfaces
|
||||
/// @detail see below comments and update your code to high-level interfaces
|
||||
/// - getOperand(0) ---> getCalledValue(), or possibly getCalledFunction
|
||||
/// - setOperand(0, V) ---> setCalledFunction(V)
|
||||
///
|
||||
/// in LLVM v2.8-only code
|
||||
/// - getOperand(N+1) ---> getArgOperand(N)
|
||||
/// - setOperand(N+1, V) ---> setArgOperand(N, V)
|
||||
/// - getNumOperands() ---> getNumArgOperands()+1 // note the "+1"!
|
||||
///
|
||||
/// in backward compatible code please consult llvm/Support/CallSite.h,
|
||||
/// you should create a callsite using the CallInst pointer and call its
|
||||
/// methods
|
||||
///
|
||||
# define public private
|
||||
# define protected private
|
||||
/// Provide fast operand accessors
|
||||
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
|
||||
# undef public
|
||||
# undef protected
|
||||
public:
|
||||
|
||||
/// getNumArgOperands - Return the number of call arguments.
|
||||
///
|
||||
|
@ -261,13 +261,10 @@ private:
|
||||
}
|
||||
|
||||
IterTy getCallee() const {
|
||||
// FIXME: this is slow, since we do not have the fast versions
|
||||
// of the op_*() functions here. See CallSite::getCallee.
|
||||
//
|
||||
if (isCall())
|
||||
return getInstruction()->op_end() - 1; // Skip Callee
|
||||
else
|
||||
return getInstruction()->op_end() - 3; // Skip BB, BB, Callee
|
||||
if (isCall()) // Skip Callee
|
||||
return cast<CallInst>(getInstruction())->op_end() - 1;
|
||||
else // Skip BB, BB, Callee
|
||||
return cast<InvokeInst>(getInstruction())->op_end() - 3;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -33,7 +33,7 @@ using namespace llvm;
|
||||
User::op_iterator CallSite::getCallee() const {
|
||||
Instruction *II(getInstruction());
|
||||
return isCall()
|
||||
? cast</*FIXME: CallInst*/User>(II)->op_end() - 1 // Skip Callee
|
||||
? cast<CallInst>(II)->op_end() - 1 // Skip Callee
|
||||
: cast<InvokeInst>(II)->op_end() - 3; // Skip BB, BB, Callee
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user