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

Kevin McAfee via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 13:43:23 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];
----------------
kalxr wrote:

In this case I was purposefully creating a divergence by disabling DAG combines through a debug counter, which seems to be impossible in release mode NVPTX. It's a somewhat artificial case designed to demonstrate that the backend is incorrect without DAG combines. I'm not sure whether or not there is some other divergence going on here...does disabling combines explain it or am I misunderstanding something?

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


More information about the llvm-commits mailing list