X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=lib%2FTransforms%2FIPO%2FDeadArgumentElimination.cpp;h=088269d816d52040ad3d76ac7615b06b5945320c;hb=41e2397b720bc5d917ef614a7a6c257e8a3c8e42;hp=3a4c36f87f1a0ff88e80e57d5438f4c2da17eaa3;hpb=b2fc2a330a9106c67d50a2b6dbfffc679af4ce88;p=oota-llvm.git diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index 3a4c36f87f1..088269d816d 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -26,7 +26,7 @@ #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" @@ -255,7 +255,7 @@ DAE::Liveness DAE::getArgumentLiveness(const Argument &A) { 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? @@ -512,7 +512,7 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { 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(); @@ -532,7 +532,8 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { ++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)); } @@ -572,7 +573,7 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { 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) @@ -585,7 +586,8 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { 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)); } @@ -596,7 +598,8 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { // 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)); }