[PATCH] D157331: [clang] Implement C23 <stdckdint.h>
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 5 09:54:18 PDT 2023
aaron.ballman added inline comments.
================
Comment at: clang/test/C/C2x/n2683_2.c:7-15
+// CHECK: %result64 = alloca i64, align 8
+// CHECK: %flag_add = alloca i8, align 1
+// CHECK: store i64 0, ptr %result64, align 8
+// CHECK: %0 = call { i64, i1 } @llvm.sadd.with.overflow.i64(i64 2147483647, i64 1)
+// CHECK: %1 = extractvalue { i64, i1 } %0, 1
+// CHECK: %2 = extractvalue { i64, i1 } %0, 0
+// CHECK: store i64 %2, ptr %result64, align 8
----------------
jrtc27 wrote:
> aaron.ballman wrote:
> > Sorry for not spotting this sooner, but when emitting LLVM IR, these `%ident` identifiers are sometimes replaced with different text depending on how the bot is set up. e.g., one bot may use `%result64` while another bot may decide to name it `%0`. The way we usually handle this is to use a feature from FileCheck that lets you name a regex pattern and then use that. I showed some examples of how to capture the name and how to use the name as a replacement above, but I'll leave it to you to do the rest of the changes. You should do this for anything starting with `%` in this file and in clang/test/Headers/stdckdint.c.
> Or just use update_cc_test_checks.py and let it do that for you? These tests don't look like they do anything weird that the UTC scripts won't like.
WE HAVE A TOOL FOR THIS?!?!
I had no idea. 😳
Do we have any docs for this? CC @ErichKeane for awareness as well.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157331/new/
https://reviews.llvm.org/D157331
More information about the cfe-commits
mailing list