[clang] [flang] [llvm] [mlir] [polly] Revert "[IR] Use persistent metadata IDs for printing" (PR #220334)

2026-09-01 Thread via cfe-commits

llvmorg-github-actions[bot] wrote:




@llvm/pr-subscribers-backend-amdgpu

Author: Yaxun (Sam) Liu (yxsamliu)


Changes

This reverts commit 85e903099313aa5ea98d175698aaa40e27a0d743.

The change breaks MSVC builds because an inline SmallPtrSet operation
requires a complete DILocation type. It also causes expensive-check
builds to report that the DXIL pretty-printer modifies its input
without reporting it.

Revert while fixes and test coverage are prepared.

Buildbot failure: https://lab.llvm.org/buildbot/#/builders/2/builds/60795
Buildbot failure: https://lab.llvm.org/buildbot/#/builders/187/builds/23268


---

Patch is 163.89 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/220334.diff


75 Files Affected:

- (modified) clang/lib/CodeGen/BackendUtil.cpp (+2-5) 
- (modified) clang/tools/cir-translate/cir-translate.cpp (-1) 
- (modified) clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp (+1-4) 
- (modified) clang/tools/clang-import-test/clang-import-test.cpp (+1-3) 
- (modified) flang/include/flang/Optimizer/CodeGen/CodeGen.h (+3-5) 
- (modified) flang/lib/Frontend/FrontendActions.cpp (+3-3) 
- (modified) llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h (+12-13) 
- (modified) llvm/include/llvm/IR/IRPrintingPasses.h (-5) 
- (modified) llvm/include/llvm/IR/Metadata.h (+5-5) 
- (modified) llvm/include/llvm/IR/Module.h (-5) 
- (modified) llvm/include/llvm/IR/ModuleSlotTracker.h (+19-33) 
- (modified) llvm/include/llvm/IRPrinter/IRPrintingPasses.h (+2-5) 
- (modified) llvm/lib/CodeGen/MIRParser/MIParser.cpp (+2-2) 
- (modified) llvm/lib/CodeGen/MIRPrintingPass.cpp (-16) 
- (modified) llvm/lib/CodeGen/MachineBasicBlock.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/MachineModuleSlotTracker.cpp (+55-56) 
- (modified) llvm/lib/CodeGen/MachineOperand.cpp (+1-1) 
- (modified) llvm/lib/IR/AsmWriter.cpp (+180-237) 
- (modified) llvm/lib/IR/Core.cpp (-2) 
- (modified) llvm/lib/IR/IRPrintingPasses.cpp (+25-46) 
- (modified) llvm/lib/IR/LLVMContextImpl.cpp (-9) 
- (modified) llvm/lib/IR/LLVMContextImpl.h (-18) 
- (modified) llvm/lib/IR/Metadata.cpp (-17) 
- (modified) llvm/lib/IR/MetadataImpl.h (-2) 
- (modified) llvm/lib/IR/SSAContext.cpp (+1-1) 
- (modified) llvm/lib/IRPrinter/IRPrintingPasses.cpp (+6-14) 
- (modified) llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp (+14-92) 
- (modified) llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll (-7) 
- (modified) llvm/test/CodeGen/Hexagon/swp-no-alias.mir (+4-4) 
- (modified) llvm/test/CodeGen/MIR/AMDGPU/instr-mmra.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/AMDGPU/machine-metadata.mir (+6-6) 
- (modified) llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/X86/instr-pcsections.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/X86/instructions-debug-location.mir (+7-7) 
- (modified) llvm/test/CodeGen/MIR/X86/machine-metadata.mir (+18-18) 
- (modified) llvm/test/CodeGen/MIR/X86/mem-cache-hint.mir (+2-2) 
- (modified) llvm/test/CodeGen/MIR/X86/memory-operands.mir (+5-5) 
- (modified) llvm/test/CodeGen/MIR/X86/metadata-operands.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/X86/pr38773.mir (+2-2) 
- (modified) llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir (+2-2) 
- (modified) llvm/test/DebugInfo/MIR/AArch64/no-dbg-value-after-terminator.mir 
(+1-1) 
- (modified) llvm/test/Other/legacy-callgraph-scc-pass-printer.ll (+1-12) 
- (removed) llvm/test/Other/print-changed-persistent-metadata-ids.ll (-77) 
- (removed) llvm/test/Other/print-persistent-metadata-ids.ll (-94) 
- (modified) 
llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll.expected
 (+3-3) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test 
(+11-11) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test 
(+8-8) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test (+2-2) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test 
(+11-11) 
- (modified) llvm/tools/llvm-dis/llvm-dis.cpp (-1) 
- (modified) llvm/tools/llvm-extract/llvm-extract.cpp (+2-4) 
- (modified) llvm/tools/llvm-link/llvm-link.cpp (-1) 
- (modified) llvm/tools/llvm-reduce/ReducerWorkItem.cpp (+1-8) 
- (modified) llvm/tools/llvm-split/llvm-split.cpp (+3-4) 
- (modified) llvm/tools/llvm-stress/llvm-stress.cpp (-1) 
- (modified) llvm/tools/opt/NewPMDriver.cpp (+1-2) 
- (modified) llvm/tools/opt/optdriver.cpp (+3-4) 
- (modified) llvm/tools/verify-uselistorder/verify-uselistorder.cpp (+4-5) 
- (modified) llvm/unittests/AsmParser/AsmParserTest.cpp (-33) 
- (modified) llvm/unittests/IR/AsmWriterTest.cpp (-124) 
- (modified) llvm/unittests/IR/MetadataTest.cpp (+11-7) 
- (modified) llvm/unittests/IR/ModuleTest.cpp (-55) 
- (modified) llvm/unittests/MIR/MachineMetadata.cpp (+34-84) 
- (modified) mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp (-1) 
- (modified) 

[clang] [flang] [llvm] [mlir] [polly] Revert "[IR] Use persistent metadata IDs for printing" (PR #220334)

2026-09-01 Thread via cfe-commits

llvmorg-github-actions[bot] wrote:




@llvm/pr-subscribers-flang-fir-hlfir

Author: Yaxun (Sam) Liu (yxsamliu)


Changes

This reverts commit 85e903099313aa5ea98d175698aaa40e27a0d743.

The change breaks MSVC builds because an inline SmallPtrSet operation
requires a complete DILocation type. It also causes expensive-check
builds to report that the DXIL pretty-printer modifies its input
without reporting it.

Revert while fixes and test coverage are prepared.

Buildbot failure: https://lab.llvm.org/buildbot/#/builders/2/builds/60795
Buildbot failure: https://lab.llvm.org/buildbot/#/builders/187/builds/23268


---

Patch is 163.89 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/220334.diff


75 Files Affected:

- (modified) clang/lib/CodeGen/BackendUtil.cpp (+2-5) 
- (modified) clang/tools/cir-translate/cir-translate.cpp (-1) 
- (modified) clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp (+1-4) 
- (modified) clang/tools/clang-import-test/clang-import-test.cpp (+1-3) 
- (modified) flang/include/flang/Optimizer/CodeGen/CodeGen.h (+3-5) 
- (modified) flang/lib/Frontend/FrontendActions.cpp (+3-3) 
- (modified) llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h (+12-13) 
- (modified) llvm/include/llvm/IR/IRPrintingPasses.h (-5) 
- (modified) llvm/include/llvm/IR/Metadata.h (+5-5) 
- (modified) llvm/include/llvm/IR/Module.h (-5) 
- (modified) llvm/include/llvm/IR/ModuleSlotTracker.h (+19-33) 
- (modified) llvm/include/llvm/IRPrinter/IRPrintingPasses.h (+2-5) 
- (modified) llvm/lib/CodeGen/MIRParser/MIParser.cpp (+2-2) 
- (modified) llvm/lib/CodeGen/MIRPrintingPass.cpp (-16) 
- (modified) llvm/lib/CodeGen/MachineBasicBlock.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/MachineModuleSlotTracker.cpp (+55-56) 
- (modified) llvm/lib/CodeGen/MachineOperand.cpp (+1-1) 
- (modified) llvm/lib/IR/AsmWriter.cpp (+180-237) 
- (modified) llvm/lib/IR/Core.cpp (-2) 
- (modified) llvm/lib/IR/IRPrintingPasses.cpp (+25-46) 
- (modified) llvm/lib/IR/LLVMContextImpl.cpp (-9) 
- (modified) llvm/lib/IR/LLVMContextImpl.h (-18) 
- (modified) llvm/lib/IR/Metadata.cpp (-17) 
- (modified) llvm/lib/IR/MetadataImpl.h (-2) 
- (modified) llvm/lib/IR/SSAContext.cpp (+1-1) 
- (modified) llvm/lib/IRPrinter/IRPrintingPasses.cpp (+6-14) 
- (modified) llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp (+14-92) 
- (modified) llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll (-7) 
- (modified) llvm/test/CodeGen/Hexagon/swp-no-alias.mir (+4-4) 
- (modified) llvm/test/CodeGen/MIR/AMDGPU/instr-mmra.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/AMDGPU/machine-metadata.mir (+6-6) 
- (modified) llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/X86/instr-pcsections.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/X86/instructions-debug-location.mir (+7-7) 
- (modified) llvm/test/CodeGen/MIR/X86/machine-metadata.mir (+18-18) 
- (modified) llvm/test/CodeGen/MIR/X86/mem-cache-hint.mir (+2-2) 
- (modified) llvm/test/CodeGen/MIR/X86/memory-operands.mir (+5-5) 
- (modified) llvm/test/CodeGen/MIR/X86/metadata-operands.mir (+1-1) 
- (modified) llvm/test/CodeGen/MIR/X86/pr38773.mir (+2-2) 
- (modified) llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir (+2-2) 
- (modified) llvm/test/DebugInfo/MIR/AArch64/no-dbg-value-after-terminator.mir 
(+1-1) 
- (modified) llvm/test/Other/legacy-callgraph-scc-pass-printer.ll (+1-12) 
- (removed) llvm/test/Other/print-changed-persistent-metadata-ids.ll (-77) 
- (removed) llvm/test/Other/print-persistent-metadata-ids.ll (-94) 
- (modified) 
llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll.expected
 (+3-3) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test 
(+11-11) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test 
(+8-8) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test (+2-2) 
- (modified) 
llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test 
(+11-11) 
- (modified) llvm/tools/llvm-dis/llvm-dis.cpp (-1) 
- (modified) llvm/tools/llvm-extract/llvm-extract.cpp (+2-4) 
- (modified) llvm/tools/llvm-link/llvm-link.cpp (-1) 
- (modified) llvm/tools/llvm-reduce/ReducerWorkItem.cpp (+1-8) 
- (modified) llvm/tools/llvm-split/llvm-split.cpp (+3-4) 
- (modified) llvm/tools/llvm-stress/llvm-stress.cpp (-1) 
- (modified) llvm/tools/opt/NewPMDriver.cpp (+1-2) 
- (modified) llvm/tools/opt/optdriver.cpp (+3-4) 
- (modified) llvm/tools/verify-uselistorder/verify-uselistorder.cpp (+4-5) 
- (modified) llvm/unittests/AsmParser/AsmParserTest.cpp (-33) 
- (modified) llvm/unittests/IR/AsmWriterTest.cpp (-124) 
- (modified) llvm/unittests/IR/MetadataTest.cpp (+11-7) 
- (modified) llvm/unittests/IR/ModuleTest.cpp (-55) 
- (modified) llvm/unittests/MIR/MachineMetadata.cpp (+34-84) 
- (modified) mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp (-1) 
- (modified) 

[clang] [flang] [llvm] [mlir] [polly] Revert "[IR] Use persistent metadata IDs for printing" (PR #220334)

2026-09-01 Thread via cfe-commits

github-actions[bot] wrote:




:warning: C/C++ code formatter, clang-format found issues in your code. 
:warning:



You can test this locally with the following command:


``bash
git-clang-format --diff origin/main HEAD --extensions cpp,h -- 
clang/lib/CodeGen/BackendUtil.cpp clang/tools/cir-translate/cir-translate.cpp 
clang/tools/clang-fuzzer/handle-llvm/handle_llvm.cpp 
clang/tools/clang-import-test/clang-import-test.cpp 
flang/include/flang/Optimizer/CodeGen/CodeGen.h 
flang/lib/Frontend/FrontendActions.cpp 
llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h 
llvm/include/llvm/IR/IRPrintingPasses.h llvm/include/llvm/IR/Metadata.h 
llvm/include/llvm/IR/Module.h llvm/include/llvm/IR/ModuleSlotTracker.h 
llvm/include/llvm/IRPrinter/IRPrintingPasses.h 
llvm/lib/CodeGen/MIRParser/MIParser.cpp llvm/lib/CodeGen/MIRPrintingPass.cpp 
llvm/lib/CodeGen/MachineBasicBlock.cpp 
llvm/lib/CodeGen/MachineModuleSlotTracker.cpp 
llvm/lib/CodeGen/MachineOperand.cpp llvm/lib/IR/AsmWriter.cpp 
llvm/lib/IR/Core.cpp llvm/lib/IR/IRPrintingPasses.cpp 
llvm/lib/IR/LLVMContextImpl.cpp llvm/lib/IR/LLVMContextImpl.h 
llvm/lib/IR/Metadata.cpp llvm/lib/IR/MetadataImpl.h llvm/lib/IR/SSAContext.cpp 
llvm/lib/IRPrinter/IRPrintingPasses.cpp 
llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp llvm/tools/llvm-dis/llvm-dis.cpp 
llvm/tools/llvm-extract/llvm-extract.cpp llvm/tools/llvm-link/llvm-link.cpp 
llvm/tools/llvm-reduce/ReducerWorkItem.cpp llvm/tools/llvm-split/llvm-split.cpp 
llvm/tools/llvm-stress/llvm-stress.cpp llvm/tools/opt/NewPMDriver.cpp 
llvm/tools/opt/optdriver.cpp 
llvm/tools/verify-uselistorder/verify-uselistorder.cpp 
llvm/unittests/AsmParser/AsmParserTest.cpp llvm/unittests/IR/AsmWriterTest.cpp 
llvm/unittests/IR/MetadataTest.cpp llvm/unittests/IR/ModuleTest.cpp 
llvm/unittests/MIR/MachineMetadata.cpp 
mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp --diff_from_common_commit
``

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:





View the diff from clang-format here.


``diff
diff --git a/llvm/lib/IR/AsmWriter.cpp b/llvm/lib/IR/AsmWriter.cpp
index 313d57bb0..f23a4b0bc 100644
--- a/llvm/lib/IR/AsmWriter.cpp
+++ b/llvm/lib/IR/AsmWriter.cpp
@@ -817,7 +817,7 @@ private:
   unsigned fNext = 0;
 
   /// mdnMap - Map for MDNodes.
-  DenseMap mdnMap;
+  DenseMap mdnMap;
   unsigned mdnNext = 0;
 
   /// asMap - The slot map for attribute sets.
@@ -5122,8 +5122,7 @@ void BasicBlock::print(raw_ostream &ROS, 
AssemblyAnnotationWriter *AAW,
  bool IsForDebug) const {
   SlotTracker SlotTable(this->getParent());
   formatted_raw_ostream OS(ROS);
-  AssemblyWriter W(OS, SlotTable, this->getModule(), AAW,
-   IsForDebug,
+  AssemblyWriter W(OS, SlotTable, this->getModule(), AAW, IsForDebug,
ShouldPreserveUseListOrder);
   W.printBasicBlock(this);
 }
diff --git a/llvm/unittests/MIR/MachineMetadata.cpp 
b/llvm/unittests/MIR/MachineMetadata.cpp
index f58a3cac1..242c14a36 100644
--- a/llvm/unittests/MIR/MachineMetadata.cpp
+++ b/llvm/unittests/MIR/MachineMetadata.cpp
@@ -405,12 +405,13 @@ body: |
   [&](const Function &F) { return MMI.getMachineFunction(F); }, MF);
   // Print that MI with new machine metadata, which slot numbers should be
   // assigned.
-  EXPECT_EQ("%1:gr32 = MOV32rm %0, 1, $noreg, 0, $noreg :: (load (s32) from 
%ir.p, "
-"!alias.scope !0, !noalias !3)",
-print([&](raw_ostream &OS) {
-  MI.print(OS, MST, /*IsStandalone=*/false, /*SkipOpers=*/false,
-   /*SkipDebugLoc=*/false, /*AddNewLine=*/false);
-}));
+  EXPECT_EQ(
+  "%1:gr32 = MOV32rm %0, 1, $noreg, 0, $noreg :: (load (s32) from %ir.p, "
+  "!alias.scope !0, !noalias !3)",
+  print([&](raw_ostream &OS) {
+MI.print(OS, MST, /*IsStandalone=*/false, /*SkipOpers=*/false,
+ /*SkipDebugLoc=*/false, /*AddNewLine=*/false);
+  }));
 
   std::vector Generated{Domain, Scope0, Scope1, Set0, Set1};
   // Examine machine metadata collected. They should match ones

``




https://github.com/llvm/llvm-project/pull/220334
___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits