From 36deb9a670d06fc254df2f357ae595fb8f817d07 Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Fri, 15 Oct 2021 11:26:48 +0100 Subject: Add new MachineFunction property FailsVerification TargetPassConfig::addPass takes a "bool verifyAfter" argument which lets you skip machine verification after a particular pass. Unfortunately this is used in generic code in TargetPassConfig itself to skip verification after a generic pass, only because some previous target- specific pass damaged the MIR on that specific target. This is bad because problems in one target cause lack of verification for all targets. This patch replaces that mechanism with a new MachineFunction property called "FailsVerification" which can be set by (usually target-specific) passes that are known to introduce problems. Later passes can reset it again if they are known to clean up the previous problems. Differential Revision: https://reviews.llvm.org/D111397 --- llvm/lib/CodeGen/MachineFunction.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/lib/CodeGen/MachineFunction.cpp') diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp index e118d6d..4a838b8 100644 --- a/llvm/lib/CodeGen/MachineFunction.cpp +++ b/llvm/lib/CodeGen/MachineFunction.cpp @@ -99,6 +99,7 @@ static const char *getPropertyName(MachineFunctionProperties::Property Prop) { case P::Selected: return "Selected"; case P::TracksLiveness: return "TracksLiveness"; case P::TiedOpsRewritten: return "TiedOpsRewritten"; + case P::FailsVerification: return "FailsVerification"; } llvm_unreachable("Invalid machine function property"); } -- cgit v1.1