[llvm] Add expression validation tests for DW_OP_swap (PR #210184)

Eric Christopher via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 16 14:58:21 PDT 2026


https://github.com/echristo updated https://github.com/llvm/llvm-project/pull/210184

>From 5016159a2ceb70de906ee76dd2bb17488b2c8163 Mon Sep 17 00:00:00 2001
From: Eric Christopher <echristopher at nvidia.com>
Date: Thu, 16 Jul 2026 08:50:12 -0700
Subject: [PATCH] Add DIExpression validation tests for DW_OP_swap that we
 noticed were missing.  The tests are based on the existing expression tests
 for DW_OP_stack_value.

Tested via make check.
---
 llvm/unittests/IR/MetadataTest.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/llvm/unittests/IR/MetadataTest.cpp b/llvm/unittests/IR/MetadataTest.cpp
index 469c012984ff2..65398b5ca2b1f 100644
--- a/llvm/unittests/IR/MetadataTest.cpp
+++ b/llvm/unittests/IR/MetadataTest.cpp
@@ -4269,6 +4269,7 @@ TEST_F(DIExpressionTest, isValid) {
   // Valid constructions.
   EXPECT_VALID(dwarf::DW_OP_plus_uconst, 6);
   EXPECT_VALID(dwarf::DW_OP_constu, 6, dwarf::DW_OP_plus);
+  EXPECT_VALID(dwarf::DW_OP_constu, 5, dwarf::DW_OP_swap);
   EXPECT_VALID(dwarf::DW_OP_deref);
   EXPECT_VALID(dwarf::DW_OP_LLVM_fragment, 3, 7);
   EXPECT_VALID(dwarf::DW_OP_plus_uconst, 6, dwarf::DW_OP_deref);
@@ -4283,6 +4284,7 @@ TEST_F(DIExpressionTest, isValid) {
   EXPECT_INVALID(~0u);
   EXPECT_INVALID(dwarf::DW_OP_plus, 0);
   EXPECT_INVALID(dwarf::DW_OP_plus_uconst);
+  EXPECT_INVALID(dwarf::DW_OP_swap);
   EXPECT_INVALID(dwarf::DW_OP_LLVM_fragment);
   EXPECT_INVALID(dwarf::DW_OP_LLVM_fragment, 3);
   EXPECT_INVALID(dwarf::DW_OP_LLVM_fragment, 3, 7, dwarf::DW_OP_plus_uconst, 3);



More information about the llvm-commits mailing list