diff options
author | Stephen Hines <srhines@google.com> | 2014-08-14 16:32:50 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-08-20 12:21:41 -0700 |
commit | dd22d5ca3040cda08cd5702f9d0872c2db8da22f (patch) | |
tree | 9f9c909088c3164b53ac747b9dd529900baea1c2 | |
parent | 2d504fd03c66be56ac3b4bb62c78cc72c75dd8b6 (diff) | |
download | android_frameworks_compile_slang-dd22d5ca3040cda08cd5702f9d0872c2db8da22f.tar.gz android_frameworks_compile_slang-dd22d5ca3040cda08cd5702f9d0872c2db8da22f.tar.bz2 android_frameworks_compile_slang-dd22d5ca3040cda08cd5702f9d0872c2db8da22f.zip |
Emit both 32-bit and 64-bit bitcode for target API >= 21.
Bug: 16031597
Change-Id: I4e3437c2efcdb6102e805617b00720d04b897dc9
-rw-r--r-- | RSCCOptions.td | 3 | ||||
-rw-r--r-- | rs_cc_options.cpp | 11 | ||||
-rw-r--r-- | tests/P_v64/stderr.txt.expect | 0 | ||||
-rw-r--r-- | tests/P_v64/stdout.txt.expect | 0 | ||||
-rw-r--r-- | tests/P_v64/v64.rs | 23 |
5 files changed, 7 insertions, 30 deletions
diff --git a/RSCCOptions.td b/RSCCOptions.td index 554e971..1d5f536 100644 --- a/RSCCOptions.td +++ b/RSCCOptions.td @@ -137,8 +137,5 @@ def version : Flag<["-"], "version">, HelpText<"Print the assembler version">; def _version : Flag<["--"], "version">, Alias<version>; -def emit_32_64 : Flag<["-"], "emit_32_64">, - HelpText<"Emit 32-bit and 64-bit bitcode in source files">; - // Compatible with old slang def no_link : Flag<["-"], "no-link">; // currently no effect diff --git a/rs_cc_options.cpp b/rs_cc_options.cpp index a1f3762..f8d3fbe 100644 --- a/rs_cc_options.cpp +++ b/rs_cc_options.cpp @@ -206,10 +206,6 @@ void slang::ParseArguments(llvm::SmallVectorImpl<const char *> &ArgVector, Opts.mVerbose = Args->hasArg(OPT_verbose); // If we are emitting both 32-bit and 64-bit bitcode, we must embed it. - Opts.mEmit3264 = Args->hasArg(OPT_emit_32_64); - if (Opts.mEmit3264) { - Opts.mBitcodeStorage = slang::BCST_JAVA_CODE; - } size_t OptLevel = clang::getLastArgIntValue(*Args, OPT_optimization_level, 3, DiagEngine); @@ -223,5 +219,12 @@ void slang::ParseArguments(llvm::SmallVectorImpl<const char *> &ArgVector, if (Opts.mTargetAPI == 0) { Opts.mTargetAPI = UINT_MAX; } + + Opts.mEmit3264 = Opts.mTargetAPI >= 21; + if (Opts.mEmit3264) { + if (Opts.mBitcodeStorage != slang::BCST_CPP_CODE) { + Opts.mBitcodeStorage = slang::BCST_JAVA_CODE; + } + } } } diff --git a/tests/P_v64/stderr.txt.expect b/tests/P_v64/stderr.txt.expect deleted file mode 100644 index e69de29..0000000 --- a/tests/P_v64/stderr.txt.expect +++ /dev/null diff --git a/tests/P_v64/stdout.txt.expect b/tests/P_v64/stdout.txt.expect deleted file mode 100644 index e69de29..0000000 --- a/tests/P_v64/stdout.txt.expect +++ /dev/null diff --git a/tests/P_v64/v64.rs b/tests/P_v64/v64.rs deleted file mode 100644 index cfa3b7e..0000000 --- a/tests/P_v64/v64.rs +++ /dev/null @@ -1,23 +0,0 @@ -// -emit_32_64 -#pragma version(1) -#pragma rs java_package_name(foo) - -int RS_KERNEL root(uint32_t ain) { - return 0; -} - -void RS_KERNEL in_only(uint32_t ain) { -} - -int RS_KERNEL out_only() { - return 0; -} - -int RS_KERNEL everything(uint32_t ain, uint32_t x, uint32_t y) { - return 0; -} - -/*int v; -void test_invoke(rs_allocation a, int i) { - v = rsGetElementAt_int(a, i); -}*/ |