aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-08-14 16:32:50 -0700
committerStephen Hines <srhines@google.com>2014-08-20 12:21:41 -0700
commitdd22d5ca3040cda08cd5702f9d0872c2db8da22f (patch)
tree9f9c909088c3164b53ac747b9dd529900baea1c2
parent2d504fd03c66be56ac3b4bb62c78cc72c75dd8b6 (diff)
downloadandroid_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.td3
-rw-r--r--rs_cc_options.cpp11
-rw-r--r--tests/P_v64/stderr.txt.expect0
-rw-r--r--tests/P_v64/stdout.txt.expect0
-rw-r--r--tests/P_v64/v64.rs23
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);
-}*/