[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 15:43:37 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:
llc `--print-after nvptx-isel` would give you the DAG printout above. Or you can build `llc` with debug info enabled and check what's going on when we're lowering the function arguments.
I find it very useful to run `llc` under `rr` (https://rr-project.org/) which allows you to step back and forth in time so you can backtrack things. E.g. set breakpoint on a node constructor for the `LD_i32_ari_64` and then go back up the stack and possibly back in time in the stack frame where you suspect things may have gone wrong.
https://github.com/llvm/llvm-project/pull/119935
More information about the llvm-commits
mailing list