Some compilers generation functions with '$' in their names, so recognize those
functions.
This also requires recognizing function names inside quotes in some contexts in
order to escape certain characters.
Paths
| Differential D82995
[UpdateTestChecks] Allow $ in function names ClosedPublic Authored by greened on Jul 1 2020, 1:55 PM.
Details Summary Some compilers generation functions with '$' in their names, so recognize those This also requires recognizing function names inside quotes in some contexts in
Diff Detail
Event TimelineComment Actions It would be good to check in a test example alongside this change, so we know it works. (And we'll know what we are losing if this has to be reverted for some reason.)
Comment Actions
Will do. I was just recently pointed to where tests live. greened added inline comments.
Comment Actions We need a test. If it helps, OpenMP begin/end declare variant mangles the names with $, so do we for CUDA (sometimes). Comment Actions
Thanks. Where should tests go? I don't think they should go in clang's test/utils/update_cc_test_checks as this isn't just testing that tool. This adds capability to update_test_checks.py and update_llc_test_checks.py too. jdoerfert mentioned this in D83004: [UpdateCCTestChecks] Include generated functions if asked.Jul 22 2020, 7:12 PM Comment Actions
My bad, llvm/test/tools/UpdateTestChecks is the test folder for these things. Comment Actions
Working on it now. Got distracted with various other fires. Herald added subscribers: kerbowa, luismarques, apazos and 30 others. · View Herald TranscriptSep 16 2020, 7:41 AM This revision is now accepted and ready to land.Sep 16 2020, 8:06 AM This revision was landed with ongoing or failed builds.Sep 16 2020, 12:36 PM Closed by commit rGce0eb81c7274: [UpdateTestChecks] Allow $ in function names (authored by greened). · Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions There exist downstream ARM compilers that doesn't support ARM64 and fail with Inputs/arm_function_name.ll. You should consider guarding arm64 specific tests. Comment Actions
arm64 is an alias for aarch64, that should just be armv7 like the rest. Also the aarch64 test should probably gain an IOS test, it's weird that the arm one has one but not the aarch64 one. Comment Actions Hi David, Now that ARMv7 bots are back online after some infra issues, I see that asrm_function_name.ll is failling because tries to generate 64bit arm code but the compiler is not configured with AArch64 target on these bots. bot logs are available here: http://lab.llvm.org:8011/#/builders/26/builds/328
Revision Contents
Diff 292313 llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/arm_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/arm_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/msp430_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/msp430_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/ppc_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/ppc_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/sparc_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/sparc_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/systemz_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/systemz_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/wasm_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/wasm_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/aarch64-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/arm-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/hexagon-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/lanai-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/mips-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/msp430-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/ppc-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/riscv-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/sparc-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/systemz-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/wasm-function-name.test
llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-function-name.test
llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/function_name.ll
llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/function_name.ll.expected
llvm/test/tools/UpdateTestChecks/update_test_checks/function-name.test
llvm/utils/UpdateTestChecks/asm.py
llvm/utils/UpdateTestChecks/common.py
|
I think that it should be moved to aarch64_function_name.ll