X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTransforms%2FIPO%2FDeadArgumentElimination.cpp;h=9d88a8879fcddec8a1411d0e65255164191dca7f;hb=86453c52ba02e743d29c08456e51006500041456;hp=77ac8737b0872985fafc4b24bbd4370f1188677e;hpb=0a81aac4b46eed130d20714af5a1c01b05d0275e;p=oota-llvm.git diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp index 77ac8737b08..9d88a8879fc 100644 --- a/lib/Transforms/IPO/DeadArgumentElimination.cpp +++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp @@ -32,12 +32,10 @@ #include using namespace llvm; -namespace { - Statistic<> NumArgumentsEliminated("deadargelim", - "Number of unread args removed"); - Statistic<> NumRetValsEliminated("deadargelim", - "Number of unused return values removed"); +STATISTIC(NumArgumentsEliminated, "Number of unread args removed"); +STATISTIC(NumRetValsEliminated , "Number of unused return values removed"); +namespace { /// DAE - The dead argument elimination pass. /// class DAE : public ModulePass { @@ -499,8 +497,6 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { // Work around LLVM bug PR56: the CWriter cannot emit varargs functions which // have zero fixed arguments. // - // FIXME: once this bug is fixed in the CWriter, this hack should be removed. - // bool ExtraArgHack = false; if (Params.empty() && FTy->isVarArg()) { ExtraArgHack = true; @@ -530,7 +526,7 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) { Args.push_back(*AI); if (ExtraArgHack) - Args.push_back(Constant::getNullValue(Type::IntTy)); + Args.push_back(UndefValue::get(Type::IntTy)); // Push any varargs arguments on the list for (; AI != CS.arg_end(); ++AI)