#
8d6fbc3a |
| 29-Feb-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
IRObject: Mark extern_weak as weak.
llvm-svn: 262222
|
Revision tags: llvmorg-3.8.0-rc3 |
|
#
cf981625 |
| 11-Feb-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use copy initialization.
We can do it since getMemBuffer returns a unique_ptr.
llvm-svn: 260576
|
Revision tags: llvmorg-3.8.0-rc2 |
|
#
b3e8a6d2 |
| 27-Jan-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs.
llvm-svn: 258917
|
Revision tags: llvmorg-3.8.0-rc1 |
|
#
9d2bfc48 |
| 14-Dec-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use diagnostic handler in the LLVMContext
This patch converts code that has access to a LLVMContext to not take a diagnostic handler.
This has a few advantages
* It is easier to use a consistent d
Use diagnostic handler in the LLVMContext
This patch converts code that has access to a LLVMContext to not take a diagnostic handler.
This has a few advantages
* It is easier to use a consistent diagnostic handler in a single program. * Less clutter since we are not passing a handler around.
It does make it a bit awkward to implement some C APIs that return a diagnostic string. I will propose new versions of these APIs and deprecate the current ones.
llvm-svn: 255571
show more ...
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
dc0dbe1f |
| 10-Nov-2015 |
Kevin Enderby <enderby@apple.com> |
Fix llvm-nm(1) printing of llvm-bitcode files for -format darwin to match darwin’s nm(1). Also a small fix to match printing of Mach-O objects with -format posix.
llvm-svn: 252567
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
c233f74e |
| 23-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify the Mangler interface now that DataLayout is mandatory.
We only need to pass in a DataLayout when mangling a raw string, not when constructing the mangler.
llvm-svn: 240405
|
#
dcd1dca2 |
| 16-Jun-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC.
llvm-svn: 239858
|
#
8d8b13dc |
| 16-Jun-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Recommit r239721: Replace string GNU Triples with llvm::Triple in InitMCObjectFileInfo. NFC.
Summary: This affects other tools so the previous C++ API has been retained as a deprecated function for
Recommit r239721: Replace string GNU Triples with llvm::Triple in InitMCObjectFileInfo. NFC.
Summary: This affects other tools so the previous C++ API has been retained as a deprecated function for the moment. Clang has been updated with a trivial patch (not covered by the pre-commit review) to avoid breaking -Werror builds. Other in-tree tools will be fixed with similar patches.
This continues the patch series to eliminate StringRef forms of GNU triples from the internals of LLVM that began in r239036.
The first time this was committed it accidentally fixed an inconsistency in triples in llvm-mc and this caused a failure. This inconsistency was fixed in r239808.
Reviewers: rengolin
Reviewed By: rengolin
Subscribers: llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10366
llvm-svn: 239812
show more ...
|
#
fa555dc7 |
| 15-Jun-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Revert r239721 - Replace string GNU Triples with llvm::Triple in InitMCObjectFileInfo. NFC.
It appears to cause sparc-little-endian.s to assert on Windows and Darwin.
llvm-svn: 239724
|
#
d6d12a11 |
| 15-Jun-2015 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Replace string GNU Triples with llvm::Triple in InitMCObjectFileInfo. NFC.
Summary: This affects other tools so the previous C++ API has been retained as a deprecated function for the moment. Clang
Replace string GNU Triples with llvm::Triple in InitMCObjectFileInfo. NFC.
Summary: This affects other tools so the previous C++ API has been retained as a deprecated function for the moment. Clang has been updated with a trivial patch (not covered by the pre-commit review) to avoid breaking -Werror builds. Other in-tree tools will be fixed with similar trivial patches.
This continues the patch series to eliminate StringRef forms of GNU triples from the internals of LLVM that began in r239036.
Reviewers: rengolin
Reviewed By: rengolin
Subscribers: llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10366
llvm-svn: 239721
show more ...
|
#
82e657b5 |
| 11-Jun-2015 |
Peter Collingbourne <peter@pcc.me.uk> |
Object: Prepend __imp_ when mangling a dllimport symbol in IRObjectFile.
We cannot prepend __imp_ in the IR mangler because a function reference may be emitted unmangled in a constant initializer. T
Object: Prepend __imp_ when mangling a dllimport symbol in IRObjectFile.
We cannot prepend __imp_ in the IR mangler because a function reference may be emitted unmangled in a constant initializer. The linker is expected to resolve such references to thunks. This is covered by the new test case.
Strictly speaking we ought to emit two undefined symbols, one with __imp_ and one without, as we cannot know which symbol the final object file will refer to. However, this would require rather intrusive changes to IRObjectFile, and lld works fine without it for now.
This reimplements r239437, which was reverted in r239502.
Differential Revision: http://reviews.llvm.org/D10400
llvm-svn: 239560
show more ...
|
#
7d099195 |
| 09-Jun-2015 |
Rui Ueyama <ruiu@google.com> |
Remove object_error::success and use std::error_code() instead
make_error_code(object_error) is slow because object::object_category() uses a ManagedStatic variable. But the real problem is that the
Remove object_error::success and use std::error_code() instead
make_error_code(object_error) is slow because object::object_category() uses a ManagedStatic variable. But the real problem is that the function is called too frequently. This patch uses std::error_code() instead of object_error::success. In most cases, we return "success", so this patch reduces number of function calls to that function.
http://reviews.llvm.org/D10333
llvm-svn: 239409
show more ...
|
#
81902a3a |
| 15-May-2015 |
Pete Cooper <peter_cooper@apple.com> |
Remove MCAssembler.h include from MCStreamer.h and fix users of MCStreamer.h
llvm-svn: 237483
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1 |
|
#
cba833a0 |
| 13-Mar-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Be lazy about loading metadata in IRObjectFile.
This speeds up llvm-ar building lib64/libclangSema.a with debug IR files from 8.658015807 seconds to just 0.351036519 seconds :-)
llvm-svn: 232221
|
#
46a43556 |
| 04-Mar-2015 |
Mehdi Amini <mehdi.amini@apple.com> |
Make DataLayout Non-Optional in the Module
Summary: DataLayout keeps the string used for its creation.
As a side effect it is no longer needed in the Module. This is "almost" NFC, the string is no
Make DataLayout Non-Optional in the Module
Summary: DataLayout keeps the string used for its creation.
As a side effect it is no longer needed in the Module. This is "almost" NFC, the string is no longer canonicalized, you can't rely on two "equals" DataLayout having the same string returned by getStringRepresentation().
Get rid of DataLayoutPass: the DataLayout is in the Module
The DataLayout is "per-module", let's enforce this by not duplicating it more than necessary. One more step toward non-optionality of the DataLayout in the module.
Make DataLayout Non-Optional in the Module
Module->getDataLayout() will never returns nullptr anymore.
Reviewers: echristo
Subscribers: resistor, llvm-commits, jholewinski
Differential Revision: http://reviews.llvm.org/D7992
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231270
show more ...
|
#
0a446fd5 |
| 01-Mar-2015 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add missing includes. make_unique proliferated everywhere.
llvm-svn: 230909
|
Revision tags: llvmorg-3.6.0 |
|
#
20c7259c |
| 19-Feb-2015 |
Peter Collingbourne <peter@pcc.me.uk> |
Introduce Target::createNullTargetStreamer and use it from IRObjectFile.
A null MCTargetStreamer allows IRObjectFile to ignore target-specific directives. Previously we were crashing.
Differential
Introduce Target::createNullTargetStreamer and use it from IRObjectFile.
A null MCTargetStreamer allows IRObjectFile to ignore target-specific directives. Previously we were crashing.
Differential Revision: http://reviews.llvm.org/D7711
llvm-svn: 229797
show more ...
|
Revision tags: llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1 |
|
#
d9903888 |
| 14-Jan-2015 |
Chandler Carruth <chandlerc@gmail.com> |
[cleanup] Re-sort all the #include lines in LLVM using utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This even uncovered a missing include from the Inst
[cleanup] Re-sort all the #include lines in LLVM using utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This even uncovered a missing include from the InstrProf library that I've added. No functionality changed here, just mechanical cleanup of the include order.
llvm-svn: 225974
show more ...
|
Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2 |
|
#
addddc44 |
| 15-Dec-2014 |
Michael Ilseman <milseman@apple.com> |
Silence more static analyzer warnings.
Add in definedness checks for shift operators, null checks when pointers are assumed by the code to be non-null, and explicit unreachables.
llvm-svn: 224255
|
#
5dec7eaa |
| 09-Dec-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Rename createIRObjectFile to just create.
It is a static method of IRObjectFile, so having to use IRObjectFile::createIRObjectFile was redundant.
llvm-svn: 223822
|
#
25a7e0a8 |
| 09-Dec-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move method out of line to make buildbot happy.
llvm-svn: 223781
|
#
527e846e |
| 09-Dec-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't lookup an object symbol name in the module.
Instead, walk the obj symbol list in parallel to find the GV. This shouldn't change anything on ELF where global symbols are not mangled, but it is
Don't lookup an object symbol name in the module.
Instead, walk the obj symbol list in parallel to find the GV. This shouldn't change anything on ELF where global symbols are not mangled, but it is a step toward supporting other object formats.
Gold itself is ELF only, but bfd ld supports COFF and the logic in the gold plugin could be reused on lld.
llvm-svn: 223780
show more ...
|
Revision tags: llvmorg-3.5.1-rc1 |
|
#
d4bcefc7 |
| 24-Oct-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't ever call materializeAllPermanently during LTO.
To do this, change the representation of lazy loaded functions.
The previous representation cannot differentiate between a function whose body
Don't ever call materializeAllPermanently during LTO.
To do this, change the representation of lazy loaded functions.
The previous representation cannot differentiate between a function whose body has been removed and one whose body hasn't been read from the .bc file. That means that in order to drop a function, the entire body had to be read.
llvm-svn: 220580
show more ...
|
#
10039c02 |
| 18-Sep-2014 |
Peter Collingbourne <peter@pcc.me.uk> |
LTO: introduce object file-based on-disk module format.
This format is simply a regular object file with the bitcode stored in a section named ".llvmbc", plus any number of other (non-allocated) sec
LTO: introduce object file-based on-disk module format.
This format is simply a regular object file with the bitcode stored in a section named ".llvmbc", plus any number of other (non-allocated) sections.
One immediate use case for this is to accommodate compilation processes which expect the object file to contain metadata in non-allocated sections, such as the ".go_export" section used by some Go compilers [1], although I imagine that in the future we could consider compiling parts of the module (such as large non-inlinable functions) directly into the object file to improve LTO efficiency.
[1] http://golang.org/doc/install/gccgo#Imports
Differential Revision: http://reviews.llvm.org/D4371
llvm-svn: 218078
show more ...
|
#
10a27df8 |
| 03-Sep-2014 |
David Blaikie <dblaikie@gmail.com> |
unique_ptrify IRObjectFile::createIRObjectFile
I took a guess at the changes to the gold plugin, because that doesn't seem to build by default for me. Not sure what dependencies I might be missing f
unique_ptrify IRObjectFile::createIRObjectFile
I took a guess at the changes to the gold plugin, because that doesn't seem to build by default for me. Not sure what dependencies I might be missing for that.
llvm-svn: 217056
show more ...
|