[all-commits] [llvm/llvm-project] 5be7eb: [Builtins] Provide a mechanism to selectively disa...

danliew via All-commits all-commits at lists.llvm.org
Thu Oct 17 11:11:45 PDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5be7eb3ab4da6e89ed23b137e6baaa13a530c9b3
      https://github.com/llvm/llvm-project/commit/5be7eb3ab4da6e89ed23b137e6baaa13a530c9b3
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2019-10-17 (Thu, 17 Oct 2019)

  Changed paths:
    M compiler-rt/test/builtins/CMakeLists.txt
    M compiler-rt/test/builtins/Unit/absvdi2_test.c
    M compiler-rt/test/builtins/Unit/absvsi2_test.c
    M compiler-rt/test/builtins/Unit/absvti2_test.c
    M compiler-rt/test/builtins/Unit/adddf3vfp_test.c
    M compiler-rt/test/builtins/Unit/addsf3vfp_test.c
    M compiler-rt/test/builtins/Unit/addtf3_test.c
    M compiler-rt/test/builtins/Unit/addvdi3_test.c
    M compiler-rt/test/builtins/Unit/addvsi3_test.c
    M compiler-rt/test/builtins/Unit/addvti3_test.c
    M compiler-rt/test/builtins/Unit/ashldi3_test.c
    M compiler-rt/test/builtins/Unit/ashlti3_test.c
    M compiler-rt/test/builtins/Unit/ashrdi3_test.c
    M compiler-rt/test/builtins/Unit/ashrti3_test.c
    M compiler-rt/test/builtins/Unit/bswapdi2_test.c
    M compiler-rt/test/builtins/Unit/bswapsi2_test.c
    M compiler-rt/test/builtins/Unit/clear_cache_test.c
    M compiler-rt/test/builtins/Unit/clzdi2_test.c
    M compiler-rt/test/builtins/Unit/clzsi2_test.c
    M compiler-rt/test/builtins/Unit/clzti2_test.c
    M compiler-rt/test/builtins/Unit/cmpdi2_test.c
    M compiler-rt/test/builtins/Unit/cmpti2_test.c
    M compiler-rt/test/builtins/Unit/comparedf2_test.c
    M compiler-rt/test/builtins/Unit/comparesf2_test.c
    M compiler-rt/test/builtins/Unit/cpu_model_test.c
    M compiler-rt/test/builtins/Unit/ctzdi2_test.c
    M compiler-rt/test/builtins/Unit/ctzsi2_test.c
    M compiler-rt/test/builtins/Unit/ctzti2_test.c
    M compiler-rt/test/builtins/Unit/divdc3_test.c
    M compiler-rt/test/builtins/Unit/divdf3_test.c
    M compiler-rt/test/builtins/Unit/divdf3vfp_test.c
    M compiler-rt/test/builtins/Unit/divdi3_test.c
    M compiler-rt/test/builtins/Unit/divmodsi4_test.c
    M compiler-rt/test/builtins/Unit/divsc3_test.c
    M compiler-rt/test/builtins/Unit/divsf3_test.c
    M compiler-rt/test/builtins/Unit/divsf3vfp_test.c
    M compiler-rt/test/builtins/Unit/divsi3_test.c
    M compiler-rt/test/builtins/Unit/divtc3_test.c
    M compiler-rt/test/builtins/Unit/divtf3_test.c
    M compiler-rt/test/builtins/Unit/divti3_test.c
    M compiler-rt/test/builtins/Unit/divxc3_test.c
    M compiler-rt/test/builtins/Unit/enable_execute_stack_test.c
    M compiler-rt/test/builtins/Unit/eqdf2vfp_test.c
    M compiler-rt/test/builtins/Unit/eqsf2vfp_test.c
    M compiler-rt/test/builtins/Unit/eqtf2_test.c
    R compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test.c
    M compiler-rt/test/builtins/Unit/extenddftf2_test.c
    M compiler-rt/test/builtins/Unit/extendhfsf2_test.c
    A compiler-rt/test/builtins/Unit/extendsfdf2vfp_test.c
    M compiler-rt/test/builtins/Unit/extendsftf2_test.c
    M compiler-rt/test/builtins/Unit/ffsdi2_test.c
    M compiler-rt/test/builtins/Unit/ffssi2_test.c
    M compiler-rt/test/builtins/Unit/ffsti2_test.c
    M compiler-rt/test/builtins/Unit/fixdfdi_test.c
    M compiler-rt/test/builtins/Unit/fixdfsivfp_test.c
    M compiler-rt/test/builtins/Unit/fixdfti_test.c
    M compiler-rt/test/builtins/Unit/fixsfdi_test.c
    M compiler-rt/test/builtins/Unit/fixsfsivfp_test.c
    M compiler-rt/test/builtins/Unit/fixsfti_test.c
    M compiler-rt/test/builtins/Unit/fixtfdi_test.c
    M compiler-rt/test/builtins/Unit/fixtfsi_test.c
    M compiler-rt/test/builtins/Unit/fixtfti_test.c
    M compiler-rt/test/builtins/Unit/fixunsdfdi_test.c
    M compiler-rt/test/builtins/Unit/fixunsdfsi_test.c
    M compiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
    M compiler-rt/test/builtins/Unit/fixunsdfti_test.c
    M compiler-rt/test/builtins/Unit/fixunssfdi_test.c
    M compiler-rt/test/builtins/Unit/fixunssfsi_test.c
    M compiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
    M compiler-rt/test/builtins/Unit/fixunssfti_test.c
    M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
    M compiler-rt/test/builtins/Unit/fixunstfsi_test.c
    M compiler-rt/test/builtins/Unit/fixunstfti_test.c
    M compiler-rt/test/builtins/Unit/fixunsxfdi_test.c
    M compiler-rt/test/builtins/Unit/fixunsxfsi_test.c
    M compiler-rt/test/builtins/Unit/fixunsxfti_test.c
    M compiler-rt/test/builtins/Unit/fixxfdi_test.c
    M compiler-rt/test/builtins/Unit/fixxfti_test.c
    M compiler-rt/test/builtins/Unit/floatdidf_test.c
    M compiler-rt/test/builtins/Unit/floatdisf_test.c
    M compiler-rt/test/builtins/Unit/floatditf_test.c
    M compiler-rt/test/builtins/Unit/floatdixf_test.c
    M compiler-rt/test/builtins/Unit/floatsidfvfp_test.c
    M compiler-rt/test/builtins/Unit/floatsisfvfp_test.c
    M compiler-rt/test/builtins/Unit/floatsitf_test.c
    M compiler-rt/test/builtins/Unit/floattidf_test.c
    M compiler-rt/test/builtins/Unit/floattisf_test.c
    M compiler-rt/test/builtins/Unit/floattitf_test.c
    M compiler-rt/test/builtins/Unit/floattixf_test.c
    M compiler-rt/test/builtins/Unit/floatundidf_test.c
    M compiler-rt/test/builtins/Unit/floatundisf_test.c
    M compiler-rt/test/builtins/Unit/floatunditf_test.c
    M compiler-rt/test/builtins/Unit/floatundixf_test.c
    M compiler-rt/test/builtins/Unit/floatunsitf_test.c
    M compiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
    M compiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
    M compiler-rt/test/builtins/Unit/floatuntidf_test.c
    M compiler-rt/test/builtins/Unit/floatuntisf_test.c
    M compiler-rt/test/builtins/Unit/floatuntitf_test.c
    M compiler-rt/test/builtins/Unit/floatuntixf_test.c
    M compiler-rt/test/builtins/Unit/gedf2vfp_test.c
    M compiler-rt/test/builtins/Unit/gesf2vfp_test.c
    M compiler-rt/test/builtins/Unit/getf2_test.c
    M compiler-rt/test/builtins/Unit/gtdf2vfp_test.c
    M compiler-rt/test/builtins/Unit/gtsf2vfp_test.c
    M compiler-rt/test/builtins/Unit/gttf2_test.c
    M compiler-rt/test/builtins/Unit/ledf2vfp_test.c
    M compiler-rt/test/builtins/Unit/lesf2vfp_test.c
    M compiler-rt/test/builtins/Unit/letf2_test.c
    M compiler-rt/test/builtins/Unit/lit.cfg.py
    M compiler-rt/test/builtins/Unit/lit.site.cfg.py.in
    M compiler-rt/test/builtins/Unit/lshrdi3_test.c
    M compiler-rt/test/builtins/Unit/lshrti3_test.c
    M compiler-rt/test/builtins/Unit/ltdf2vfp_test.c
    M compiler-rt/test/builtins/Unit/ltsf2vfp_test.c
    M compiler-rt/test/builtins/Unit/lttf2_test.c
    M compiler-rt/test/builtins/Unit/moddi3_test.c
    M compiler-rt/test/builtins/Unit/modsi3_test.c
    M compiler-rt/test/builtins/Unit/modti3_test.c
    M compiler-rt/test/builtins/Unit/muldc3_test.c
    M compiler-rt/test/builtins/Unit/muldf3vfp_test.c
    M compiler-rt/test/builtins/Unit/muldi3_test.c
    M compiler-rt/test/builtins/Unit/mulodi4_test.c
    M compiler-rt/test/builtins/Unit/mulosi4_test.c
    M compiler-rt/test/builtins/Unit/muloti4_test.c
    M compiler-rt/test/builtins/Unit/mulsc3_test.c
    M compiler-rt/test/builtins/Unit/mulsf3vfp_test.c
    M compiler-rt/test/builtins/Unit/multc3_test.c
    M compiler-rt/test/builtins/Unit/multf3_test.c
    M compiler-rt/test/builtins/Unit/multi3_test.c
    M compiler-rt/test/builtins/Unit/mulvdi3_test.c
    M compiler-rt/test/builtins/Unit/mulvsi3_test.c
    M compiler-rt/test/builtins/Unit/mulvti3_test.c
    M compiler-rt/test/builtins/Unit/mulxc3_test.c
    M compiler-rt/test/builtins/Unit/nedf2vfp_test.c
    M compiler-rt/test/builtins/Unit/negdf2vfp_test.c
    M compiler-rt/test/builtins/Unit/negdi2_test.c
    M compiler-rt/test/builtins/Unit/negsf2vfp_test.c
    M compiler-rt/test/builtins/Unit/negti2_test.c
    M compiler-rt/test/builtins/Unit/negvdi2_test.c
    M compiler-rt/test/builtins/Unit/negvsi2_test.c
    M compiler-rt/test/builtins/Unit/negvti2_test.c
    M compiler-rt/test/builtins/Unit/nesf2vfp_test.c
    M compiler-rt/test/builtins/Unit/netf2_test.c
    M compiler-rt/test/builtins/Unit/paritydi2_test.c
    M compiler-rt/test/builtins/Unit/paritysi2_test.c
    M compiler-rt/test/builtins/Unit/parityti2_test.c
    M compiler-rt/test/builtins/Unit/popcountdi2_test.c
    M compiler-rt/test/builtins/Unit/popcountsi2_test.c
    M compiler-rt/test/builtins/Unit/popcountti2_test.c
    M compiler-rt/test/builtins/Unit/powidf2_test.c
    M compiler-rt/test/builtins/Unit/powisf2_test.c
    M compiler-rt/test/builtins/Unit/powitf2_test.c
    M compiler-rt/test/builtins/Unit/powixf2_test.c
    M compiler-rt/test/builtins/Unit/subdf3vfp_test.c
    M compiler-rt/test/builtins/Unit/subsf3vfp_test.c
    M compiler-rt/test/builtins/Unit/subtf3_test.c
    M compiler-rt/test/builtins/Unit/subvdi3_test.c
    M compiler-rt/test/builtins/Unit/subvsi3_test.c
    M compiler-rt/test/builtins/Unit/subvti3_test.c
    M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
    M compiler-rt/test/builtins/Unit/truncdfhf2_test.c
    M compiler-rt/test/builtins/Unit/truncdfsf2_test.c
    M compiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
    M compiler-rt/test/builtins/Unit/truncsfhf2_test.c
    M compiler-rt/test/builtins/Unit/trunctfdf2_test.c
    M compiler-rt/test/builtins/Unit/trunctfsf2_test.c
    M compiler-rt/test/builtins/Unit/ucmpdi2_test.c
    M compiler-rt/test/builtins/Unit/ucmpti2_test.c
    M compiler-rt/test/builtins/Unit/udivdi3_test.c
    M compiler-rt/test/builtins/Unit/udivmoddi4_test.c
    M compiler-rt/test/builtins/Unit/udivmodsi4_test.c
    M compiler-rt/test/builtins/Unit/udivmodti4_test.c
    M compiler-rt/test/builtins/Unit/udivsi3_test.c
    M compiler-rt/test/builtins/Unit/udivti3_test.c
    M compiler-rt/test/builtins/Unit/umoddi3_test.c
    M compiler-rt/test/builtins/Unit/umodsi3_test.c
    M compiler-rt/test/builtins/Unit/umodti3_test.c
    M compiler-rt/test/builtins/Unit/unorddf2vfp_test.c
    M compiler-rt/test/builtins/Unit/unordsf2vfp_test.c
    M compiler-rt/test/builtins/Unit/unordtf2_test.c

  Log Message:
  -----------
  [Builtins] Provide a mechanism to selectively disable tests based on whether an implementation is provided by a builtin library.

Summary:
If a platform removes some builtin implementations (e.g. via the
Darwin-excludes mechanism) then this can lead to test failures because
the test expects an implementation to be available.

To solve this lit features are added for each configuration based
on which sources are included in the builtin library. The features
are of the form `librt_has_<name>` where `<name>` is the name of the
source file with the file extension removed. This handles C and
assembly sources.

With the lit features in place it is possible to make certain tests
require them.

Example:

```
REQUIRES: librt_has_comparedf2
```

All top-level tests in `test/builtins/Unit` (i.e. not under
`arm`, `ppc`, and `riscv`) have been annotated with the appropriate
`REQUIRES: librt_has_*` statement.

rdar://problem/55520987

Reviewers: beanz, steven_wu, arphaman, dexonsmith, phosek, thakis

Subscribers: mgorny, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D68064

llvm-svn: 375150




More information about the All-commits mailing list