New MarkAssignments library in IRCanonicalization

This library replaces the old AddIRSerializationMarkers, cleaning up a
lot of historcal baggage, merging Liveness and MarkAnalysis, and
adopting a more accurate naming across all the codebase.
This commit is contained in:
Pietro Fezzardi
2022-04-21 18:13:51 +02:00
parent d95b08df98
commit b909bb6629
19 changed files with 751 additions and 733 deletions
+2 -2
View File
@@ -262,14 +262,14 @@ static TypeVector getReturnTypes(const llvm::CallInst *Call,
addPointerQualifier(PointedType, Model);
ReturnTypes.push_back(PointedType);
} else if (FunctionTags::SerializationMarker.isTagOf(CalledFunc)) {
} else if (FunctionTags::AssignmentMarker.isTagOf(CalledFunc)) {
const llvm::Value *Arg = Call->getArgOperand(0);
// Structs are handled on their own
if (Arg->getType()->isStructTy())
return {};
// SerializationMarker is transparent
// AssignmentMarker is transparent
auto It = TypeMap.find(Arg);
if (It != TypeMap.end()) {
ReturnTypes.push_back(It->second);