2015-09-04 06:51:53 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -msimd128 \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=SIMD128
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -msimd128 \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=SIMD128
|
|
|
|
//
|
|
|
|
// SIMD128:#define __wasm_simd128__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2015-09-04 06:51:53 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
2019-01-11 07:49:00 +08:00
|
|
|
// RUN: -target wasm32-unknown-unknown -munimplemented-simd128 \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=SIMD128-UNIMPLEMENTED
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -munimplemented-simd128 \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=SIMD128-UNIMPLEMENTED
|
|
|
|
//
|
|
|
|
// SIMD128-UNIMPLEMENTED:#define __wasm_unimplemented_simd128__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2019-01-11 07:49:00 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: -target wasm32-unknown-unknown -mnontrapping-fptoint \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=NONTRAPPING-FPTOINT
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mnontrapping-fptoint \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=NONTRAPPING-FPTOINT
|
|
|
|
//
|
|
|
|
// NONTRAPPING-FPTOINT:#define __wasm_nontrapping_fptoint__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -msign-ext \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=SIGN-EXT
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -msign-ext \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=SIGN-EXT
|
|
|
|
//
|
|
|
|
// SIGN-EXT:#define __wasm_sign_ext__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mexception-handling \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=EXCEPTION-HANDLING
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mexception-handling \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=EXCEPTION-HANDLING
|
|
|
|
//
|
|
|
|
// EXCEPTION-HANDLING:#define __wasm_exception_handling__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mbulk-memory \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=BULK-MEMORY
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mbulk-memory \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=BULK-MEMORY
|
|
|
|
//
|
|
|
|
// BULK-MEMORY:#define __wasm_bulk_memory__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
// RUN: -target wasm32-unknown-unknown -matomics \
|
2019-02-06 09:41:26 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=ATOMICS
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
// RUN: -target wasm64-unknown-unknown -matomics \
|
2019-02-06 09:41:26 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=ATOMICS
|
|
|
|
//
|
2019-03-02 08:18:09 +08:00
|
|
|
// ATOMICS:#define __wasm_atomics__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -pthread \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=PTHREAD
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -pthread \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=PTHREAD
|
2019-02-06 09:41:26 +08:00
|
|
|
//
|
2019-03-02 08:18:09 +08:00
|
|
|
// PTHREAD:#define __wasm_atomics__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
[WebAssembly] Add mutable globals feature
Summary:
This feature is not actually used for anything in the WebAssembly
backend, but adding it allows users to get it into the target features
sections of their objects, which makes these objects
future-compatible.
Reviewers: aheejin, dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D60013
llvm-svn: 357321
2019-03-30 06:00:18 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mmutable-globals \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=MUTABLE-GLOBALS
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mmutable-globals \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=MUTABLE-GLOBALS
|
|
|
|
//
|
|
|
|
// MUTABLE-GLOBALS:#define __wasm_mutable_globals__ 1{{$}}
|
|
|
|
|
2019-05-24 01:26:47 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mmultivalue \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=MULTIVALUE
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mmultivalue \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=MULTIVALUE
|
|
|
|
//
|
|
|
|
// MULTIVALUE:#define __wasm_multivalue__ 1{{$}}
|
|
|
|
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mtail-call \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=TAIL-CALL
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mtail-call \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=TAIL-CALL
|
|
|
|
//
|
|
|
|
// TAIL-CALL:#define __wasm_tail_call__ 1{{$}}
|
2020-01-24 11:22:51 +08:00
|
|
|
//
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mreference-types \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=REFERENCE-TYPES
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mreference-types \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=REFERENCE-TYPES
|
|
|
|
//
|
|
|
|
// REFERENCE-TYPES:#define __wasm_reference_types__ 1{{$}}
|
2019-05-24 01:26:47 +08:00
|
|
|
|
2019-02-06 09:41:26 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
2015-09-04 06:51:53 +08:00
|
|
|
// RUN: -target wasm32-unknown-unknown -mcpu=mvp \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=MVP
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mcpu=mvp \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=MVP
|
|
|
|
//
|
|
|
|
// MVP-NOT:#define __wasm_simd128__
|
2019-02-01 05:02:19 +08:00
|
|
|
// MVP-NOT:#define __wasm_unimplemented_simd128__
|
|
|
|
// MVP-NOT:#define __wasm_nontrapping_fptoint__
|
|
|
|
// MVP-NOT:#define __wasm_sign_ext__
|
|
|
|
// MVP-NOT:#define __wasm_exception_handling__
|
|
|
|
// MVP-NOT:#define __wasm_bulk_memory__
|
2019-02-06 09:41:26 +08:00
|
|
|
// MVP-NOT:#define __wasm_atomics__
|
[WebAssembly] Add mutable globals feature
Summary:
This feature is not actually used for anything in the WebAssembly
backend, but adding it allows users to get it into the target features
sections of their objects, which makes these objects
future-compatible.
Reviewers: aheejin, dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D60013
llvm-svn: 357321
2019-03-30 06:00:18 +08:00
|
|
|
// MVP-NOT:#define __wasm_mutable_globals__
|
2019-05-24 01:26:47 +08:00
|
|
|
// MVP-NOT:#define __wasm_multivalue__
|
|
|
|
// MVP-NOT:#define __wasm_tail_call__
|
2020-01-24 11:22:51 +08:00
|
|
|
// MVP-NOT:#define __wasm_reference_types__
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2015-09-04 06:51:53 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mcpu=bleeding-edge \
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE
|
2015-09-04 06:51:53 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mcpu=bleeding-edge \
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE
|
2015-09-04 06:51:53 +08:00
|
|
|
//
|
2019-02-06 09:41:26 +08:00
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_nontrapping_fptoint__ 1{{$}}
|
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_sign_ext__ 1{{$}}
|
2020-01-24 11:32:32 +08:00
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_bulk_memory__ 1{{$}}
|
2019-02-06 09:41:26 +08:00
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_simd128__ 1{{$}}
|
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_atomics__ 1{{$}}
|
[WebAssembly] Add mutable globals feature
Summary:
This feature is not actually used for anything in the WebAssembly
backend, but adding it allows users to get it into the target features
sections of their objects, which makes these objects
future-compatible.
Reviewers: aheejin, dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D60013
llvm-svn: 357321
2019-03-30 06:00:18 +08:00
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_mutable_globals__ 1{{$}}
|
2020-01-24 11:32:32 +08:00
|
|
|
// BLEEDING-EDGE-DAG:#define __wasm_tail_call__ 1{{$}}
|
2019-02-01 05:02:19 +08:00
|
|
|
// BLEEDING-EDGE-NOT:#define __wasm_unimplemented_simd128__ 1{{$}}
|
2020-01-24 11:32:32 +08:00
|
|
|
// BLEEDING-EDGE-NOT:#define __wasm_exception_handling__ 1{{$}}
|
2019-05-24 01:26:47 +08:00
|
|
|
// BLEEDING-EDGE-NOT:#define __wasm_multivalue__ 1{{$}}
|
2020-01-24 11:22:51 +08:00
|
|
|
// BLEEDING-EDGE-NOT:#define __wasm_reference_types__ 1{{$}}
|
[WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.
The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.
A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.
Reviewers: aheejin, sbc100, dschuff
Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D58742
llvm-svn: 355112
2019-03-01 02:39:08 +08:00
|
|
|
|
2015-09-04 06:51:53 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm32-unknown-unknown -mcpu=bleeding-edge -mno-simd128 \
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE-NO-SIMD128
|
2015-09-04 06:51:53 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target wasm64-unknown-unknown -mcpu=bleeding-edge -mno-simd128 \
|
2019-02-01 05:02:19 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=BLEEDING-EDGE-NO-SIMD128
|
2015-09-04 06:51:53 +08:00
|
|
|
//
|
2019-02-01 05:02:19 +08:00
|
|
|
// BLEEDING-EDGE-NO-SIMD128-NOT:#define __wasm_simd128__
|