[llvm] r242053 - AMDGPU: Minor cleanups to always inline pass
Matt Arsenault
Matthew.Arsenault at amd.com
Mon Jul 13 12:08:37 PDT 2015
Author: arsenm
Date: Mon Jul 13 14:08:36 2015
New Revision: 242053
URL: http://llvm.org/viewvc/llvm-project?rev=242053&view=rev
Log:
AMDGPU: Minor cleanups to always inline pass
Modified:
llvm/trunk/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp?rev=242053&r1=242052&r2=242053&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp Mon Jul 13 14:08:36 2015
@@ -22,7 +22,6 @@ using namespace llvm;
namespace {
class AMDGPUAlwaysInline : public ModulePass {
-
static char ID;
public:
@@ -36,10 +35,9 @@ public:
char AMDGPUAlwaysInline::ID = 0;
bool AMDGPUAlwaysInline::runOnModule(Module &M) {
+ std::vector<Function *> FuncsToClone;
- std::vector<Function*> FuncsToClone;
- for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) {
- Function &F = *I;
+ for (Function &F : M) {
if (!F.hasLocalLinkage() && !F.isDeclaration() && !F.use_empty() &&
!F.hasFnAttribute(Attribute::NoInline))
FuncsToClone.push_back(&F);
@@ -49,12 +47,11 @@ bool AMDGPUAlwaysInline::runOnModule(Mod
ValueToValueMapTy VMap;
Function *NewFunc = CloneFunction(F, VMap, false);
NewFunc->setLinkage(GlobalValue::InternalLinkage);
- F->getParent()->getFunctionList().push_back(NewFunc);
+ M.getFunctionList().push_back(NewFunc);
F->replaceAllUsesWith(NewFunc);
}
- for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) {
- Function &F = *I;
+ for (Function &F : M) {
if (F.hasLocalLinkage() && !F.hasFnAttribute(Attribute::NoInline)) {
F.addFnAttr(Attribute::AlwaysInline);
}
More information about the llvm-commits
mailing list