Skip to content

Commit b5e84b9

Browse files
authored
Fix forward phi debug info (rust-lang#546)
1 parent bcdc1f9 commit b5e84b9

File tree

4 files changed

+287
-7
lines changed

4 files changed

+287
-7
lines changed

enzyme/Enzyme/AdjointGenerator.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -975,15 +975,15 @@ class AdjointGenerator
975975
BasicBlock *oBB = phi.getParent();
976976
BasicBlock *nBB = gutils->getNewFromOriginal(oBB);
977977

978-
IRBuilder<> diffeBuilder(nBB->getFirstNonPHI());
979-
diffeBuilder.setFastMathFlags(getFast());
980-
981978
IRBuilder<> phiBuilder(&phi);
982979
getForwardBuilder(phiBuilder);
980+
phiBuilder.SetInsertPoint(
981+
gutils->getNewFromOriginal(&phi)->getNextNode());
983982

984983
Type *diffeType = gutils->getShadowType(phi.getType());
985984

986985
auto newPhi = phiBuilder.CreatePHI(diffeType, 1, phi.getName() + "'");
986+
987987
for (unsigned int i = 0; i < phi.getNumIncomingValues(); ++i) {
988988
auto val = phi.getIncomingValue(i);
989989
auto block = phi.getIncomingBlock(i);
@@ -1000,7 +1000,10 @@ class AdjointGenerator
10001000
}
10011001
}
10021002

1003+
IRBuilder<> diffeBuilder(nBB->getFirstNonPHI());
1004+
diffeBuilder.setFastMathFlags(getFast());
10031005
setDiffe(&phi, newPhi, diffeBuilder);
1006+
10041007
return;
10051008
}
10061009
}

enzyme/Enzyme/TypeAnalysis/TypeAnalysis.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,7 @@ void TypeAnalyzer::visitStoreInst(StoreInst &I) {
13151315
template <typename T>
13161316
std::set<std::vector<T>> getSet(const std::vector<std::set<T>> &todo,
13171317
size_t idx) {
1318+
assert(idx < todo.size());
13181319
std::set<std::vector<T>> out;
13191320
if (idx == 0) {
13201321
for (auto val : todo[0]) {
@@ -1406,6 +1407,7 @@ void TypeAnalyzer::visitGetElementPtrInst(GetElementPtrInst &gep) {
14061407
if (idnext.back().size() == 0)
14071408
return;
14081409
}
1410+
assert(idnext.size() != 0);
14091411

14101412
TypeTree upTree;
14111413
TypeTree downTree;

0 commit comments

Comments
 (0)