[llvm] [NVPTX] Attempt to load params using symbol addition node directly (PR #119935)

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 13:21:49 PST 2024


================
@@ -0,0 +1,44 @@
+; RUN: llc < %s -march=nvptx64 --debug-counter=dagcombine=0 | FileCheck %s
+; RUN: %if ptxas %{ llc < %s -march=nvptx64 | %ptxas-verify %}
+
+%struct.8float = type <{ [8 x float] }>
+
+declare i32 @callee(%struct.8float %a)
+
+define i32 @test(%struct.8float alignstack(32) %data) {
+  ;CHECK-NOT: add.
+  ;CHECK-DAG: ld.param.u8 %r{{.*}}, [test_param_0];
+  ;CHECK-DAG: ld.param.u8 %r{{.*}}, [test_param_0+1];
----------------
Artem-B wrote:

Whoa. We get different output with assertions enabled? Now, *that* does sound like a bug to me.

If an assertion fails somewhere the compilation should've failed. We need to track down the source of this divergence.
Making back-end changes to avoid `add symbol, const` may be just hiding the problem. It's also something to be fixed, but the divergence in the assertions-enabled build is a more severe problem, IMO.

https://github.com/llvm/llvm-project/pull/119935


More information about the llvm-commits mailing list