MCPcopy Create free account
hub / github.com/AdaptiveCpp/AdaptiveCpp / inlineCallsInFunction

Function inlineCallsInFunction

src/compiler/cbs/LoopSplitterInlining.cpp:62–79  ·  view source on GitHub ↗

\pre all contained functions are non recursive! todo: have a recursive-ness termination

Source from the content-addressed store, hash-verified

60//! \pre all contained functions are non recursive!
61// todo: have a recursive-ness termination
62bool inlineCallsInFunction(llvm::Function &F,
63 const llvm::SmallPtrSet<llvm::Function *, 8> &SplitterCallers,
64 hipsycl::compiler::SplitterAnnotationInfo &SAA) {
65 bool Changed = false;
66 bool LastChanged;
67
68 do {
69 LastChanged = false;
70 for (auto &BB : F) {
71 LastChanged = inlineCallsInBasicBlock(BB, SplitterCallers, SAA);
72 Changed |= LastChanged;
73 if (LastChanged)
74 break;
75 }
76 } while (LastChanged);
77
78 return Changed;
79}
80
81// todo: have a recursive-ness termination
82bool fillTransitiveSplitterCallers(llvm::Function &F,

Callers 1

inlineSplitterFunction · 0.70

Calls 1

inlineCallsInBasicBlockFunction · 0.70

Tested by

no test coverage detected