Skip to content

Commit 94988e2

Browse files
committed
Reverting to get back the stackmap changes.
These changes make sure that stackmap is not inserted after unmappable functions except control point and yk_promote calls. This reverts commit 6293419.
1 parent 21ed80c commit 94988e2

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

llvm/lib/Transforms/Yk/StackMaps.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
#include "llvm/IR/Verifier.h"
1616
#include "llvm/InitializePasses.h"
1717
#include "llvm/Pass.h"
18+
#include "llvm/Transforms/Yk/ControlPoint.h"
1819
#include "llvm/Transforms/Yk/LivenessAnalysis.h"
19-
2020
#include <map>
2121

2222
#define DEBUG_TYPE "yk-stackmaps"
@@ -60,8 +60,15 @@ class YkStackmaps : public ModulePass {
6060
// We don't need to insert stackmaps after intrinsics. But since we
6161
// can't tell if an indirect call is an intrinsic at compile time,
6262
// emit a stackmap in those cases too.
63-
if (!CI.isIndirectCall() && CI.getCalledFunction()->isIntrinsic())
63+
64+
if (!CI.isIndirectCall() &&
65+
(CI.getCalledFunction()->isIntrinsic() ||
66+
(CI.getCalledFunction()->isDeclaration() &&
67+
(!CI.getCalledFunction()->getName().startswith(
68+
"__yk_promote") &&
69+
CI.getCalledFunction()->getName() != YK_NEW_CONTROL_POINT))))
6470
continue;
71+
6572
SMCalls.insert({&I, LA.getLiveVarsBefore(&I)});
6673
} else if ((isa<BranchInst>(I) &&
6774
cast<BranchInst>(I).isConditional()) ||

0 commit comments

Comments
 (0)