[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