summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/codegen
Commit message (Collapse)AuthorAgeFilesLines
* Modular Codegen: Don't home always_inline functionsDavid Blaikie2017-11-022-0/+6
| | | | | | | | Since they'll likely (not always - if the address is taken, etc) be inlined away, even at -O0, separately provided weak definitions are likely to be unused so skip all of that. llvm-svn: 317279
* Modular Codegen: Include testing for inline asm as well as some commentary ↵David Blaikie2017-04-121-0/+2
| | | | | | on the implementaiton choice. llvm-svn: 300106
* Modular Codegen: Add/use a bit in serialized function definitions to track ↵David Blaikie2017-04-112-0/+34
| | | | | | | | | | | | | | | | | | | | | whether they are the subject of modular codegen Some decls are created not where they are written, but in other module files/users (implicit special members and function template implicit specializations). To correctly identify them, use a bit next to the definition to track the modular codegen property. Discussed whether the module file bit could be omitted in favor of reconstituting from the modular codegen decls list - best guess today is that the efficiency improvement of not having to deserialize the whole list whenever any function is queried by a module user is worth it for the small size increase of this redundant (list + bit-on-def) representation. Reviewers: rsmith Differential Revision: https://reviews.llvm.org/D29901 llvm-svn: 299982
* Initialize builtins during modular codegenDavid Blaikie2017-02-084-14/+3
| | | | llvm-svn: 294512
* Prototype of modules codegenDavid Blaikie2017-01-305-0/+16
First pass at generating weak definitions of inline functions from module files (& skipping (-O0) or emitting available_externally (optimizations) definitions where those modules are used). External functions defined in modules are emitted into the modular object file as well (this may turn an existing ODR violation (if that module were imported into multiple translations) into valid/linkable code). Internal symbols (static functions, for example) are not correctly supported yet. The symbol will be produced, internal, in the modular object - unreferenceable from the users. Reviewers: rsmith Differential Revision: https://reviews.llvm.org/D28845 llvm-svn: 293456
OpenPOWER on IntegriCloud