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

Justin Fargnoli via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 14:11:17 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];
----------------
justinfargnoli wrote:

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

When assertions aren't enabled (I believe) [`debug-counter` does not have any effect](https://github.com/llvm/llvm-project/blob/38099d0608342ddff0737a048ca5fa325c4b0749/llvm/include/llvm/Support/DebugCounter.h#L154-L156).

> We need to track down the source of this divergence.

I'd also be interested to see which optimization is eliminating the `add symbol, const`. 

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


More information about the llvm-commits mailing list