llvm-project/clang/test/Misc
Simon Tatham 7c11da0cfd [clang] New __attribute__((__clang_arm_mve_alias)).
This allows you to declare a function with a name of your choice (say
`foo`), but have clang treat it as if it were a builtin function (say
`__builtin_foo`), by writing

  static __inline__ __attribute__((__clang_arm_mve_alias(__builtin_foo)))
  int foo(args);

I'm intending to use this for the ACLE intrinsics for MVE, which have
to be polymorphic on their argument types and also need to be
implemented by builtins. To avoid having to implement the polymorphism
with several layers of nested _Generic and make error reporting
hideous, I want to make all the user-facing intrinsics correspond
directly to clang builtins, so that after clang resolves
__attribute__((overloadable)) polymorphism it's already holding the
right BuiltinID for the intrinsic it selected.

However, this commit itself just introduces the new attribute, and
doesn't use it for anything.

To avoid unanticipated side effects if this attribute is used to make
aliases to other builtins, there's a restriction mechanism: only
(BuiltinID, alias) pairs that are approved by the function
ArmMveAliasValid() will be permitted. At present, that function
doesn't permit anything, because the Tablegen that will generate its
list of valid pairs isn't yet implemented. So the only test of this
facility is one that checks that an unapproved builtin _can't_ be
aliased.

Reviewers: dmgreen, miyuki, ostannard

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67159
2019-10-24 16:33:13 +01:00
..
Inputs Move AST tests into their own test directory; NFC. 2018-11-30 18:43:02 +00:00
amdgcn.languageOptsOpenCL.cl
attr-source-range.cpp
backend-optimization-failure-nodbg.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
backend-optimization-failure.cpp [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
backend-resource-limit-diagnostics.cl Revert "Mark test as unsupported until r315808 is fixed" 2017-10-14 22:24:31 +00:00
backend-stack-frame-diagnostics-fallback.cpp Ensure there is stack usage in stack size warning test 2019-05-03 19:04:14 +00:00
backend-stack-frame-diagnostics.cpp Recommit r335063: [Darwin] Add a warning for missing include path for libstdc++ 2018-06-19 22:47:53 +00:00
caret-diags-macros.c
caret-diags-multiline.cpp PR33902: Invalidate line number cache when adding more text to existing buffer. 2017-07-30 06:31:29 +00:00
caret-diags-scratch-buffer.c
cc1as-asm-debug.s [DWARF] Make -g with empty assembler source work better. 2019-03-01 20:58:04 +00:00
cc1as-asm.s
cc1as-compress.s Revert "Revert r305164/5/7." 2017-06-23 15:34:16 +00:00
cc1as-split-dwarf.s [Clang] Rename -split-dwarf-file to -split-dwarf-output 2019-06-15 14:07:43 +00:00
dev-fd-fs.c Restrict a test using named file descriptors to using the system shell 2018-04-03 18:22:14 +00:00
diag-aka-types.cpp
diag-format.c Remove extraneous space in MSVC-style diagnostic output 2019-02-19 16:58:25 +00:00
diag-greatergreater.cpp PR37189 Fix incorrect end source location and spelling for a split '>>' token. 2018-04-30 05:25:48 +00:00
diag-line-wrapping.cpp
diag-macro-backtrace.c
diag-macro-backtrace2.c [test] Use %clang_cc1 instead of %clang -cc1 2019-09-27 05:37:06 +00:00
diag-mapping.c
diag-mapping2.c Add compatibility alias for -Wno-#warnings 2017-06-01 19:08:34 +00:00
diag-null-bytes-in-line.cpp
diag-presumed.c
diag-special-chars.c
diag-template-diffing-color.cpp
diag-template-diffing-cxx98.cpp
diag-template-diffing.cpp [Sema] Improved diagnostic for qualifiers in reference binding 2019-06-21 10:50:02 +00:00
diag-trailing-null-bytes.cpp
diag-verify.cpp
diagnostic-crash.cpp
driver-verify.c [test] Use %clang_cc1 instead of %clang -cc1 2019-09-27 05:37:06 +00:00
emit-html-insert.c
emit-html.c
error-limit-multiple-notes.cpp
error-limit.c
find-diagnostic-id.c [diagtool] Add ability to pass in the id and return the name for a 2017-08-03 16:13:13 +00:00
freebsd-arm-size_t.c
include-stack-for-note-flag.cpp
integer-literal-printing.cpp
interpreter.c
languageOptsOpenCL.cl
loop-opt-setup.c Add -fno-experimental-pass-manager to make clear which pass manager 2019-10-14 23:01:48 +00:00
macro-backtrace.c
message-length.c
no-warn-in-system-macro.c Fix isInSystemMacro in presence of macro and pasted token 2019-05-16 12:40:00 +00:00
no-warn-in-system-macro.c.inc Fix isInSystemMacro to handle pasted macros 2019-02-01 06:11:44 +00:00
nvptx.languageOptsOpenCL.cl
permissions.cpp
pr32207.c [clang][NewPM] Add -fno-experimental-new-pass-manager to tests 2019-06-21 16:03:06 +00:00
pragma-attribute-cxx.cpp [c++20] P1143R2: Add support for the C++20 'constinit' keyword. 2019-09-04 20:30:37 +00:00
pragma-attribute-objc.m Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
pragma-attribute-strict-subjects.c Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
pragma-attribute-supported-attributes-list.test [clang] New __attribute__((__clang_arm_mve_alias)). 2019-10-24 16:33:13 +01:00
predefines.c
printer.c [NewPM][PassInstrumentation] IR printing support from clang driver 2019-08-14 07:11:09 +00:00
r600.languageOptsOpenCL.cl
reduced-diags-macros-backtrace.cpp
reduced-diags-macros.cpp
remap-file.c
serialized-diags-bcanalyzer.c Add tests for llvm-bcanalyzer stream types 2018-04-22 00:04:35 +00:00
serialized-diags-driver.c
serialized-diags-frontend.c
serialized-diags-no-category.c
serialized-diags-no-issue.c
serialized-diags-really-long-text.cpp
serialized-diags-single-issue.c
serialized-diags-stable.c
serialized-diags.c
serialized-diags.h
serialized-diags.m
show-diag-options.c
tabstop.c
target-invalid-cpu-note.c [SystemZ] Support z15 processor name 2019-09-20 23:06:03 +00:00
target-parser.c
unnecessary-elipses.cpp
unprintable.c
verify.c
warn-in-system-header.c
warn-in-system-header.h
warn-in-system-macro-def.c Fix some tests I broke in r354190 2019-02-16 01:51:19 +00:00
warn-in-system-macro-def.c.inc Fix isInSystemMacro to handle pasted macros 2019-02-01 06:11:44 +00:00
warn-sysheader.cpp
warning-flags-enabled.c
warning-flags-tree.c [diagtool] Change default tree behavior to print only flags 2017-09-05 18:04:40 +00:00
warning-flags.c Give the 'signed/unsigned wchar_t' extension a warning flag, and follow 2019-07-29 20:00:46 +00:00
win32-macho.c [Driver] Set the default win32-macho debug format to DWARF 2019-07-22 21:46:45 +00:00
working-directory.c
wrong-encoding.c
wrong-encoding2.c