Skip to content

Commit ce98856

Browse files
authored
Merge pull request rust-lang#125 from nmdis1999/main
Reverting to get back the stackmap changes.
2 parents 21ed80c + 94988e2 commit ce98856

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)