#include "llvm/IntrinsicInst.h"
#include "llvm/Module.h"
#include "llvm/Pass.h"
-#include "llvm/ParameterAttributes.h"
+#include "llvm/ParamAttrsList.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
const Function *F = A.getParent();
// If this is the return value of a struct function, it's not really dead.
- if (F->isStructReturn() && &*(F->arg_begin()) == &A)
+ if (F->hasStructRetAttr() && &*(F->arg_begin()) == &A)
return Live;
if (A.use_empty()) // First check, directly dead?
const ParamAttrsList *PAL = F->getParamAttrs();
// The existing function return attributes.
- uint16_t RAttrs = PAL ? PAL->getParamAttrs(0) : 0;
+ ParameterAttributes RAttrs = PAL ? PAL->getParamAttrs(0) : ParamAttr::None;
// Make the function return void if the return value is dead.
const Type *RetTy = FTy->getReturnType();
++I, ++index)
if (!DeadArguments.count(I)) {
Params.push_back(I->getType());
- uint16_t Attrs = PAL ? PAL->getParamAttrs(index) : 0;
+ ParameterAttributes Attrs = PAL ? PAL->getParamAttrs(index) :
+ ParamAttr::None;
if (Attrs)
ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Params.size(), Attrs));
}
PAL = CS.getParamAttrs();
// The call return attributes.
- uint16_t RAttrs = PAL ? PAL->getParamAttrs(0) : 0;
+ ParameterAttributes RAttrs = PAL ? PAL->getParamAttrs(0) : ParamAttr::None;
// Adjust in case the function was changed to return void.
RAttrs &= ~ParamAttr::typeIncompatible(NF->getReturnType());
if (RAttrs)
I != E; ++I, ++AI, ++index)
if (!DeadArguments.count(I)) { // Remove operands for dead arguments
Args.push_back(*AI);
- uint16_t Attrs = PAL ? PAL->getParamAttrs(index) : 0;
+ ParameterAttributes Attrs = PAL ? PAL->getParamAttrs(index) :
+ ParamAttr::None;
if (Attrs)
ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Args.size(), Attrs));
}
// Push any varargs arguments on the list. Don't forget their attributes.
for (; AI != CS.arg_end(); ++AI) {
Args.push_back(*AI);
- uint16_t Attrs = PAL ? PAL->getParamAttrs(index++) : 0;
+ ParameterAttributes Attrs = PAL ? PAL->getParamAttrs(index++) :
+ ParamAttr::None;
if (Attrs)
ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Args.size(), Attrs));
}