[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-19 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 closed https://github.com/llvm/llvm-project/pull/92353 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 updated https://github.com/llvm/llvm-project/pull/92353 >From 699da64855f147708f153c30177a1d02a4e014f7 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Wed, 15 May 2024 12:37:16 +0800 Subject: [PATCH 1/2] [Serialization] Read the initializer for interesting static

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > I can reproduce the failure. The problem is that the CHECK line > > ``` > // CHECK: [[A_CALL:%[a-zA-Z0-9]+]] = call{{.*}}@_Z6MakeVR( > ``` > > assumes that a value is returned. On SystemZ, the return value is passed as > `sret` argument, and the function itself returns

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Kai Nacke via cfe-commits
redstar wrote: The lines you are trying to match are: ``` call void @_Z6MakeVR(ptr dead_on_unwind writable sret(<4 x float>) align 16 %tmp, float noundef %0, float noundef %1, float noundef %2, float noundef %3) %4 = load <4 x float>, ptr %tmp, align 16 store <4 x float> %4, ptr @_ZN2

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Kai Nacke via cfe-commits
redstar wrote: I can reproduce the failure. The problem is that the CHECK line ``` // CHECK: [[A_CALL:%[a-zA-Z0-9]+]] = call{{.*}}@_Z6MakeVR( ``` assumes that a value is returned. On SystemZ, the return value is passed as `sret` argument, and the function itself returns `void`, so the pat

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-16 Thread Ulrich Weigand via cfe-commits
uweigand wrote: I'm not seeing any failures with this patch on s390x with the regular check-all and check-openmp tests. Do you have a link to the failures you were seeing in the past (was that on the build bot?)? https://github.com/llvm/llvm-project/pull/92353

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-15 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: @JonasToth @redstar @uweigand @Everybody0523 Hi, this patch previously failed on clang-s390x-linux. I guess it is a pattern mismatch failure but I can't reproduce it. I am not sure if I found the wrong person. I find you from the SystemZ's group. I want to ask if you can v

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-15 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-modules Author: Chuanqi Xu (ChuanqiXu9) Changes Close https://github.com/llvm/llvm-project/issues/91418 Since we load the variable's initializers lazily, it'd be problematic if the initializers dependent on each other. So here we try to load the

[clang] [Serialization] Read the initializer for interesting static variables before consuming it (PR #92353)

2024-05-15 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 created https://github.com/llvm/llvm-project/pull/92353 Close https://github.com/llvm/llvm-project/issues/91418 Since we load the variable's initializers lazily, it'd be problematic if the initializers dependent on each other. So here we try to load the initialize