[llvm] [NVPTX] Attempt to load params using symbol addition node directly (PR #119935)
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 17 12:40:00 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:
> I'm still confused as to what the problematic divergence is supposed to be,
In general, enabling/disabling assertions is not supposed to alter LLVM's output, assuming that all assertions succeed.
The fact that we have the output changing means that no-assertion build may be relying on some UB that gets affected by the additional checks that are supposed to have no effect other than validating some invariant.
While it's possible to intentionally make code behave with/without assertions, I can't think of a good reason why it would be the case here.
https://github.com/llvm/llvm-project/pull/119935
More information about the llvm-commits
mailing list