[PATCH] D73307: Unique Names for Functions with Internal Linkage
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 19 15:23:23 PDT 2020
MaskRay added inline comments.
================
Comment at: clang/test/CodeGen/unique-internal-funcnames.c:3
+
+// RUN: %clang -target x86_64 -S -o - %s | FileCheck %s --check-prefix=PLAIN
+// RUN: %clang -target x86_64 -S -funique-internal-funcnames -o - %s | FileCheck %s --check-prefix=UNIQUE
----------------
rnk wrote:
> tmsriram wrote:
> > davidxl wrote:
> > > MaskRay wrote:
> > > > You can hardly find any .c -> .s test in clang/test. We mostly do .c -> .ll testing. `.ll` -> `.s` are in llvm/test/CodeGen.
> > > Is this convention documented somewhere? Any concerns of producing .s?
> > There are more than 200 tests in clang that do -S from .c -> .s and tens of tests in CodeGen alone. I can change this to .ll but curious where this "hardly any" comes from?
> I can't specifically find documentation for this convention, but it is generally understood that every feature should have targeted unit tests that exercise the minimum amount of functionality. In this case, that means using `%clang_cc1 -emit-llvm -triple NNN` and checking the IR.
Not that many -S .c -> .s tests (`rg '%clang.* -S ' | egrep -v '[-]###|emit-llvm|-verify' | awk -F: '{print $1}' | sort -u | wc -l`). Many are about -emit-llvm -### -verify or misused -v. They do not need to produce assembly.
================
Comment at: clang/test/Driver/funique-internal-funcnames.c:4
+// CHECK-OPT: "-funique-internal-funcnames"
+// CHECK-NOOPT-NOT: {{-funique-internal-funcnames}}
----------------
This negative pattern needs to be changed as well.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73307/new/
https://reviews.llvm.org/D73307
More information about the cfe-commits
mailing list