| #
9075f770 |
| 20-Feb-2015 |
Rafael Espindola <[email protected]> |
Use short names for jumptable sections.
Also refactor code to remove some duplication.
llvm-svn: 230087
|
|
Revision tags: llvmorg-3.6.0-rc4 |
|
| #
df195198 |
| 17-Feb-2015 |
Rafael Espindola <[email protected]> |
Add r228939 back with a fix.
The problem in the original patch was not switching back to .text after printing an eh table.
Original message:
On ELF, put PIC jump tables in a non executable section
Add r228939 back with a fix.
The problem in the original patch was not switching back to .text after printing an eh table.
Original message:
On ELF, put PIC jump tables in a non executable section.
Fixes PR22558.
llvm-svn: 229586
show more ...
|
| #
68fa249c |
| 17-Feb-2015 |
Rafael Espindola <[email protected]> |
Add r228980 back.
Add support for having multiple sections with the same name and comdat.
Using this in combination with -ffunction-sections allows LLVM to output a .o file with mulitple sections n
Add r228980 back.
Add support for having multiple sections with the same name and comdat.
Using this in combination with -ffunction-sections allows LLVM to output a .o file with mulitple sections named .text. This saves space by avoiding long unique names of the form .text.<C++ mangled name>.
llvm-svn: 229541
show more ...
|
| #
fc3e6267 |
| 16-Feb-2015 |
Michael Kuperstein <[email protected]> |
Fix quoting of #pragma comment for MS compat, LLVM part.
For #pragma comment(linker, ...) MSVC expects the comment string to be quoted, but for #pragma comment(lib, ...) the compiler itself quotes t
Fix quoting of #pragma comment for MS compat, LLVM part.
For #pragma comment(linker, ...) MSVC expects the comment string to be quoted, but for #pragma comment(lib, ...) the compiler itself quotes the library name. Since this distinction disappears by the time the directive reaches the backend, move quoting for the "lib" version to the frontend.
Differential Revision: http://reviews.llvm.org/D7652
llvm-svn: 229375
show more ...
|
| #
33cc1072 |
| 14-Feb-2015 |
Matthias Braun <[email protected]> |
Revert "On ELF, put PIC jump tables in a non executable section."
This reverts commit r228939.
The commit broke something in the output of exception handling tables on darwin x86-64.
llvm-svn: 229
Revert "On ELF, put PIC jump tables in a non executable section."
This reverts commit r228939.
The commit broke something in the output of exception handling tables on darwin x86-64.
llvm-svn: 229203
show more ...
|
| #
d99f427e |
| 13-Feb-2015 |
Chandler Carruth <[email protected]> |
Revert a series of commits starting at r228886 which is triggering some regressions for LLDB on Linux. Rafael indicated on lldb-dev that we should just go ahead and revert these but that he wasn't at
Revert a series of commits starting at r228886 which is triggering some regressions for LLDB on Linux. Rafael indicated on lldb-dev that we should just go ahead and revert these but that he wasn't at a computer. The patches backed out are as follows:
r228980: Add support for having multiple sections with the name and ... r228889: Invert the section relocation map. r228888: Use the existing SymbolTableIndex intsead of doing a lookup. r228886: Create the Section -> Rel Section map when it is first needed.
These patches look pretty nice to me, so hoping its not too hard to get them re-instated. =D
llvm-svn: 229080
show more ...
|
|
Revision tags: llvmorg-3.6.0-rc3 |
|
| #
b6a812eb |
| 12-Feb-2015 |
Rafael Espindola <[email protected]> |
Add support for having multiple sections with the same name and comdat.
Using this in combination with -ffunction-sections allows LLVM to output a .o file with mulitple sections named .text. This sa
Add support for having multiple sections with the same name and comdat.
Using this in combination with -ffunction-sections allows LLVM to output a .o file with mulitple sections named .text. This saves space by avoiding long unique names of the form .text.<C++ mangled name>.
llvm-svn: 228980
show more ...
|
| #
203c5b9f |
| 12-Feb-2015 |
Rafael Espindola <[email protected]> |
On ELF, put PIC jump tables in a non executable section.
Fixes PR22558.
llvm-svn: 228939
|
| #
29786d4c |
| 12-Feb-2015 |
Rafael Espindola <[email protected]> |
Put each jump table in an independent section if the function is too.
This allows the linker to GC both, fixing pr22557.
llvm-svn: 228937
|
| #
25d2c20c |
| 11-Feb-2015 |
Rafael Espindola <[email protected]> |
Don't repeat name in comment and clang-format a function.
llvm-svn: 228831
|
| #
f8d662aa |
| 05-Feb-2015 |
Rafael Espindola <[email protected]> |
Add a FIXME.
Thanks to Eric for the suggestion.
llvm-svn: 228300
|
| #
a092f175 |
| 04-Feb-2015 |
Rafael Espindola <[email protected]> |
Don' try to make sections in comdats SHF_MERGE.
Parts of llvm were not expecting it and we wouldn't print the entity size of the section.
Given what comdats are used for, having SHF_MERGE sections
Don' try to make sections in comdats SHF_MERGE.
Parts of llvm were not expecting it and we wouldn't print the entity size of the section.
Given what comdats are used for, having SHF_MERGE sections would be just a small improvement, so just disable it for now.
Fixes pr22463.
llvm-svn: 228196
show more ...
|
|
Revision tags: llvmorg-3.6.0-rc2 |
|
| #
ba31e27f |
| 29-Jan-2015 |
Rafael Espindola <[email protected]> |
Compute the ELF SectionKind from the flags.
Any code creating an MCSectionELF knows ELF and already provides the flags.
SectionKind is an abstraction used by common code that uses a plain MCSection
Compute the ELF SectionKind from the flags.
Any code creating an MCSectionELF knows ELF and already provides the flags.
SectionKind is an abstraction used by common code that uses a plain MCSection.
Use the flags to compute the SectionKind. This removes a lot of guessing and boilerplate from the MCSectionELF construction.
llvm-svn: 227476
show more ...
|
| #
093dcc43 |
| 29-Jan-2015 |
Rafael Espindola <[email protected]> |
Use isMergeableConst now that it is sane.
llvm-svn: 227441
|
| #
fad39010 |
| 29-Jan-2015 |
Rafael Espindola <[email protected]> |
Don't create multiple mergeable sections with -fdata-sections.
ELF has support for sections that can be split into fixed size or null terminated entities.
Since these sections can be split by the l
Don't create multiple mergeable sections with -fdata-sections.
ELF has support for sections that can be split into fixed size or null terminated entities.
Since these sections can be split by the linker, it is not necessary to split them in codegen.
This reduces the combined .o size in a llvm+clang build from 202,394,570 to 173,819,098 bytes.
The time for linking clang with gold (on a VM, on a laptop) goes from 2.250089985 to 1.383001792 seconds.
The flip side is the size of rodata in clang goes from 10,926,785 to 10,929,345 bytes.
The increase seems to be because of http://sourceware.org/bugzilla/show_bug.cgi?id=17902.
llvm-svn: 227431
show more ...
|
| #
a05b3b73 |
| 28-Jan-2015 |
Rafael Espindola <[email protected]> |
Simplify code. NFC.
llvm-svn: 227333
|
| #
8b770651 |
| 26-Jan-2015 |
Eric Christopher <[email protected]> |
Move DataLayout back to the TargetMachine from TargetSubtargetInfo derived classes.
Since global data alignment, layout, and mangling is often based on the DataLayout, move it to the TargetMachine.
Move DataLayout back to the TargetMachine from TargetSubtargetInfo derived classes.
Since global data alignment, layout, and mangling is often based on the DataLayout, move it to the TargetMachine. This ensures that global data is going to be layed out and mangled consistently if the subtarget changes on a per function basis. Prior to this all targets(*) have had subtarget dependent code moved out and onto the TargetMachine.
*One target hasn't been migrated as part of this change: R600. The R600 port has, as a subtarget feature, the size of pointers and this affects global data layout. I've currently hacked in a FIXME to enable progress, but the port needs to be updated to either pass the 64-bitness to the TargetMachine, or fix the DataLayout to avoid subtarget dependent features.
llvm-svn: 227113
show more ...
|
| #
12ca34f5 |
| 19-Jan-2015 |
Rafael Espindola <[email protected]> |
Bring r226038 back.
No change in this commit, but clang was changed to also produce trivial comdats when needed.
Original message:
Don't create new comdats in CodeGen.
This patch stops the implic
Bring r226038 back.
No change in this commit, but clang was changed to also produce trivial comdats when needed.
Original message:
Don't create new comdats in CodeGen.
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc now produce the same result in pr19848.
llvm-svn: 226467
show more ...
|
| #
60b72136 |
| 16-Jan-2015 |
Timur Iskhodzhanov <[email protected]> |
Revert r226242 - Revert Revert Don't create new comdats in CodeGen
This breaks AddressSanitizer (ninja check-asan) on Windows
llvm-svn: 226251
|
| #
67a79e72 |
| 16-Jan-2015 |
Rafael Espindola <[email protected]> |
Revert "Revert Don't create new comdats in CodeGen"
This reverts commit r226173, adding r226038 back.
No change in this commit, but clang was changed to also produce trivial comdats for costructors
Revert "Revert Don't create new comdats in CodeGen"
This reverts commit r226173, adding r226038 back.
No change in this commit, but clang was changed to also produce trivial comdats for costructors, destructors and vtables when needed.
Original message:
Don't create new comdats in CodeGen.
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc now produce the same result in pr19848.
llvm-svn: 226242
show more ...
|
| #
f5adf13f |
| 15-Jan-2015 |
Timur Iskhodzhanov <[email protected]> |
Revert Don't create new comdats in CodeGen
It breaks AddressSanitizer on Windows.
llvm-svn: 226173
|
|
Revision tags: llvmorg-3.6.0-rc1 |
|
| #
fad1639a |
| 14-Jan-2015 |
Rafael Espindola <[email protected]> |
Don't create new comdats in CodeGen.
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc now pr
Don't create new comdats in CodeGen.
This patch stops the implicit creation of comdats during codegen.
Clang now sets the comdat explicitly when it is required. With this patch clang and gcc now produce the same result in pr19848.
llvm-svn: 226038
show more ...
|
| #
1e923ec1 |
| 09-Jan-2015 |
Lang Hames <[email protected]> |
Recommit r224935 with a fix for the ObjC++/AArch64 bug that that revision introduced.
A test case for the bug was already committed in r225385.
Patch by Rafael Espindola.
llvm-svn: 225534
|
| #
66f755f8 |
| 06-Jan-2015 |
Lang Hames <[email protected]> |
Revert r224935 "Refactor duplicated code. No intended functionality change."
This is affecting the behavior of some ObjC++ / AArch64 test cases on Darwin. Reverting to get the bots green while I tra
Revert r224935 "Refactor duplicated code. No intended functionality change."
This is affecting the behavior of some ObjC++ / AArch64 test cases on Darwin. Reverting to get the bots green while I track down the source of the changed behavior.
llvm-svn: 225311
show more ...
|
| #
c43b0633 |
| 30-Dec-2014 |
Michael Kuperstein <[email protected]> |
[COFF] Don't try to add quotes to already quoted linker directives
If a linker directive is already quoted, don't try to quote it again, otherwise it creates a mess. This pops up in places like: #pr
[COFF] Don't try to add quotes to already quoted linker directives
If a linker directive is already quoted, don't try to quote it again, otherwise it creates a mess. This pops up in places like: #pragma comment(linker,"\"/foo bar'\"")
Differential Revision: http://reviews.llvm.org/D6792
llvm-svn: 224998
show more ...
|