History log of /frameworks/compile/slang/llvm-rs-cc.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8f093e05e28046b6fc74175b66a06152f72e0c66 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update slang for LLVM rebase to r256229

Bug: http://b/26987366

(cherry picked from commit 98cfae456bb1831336bce2b21979a04e2e31fed4)

Change-Id: Ic7f67da3fee0da075f11e3125132af7ea9c96457
/frameworks/compile/slang/llvm-rs-cc.cpp
460cb4bae3cd621fc8ce615a60d6b194d5532bc3 15-Aug-2015 Stephen Hines <srhines@google.com> Merge "Update Slang for LLVM rebase to r239765"
9534de12d6a243d8cbee7f3ef99829bab786e89a 29-Jul-2015 Elliott Hughes <enh@google.com> Move frameworks/compile/slang off AndroidConfig.h.

Change-Id: I07e8bcde8e783712552f0029883a32fb93359a0c
/frameworks/compile/slang/llvm-rs-cc.cpp
1906a00dce8e32fe3bb8a957e333ebbbee0888e3 29-Jun-2015 Pirama Arumuga Nainar <pirama@google.com> Update Slang for LLVM rebase to r239765

Change-Id: I397b780af624f4a78382e9ec74e58e038aa9d2dc
/frameworks/compile/slang/llvm-rs-cc.cpp
bfbdd981372bf0694e5be3bffaaeae421d017dcc 26-Jun-2015 Miao Wang <miaowang@google.com> Make llvm-rs-cc able to emit 64bit bitcode for RS C++ API

bug:21934603

(cherry-picked from commit:bb68ab31a5b44d62ab1dafa612cdc9a3f2d2c4e)

Change-Id: I7c69b64739d0ce8b2fadfeb32307ec17ae06b382
/frameworks/compile/slang/llvm-rs-cc.cpp
5309b0cbeda2c75eedf6627e06f4471c77f98f83 02-May-2015 Jean-Luc Brouillet <jeanluc@google.com> Enable warnings in llvm_rs_cc

- Fixed a bug that prevented llvm_rs_cc from emitting many warnings.
- Add support so that we can do Wno-error (needed to avoid deprecation warnings
from breaking the build).
- Add test to verify deprecated warning works.
- Simplified slang top level to clean up handling of 32/64 bit compilation handling.

Change-Id: Ibacfa7d3d9708cb39a33b71da9621aee2718f758
/frameworks/compile/slang/llvm-rs-cc.cpp
c247363f17b7b2c80a787941069d6e25fe5c0770 14-May-2015 Jean-Luc Brouillet <jeanluc@google.com> Use the llvm command line handling.

Instead of copy&paste code, use instead the functions provided by llvm.
Also added a test to check that the flag "warning as errors" works.

Change-Id: I8c00d8385bcfb4ad9d0bc559cdb6343aac780406
/frameworks/compile/slang/llvm-rs-cc.cpp
8024ed54c23c08534434da14d3be99c3efcc5754 05-May-2015 Jean-Luc Brouillet <jeanluc@google.com> Merge Slang with SlangRS, Backend with RSBackend.

Change-Id: I4721f92c10ec14a886923778595289f96d3a8de5
/frameworks/compile/slang/llvm-rs-cc.cpp
76837a1d0d86300c09c093b535d5fc4b638f6805 29-Apr-2015 Yang Ni <yangni@google.com> Fix slang option -emit-llvm

b/20671381

Produce .ll file instead of .bc.

Change-Id: I26749e0e64f313b77e9a08fe4579803382795dc5
/frameworks/compile/slang/llvm-rs-cc.cpp
2d504fd03c66be56ac3b4bb62c78cc72c75dd8b6 15-Aug-2014 Stephen Hines <srhines@google.com> Suppress warnings on our second compilation (for 64-bit).

Bug: 16031597
Bug: 17052573

Without this patch the 64-bit compilation path will print duplicate warning
diagnostics, since we call the frontend twice (for 32-bit, and then 64-bit).
The simplest fix is to not print warnings for the second compilation. A bug
(17052573) has been filed to track fixing this a better way (actually printing
out all warning diagnostics, but removing duplicates explicitly).

Change-Id: I78ac0ebd2b132713ec0c86c2cf234da2b620eecf
/frameworks/compile/slang/llvm-rs-cc.cpp
7ac9d0de26d325071ad3f26f8d34514efca2d3d6 16-Jul-2014 Stephen Hines <srhines@google.com> Update slang for LLVM rebase to r212749.

Change-Id: I5819f9df3212ffcfa8f34c11d3cea29f1fd04878
/frameworks/compile/slang/llvm-rs-cc.cpp
9ae18b2bbee0b08afd400542e863dd665ff76059 11-Jun-2014 Stephen Hines <srhines@google.com> Add an option to emit 32-bit and 64-bit bitcode.

Bug: 16031597

Change-Id: Ifb3c4eca5e7ae16106260c2b5f5da6854c021a3a
/frameworks/compile/slang/llvm-rs-cc.cpp
7f5704efe0c59d5599f1ac7056976225dbfab946 11-Jun-2014 Stephen Hines <srhines@google.com> Clean up more of the RSCCOptions class.

Pass a bunch of arguments using the class directly. Move the documentation
next to the actual option declarations, rather than as part of a huge call
to "compile()". Convert from bitfields to bool.

Change-Id: I666dea469717f1f0ae59e0220a6146c96fc0fb7c
/frameworks/compile/slang/llvm-rs-cc.cpp
8b5c5c6566078d49c4dcd8d8c7a6364c33c09037 07-Jun-2014 Stephen Hines <srhines@google.com> Separate out option processing from llvm-rs-cc.cpp.

Change-Id: I8abcc6d91820d8e6963f6579a5c6bbb95d6e2c7c
/frameworks/compile/slang/llvm-rs-cc.cpp
75d471819f1810e0e65224d6e57fe1106af0d340 28-May-2014 Stephen Hines <srhines@google.com> Update slang for LLVM 3.5 rebase (r209713).

Change-Id: If0f510085358d2e48c865257851d9ff7f5846eb8
/frameworks/compile/slang/llvm-rs-cc.cpp
796e7b1400d3f3f7c07496d88bb48129ea925bb9 27-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove useless "return;" statements.

More cleanups to follow...

Change-Id: Ib8348255273771c1e9ff07e79bd7fbc8f2795a5b
/frameworks/compile/slang/llvm-rs-cc.cpp
476d4f5a0249a3318cb86460e6a1adb2b40ecd6f 18-Nov-2013 Stephen Hines <srhines@google.com> Fix C++ reflection so that -p works.

The C++ reflection code was missing support for the -p option, which allows
the developer to place the .cpp/.h files into a different directory than the
bitcode. It was also missing directory creation (and path separators) for that
option.

Change-Id: I5b16a6d109c6df8ca3e1542e0c5345691037bf85
/frameworks/compile/slang/llvm-rs-cc.cpp
a1f95ee8df425089100148a42954cf61dc285015 09-Aug-2013 Stephen Hines <srhines@google.com> Update slang for LLVM merge up to r187914.

Move OptParser.td dependency to use LLVM's version.
Switch to llvm::sys::fs::F_* enums.
Switch to LLVM Option handling library (not in Clang any more).
Add new ALIASARGS field to OPTION macro.
Switch to clang::getLastArgIntValue() helper function.
Use llvm::sys::fs::OpenFlags as enum and not unsigned int.
Remove unused DisableSimplifyLibCalls().
Switch to llvm::sys::fs::create_directories().

Change-Id: I9b12e18b759536c762ea0dd43356907ee53dbddb
/frameworks/compile/slang/llvm-rs-cc.cpp
23c4358f12bd9d0ba7166eceebd683db95a41b3f 10-Jan-2013 Stephen Hines <srhines@google.com> Updates for LLVM merge to r171906 on 20130108.

Change-Id: I4cf3718041d8876d4a23a412b6b4fa4226ec3b50
/frameworks/compile/slang/llvm-rs-cc.cpp
b2fbbb91bd9d86e2dd56b2d102752e8c51aaafdf 28-Sep-2012 Tim Murray <timmurray@google.com> Enable C++ reflection, fixing many minor bugs in the process.

Change-Id: Icc694578b649b1fed9ea26654f2b0449ea14089c
/frameworks/compile/slang/llvm-rs-cc.cpp
0a813a3ef2a82f19d7eab9e23ae8493197143803 04-Aug-2012 Stephen Hines <srhines@google.com> Add RS package name option + support.

Usage:
llvm-rs-cc -rs-package-name=android.renderscript ...
or
llvm-rs-cc -rs-package-name android.renderscript ...

This allows us to reflect a different import path for our base RS classes.
The default value is "android.renderscript", resulting in a reflection that
produces "import android.renderscript.*;".

Change-Id: Icf7e83b963ba70c803899697f49b41fdfb9586e7
/frameworks/compile/slang/llvm-rs-cc.cpp
43730fe3c839af391efe6bdf56b0479860121924 03-Aug-2012 Shih-wei Liao <sliao@google.com> Apply changes to migrate to CLANG-160673-20120724.

Change-Id: I666df2ff91532318883dd48ea1249178b2ebda81
/frameworks/compile/slang/llvm-rs-cc.cpp
3c9c8645f52ea95e94f88715f9594750567a4e33 02-Mar-2012 Stephen Hines <srhines@google.com> Merge "Add option to generate reflected C++ code."
e3cb21bc8654181da174ac441acec7726b5a78ec 02-Mar-2012 Jean-Baptiste Queru <jbq@google.com> am fa5209a2: am 9c459f0c: Merge "Enable emission of debugger-friendly bitcode"

* commit 'fa5209a2bd1e10f675a889c60d8d5a589e860d18':
Enable emission of debugger-friendly bitcode
5c25c5159c0a5be9af992679067790716626da7b 27-Feb-2012 Stephen Hines <srhines@google.com> Add option to generate reflected C++ code.

BUG=5972398

Change-Id: Ib31ca4bd48a0aa15ebb27092a1ba502e7520d0cf
/frameworks/compile/slang/llvm-rs-cc.cpp
c460b37ffb50819a32c2a8967754b6f784b28263 09-Jan-2012 mkopec1 <mkopec1@intel.com> Enable emission of debugger-friendly bitcode

- Add "-g" flag to llvm-rs-cc in order to emit debug metadata
- Add optimization level parameter -O and tests
- Add lit based tests (use llvm-lit from libbcc/tests/debuginfo)
-- Add README file for lit-tests directory

Change-Id: I5e2f6f9b6f536fa7a10de008b54ac0878cf352a9
/frameworks/compile/slang/llvm-rs-cc.cpp
8f4d972ef6c6796ffdde603e456979a7004d1e20 05-Dec-2011 Stephen Hines <srhines@google.com> Add support for warning flag processing.

BUG=5714569

Change-Id: I96567325df605c5eb0f0bf2f2371a1cea9718a5b
/frameworks/compile/slang/llvm-rs-cc.cpp
9207a2e495c8363606861e4f034504ec5c153dab 21-Oct-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to LLVM upstream Oct 20th 2011.

- StructType::isAnonymous is renamed to StructType::isLiteral.

- PassManagerBuilder has been moved from
llvm/Support/PassManagerBuilder.h to
llvm/Transforms/IPO/PassManagerBuilder.h

- Include llvm/Transforms/IPO.h for llvm::createInternalizePass.

- clang::DiagClient has be renamed to clang::DiagnosticConsumer.
Besides, we have to implement one additional pure virtual method
'clone' for create a clone of slang::DiagnosticBuffer.

- llvm::Linker::LinkModules comes with one additional parameter.
Passing llvm::Linker::DestroySource should be equivalent to
the old code we were using.

- slang::Slang is now derived from clang::ModuleLoader and implemented
loadModule pure virtual method (though we will always return NULL.)

- clang::Preprocessor is taking one additional parameter for
clang::ModuleLoader.

- clang::Diagnostic has been changed. A lot of the method has been
moved to clang::DiagnosticsEngine, and we can no longer 'Report' a
diagnostic from clang::Diagnostic. We have to use
clang::DiagnosticEngine instead.

- llvm::setCodeModel has been removed.

Change-Id: I1f2a4cbeaf61a8ed1d0d635a5a0e1baa90d99d07
/frameworks/compile/slang/llvm-rs-cc.cpp
18ca8cfc2b9e60e4aa4b4269e2b02c5f6f245822 21-Oct-2011 Stephen Hines <srhines@google.com> Use 64-bit longs with llvm-rs-cc.

Change-Id: Ib8269072b6533bc2b1f17ac888f41cf939a6ea73
/frameworks/compile/slang/llvm-rs-cc.cpp
c632be206ac4fe49a5db05cfa54942d774329dbe 24-Sep-2011 Stephen Hines <srhines@google.com> Generate warnings properly for multi-file compiles.

BUG=5367019

Slang (llvm-rs-cc) was clobbering warnings during multi-file compilation
because they are not part of the error count. When the diagnostics get reset,
we should be dumping whichever non-error (i.e. warning) diagnostics we have
accumulated. During investigation, I also found then that our dependency
generation path can cause duplicate warnings to be added to the diagnostic
client. Thus, to fix this bug, the change need dumps relevant diagnostics, but
then suppresses warnings if we are compiling the same file multiple times
(once for code generation and once for dependencies).

Change-Id: I4b94e962f93b96f31ff7e7d6cce45418fe39e1d1
/frameworks/compile/slang/llvm-rs-cc.cpp
ba7c6dc08e1ab8486ccaf842e8ae87dc5c99d8cf 08-Sep-2011 Stephen Hines <srhines@google.com> Fix -version information for llvm-rs-cc.

Change-Id: I30caa96c139308c71d912f19df2119e31025ffe3
/frameworks/compile/slang/llvm-rs-cc.cpp
b7d1269f983f28d9fe625a96439fa88b39dc96f6 03-Sep-2011 Stephen Hines <srhines@google.com> Remove obsolete/confusing options and fix strings.

Change-Id: I26b5eeea7ddc8cc4984745daa52635ea95ad7c66
/frameworks/compile/slang/llvm-rs-cc.cpp
2e35b136cc2434080fcd682d2f95e53a87675dd4 22-Jul-2011 Stephen Hines <srhines@google.com> Add support for -target-api <n> to llvm-rs-cc.

Change-Id: Ieaef83fae55f84e87a9301b377633ac658a724b6
/frameworks/compile/slang/llvm-rs-cc.cpp
6f4e0a9955a53a6f715af7e674e68ed15270a47c 09-Mar-2011 Logan Chien <tzuhsiang.chien@gmail.com> Migrate to newer API.

Following function (left) is deprecated, use the right version
instead:

llvm::sys::Path::getLast -> llvm::sys::path::filename
llvm::sys::Path::getBasename -> llvm::sys::path::stem
llvm::sys::Path::getDirname -> llvm::sys::path::parent_path
/frameworks/compile/slang/llvm-rs-cc.cpp
be27482cdeaf08576bc39b72a15d35d13014a636 16-Feb-2011 Logan <tzuhsiang.chien@gmail.com> Apply changes to migrate to LLVM Mar 6th 2011.

- API for name mangling. (Changing from non-public APIs to the
public one)

- API changes for clang::Diagnostic::getNumErrors ->
clang::Diagnostic::hasErrorOccurred

- API changes for clang::CharUnits and Quantity type.

- API changes libLLVMSystem -> libLLVMSupport.

- Change clang::Token::eom -> clang::Token::eod.

- Remove SourceRange parameter for DeclRefExpr::Create and
MemberExpr::Create.

- Add const qualifier for several unsafe type cast.
/frameworks/compile/slang/llvm-rs-cc.cpp
d7f0ea21058abbdd1edfd3df65762fa3c91cb224 23-Feb-2011 Stephen Hines <srhines@google.com> Warnings should be emitted on successful compiles too.

BUG=3467229

Change-Id: I232605708b97dbe77ede1443bdb8af8f4af238b6
/frameworks/compile/slang/llvm-rs-cc.cpp
8d5a2f6ab321615bfb3a46f68aff0b643a71caa0 08-Feb-2011 Raphael <raphael@google.com> Support Windows paths in slang.

Change-Id: I5240164d1d83f7816973a0e6ee9c26e337e605b1
/frameworks/compile/slang/llvm-rs-cc.cpp
6e6578a360497f78a181e63d7783422a9c9bfb15 08-Feb-2011 Stephen Hines <srhines@google.com> Add support for assertions in llvm-rs-cc.

Bug: 3430674
Change-Id: I3400238652449cde84275cc2a770f405332d9544
/frameworks/compile/slang/llvm-rs-cc.cpp
e639eb5caa2c386b4a60659a4929e8a6141a2cbe 09-Nov-2010 Stephen Hines <srhines@google.com> Improve code style.

Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/llvm-rs-cc.cpp
190ac89717c8be2e838a7be513566fba6d1467a5 21-Oct-2010 Patrick Scott <phanna@android.com> Add missing break statement.

Only shows up when NDEBUG is not defined.

Change-Id: I00c400b5b773b40f004bca5d173a74c7febe0349
/frameworks/compile/slang/llvm-rs-cc.cpp
641558f02fe6ce0ee3ae5076eb366c25e2ad5903 12-Oct-2010 Zonr Chang <zonr@google.com> Implement one-definition-rule (ODR) feature.

When compiling multiple RS files, we say two RS files A and B break ODR
iff:

1. They have at least one common struct named [S] and [S] will be reflected
to ScriptField_[S].java, and
2. [S] defined in A is not *exactly the same* (number of fields, field
type and field name) as the one defined in B.

This CL detects such error.
/frameworks/compile/slang/llvm-rs-cc.cpp
cf6af6abc1de499920571308b14a27e19cf57097 11-Oct-2010 Zonr Chang <zonr@google.com> Refine the SlangRS::compile() API.

This makes compile() methods in SlangRS more reasonable. And this is
part of commits for ODR. The SlangRS::compile() now compiles "a group of
RS files" instead of one by one individually.
/frameworks/compile/slang/llvm-rs-cc.cpp
c383a500aa59423264811be3874461bf8adbfea0 11-Oct-2010 Zonr Chang <zonr@google.com> Prepend legal announcement in all files.

Release libslang/llvm-rs-cc/llvm-rs-link under Apache 2.0 license.
/frameworks/compile/slang/llvm-rs-cc.cpp
e8c263a1c5df81594cf302ecadd813909c894487 11-Oct-2010 Zonr Chang <zonr@google.com> Refactor a bit & -M bug fixed.

1. Use llvm::tool_output_file instead of llvm::raw_stream. The former
can automatically deleted itself from filesystem once the compilation failed.
2. Fix -M bug which causes segfault previously.
/frameworks/compile/slang/llvm-rs-cc.cpp
c6d19a19c34899b2f6f61b0359ce0b2bc2fe969e 11-Oct-2010 Shih-wei Liao <sliao@google.com> Return 1 in main() to stop the build system when there's an error.

Change-Id: Ibc75155278e1d2dd820a000baabeaac0d651badc
/frameworks/compile/slang/llvm-rs-cc.cpp
603217c72ef310ea385f906662c7d6136d45f464 11-Oct-2010 Shih-wei Liao <sliao@google.com> Triple initialization.

Change-Id: I153e1e700f2730f8596249a70a0c7077dafc3de0
/frameworks/compile/slang/llvm-rs-cc.cpp
b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ec 10-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "Revert "New implementation of llvm-rs-cc (replacement of slang_driver).""

This reverts commit a6d60672695f1438a63acdbf85eae7f97ce2b50d.
/frameworks/compile/slang/llvm-rs-cc.cpp
a6d60672695f1438a63acdbf85eae7f97ce2b50d 10-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "New implementation of llvm-rs-cc (replacement of slang_driver)."

This reverts commit 6791df284557f4173a9715b3634f4f4901a6bb8a.
/frameworks/compile/slang/llvm-rs-cc.cpp
6791df284557f4173a9715b3634f4f4901a6bb8a 09-Oct-2010 Shih-wei Liao <sliao@google.com> New implementation of llvm-rs-cc (replacement of slang_driver).

Change-Id: I1b8b6cf3dad8ef8fe2f4d24d4df604099f45ff37
/frameworks/compile/slang/llvm-rs-cc.cpp