|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2 |
|
| #
04b68446 |
| 28-Nov-2017 |
Martin Storsjo <[email protected]> |
[COFF] Implement constructor priorities
The priorities in the section name suffixes are zero padded, allowing the linker to just do a lexical sort.
Add zero padding for .ctors sections in ELF as we
[COFF] Implement constructor priorities
The priorities in the section name suffixes are zero padded, allowing the linker to just do a lexical sort.
Add zero padding for .ctors sections in ELF as well.
Differential Revision: https://reviews.llvm.org/D40407
llvm-svn: 319150
show more ...
|
| #
e7353446 |
| 15-Nov-2017 |
Fangrui Song <[email protected]> |
NFC Remove default argument of DataLayout::getPointerABIAlignment
Differential Revision: https://reviews.llvm.org/D40005
llvm-svn: 318272
|
| #
99966076 |
| 14-Nov-2017 |
Sam Clegg <[email protected]> |
[WebAssembly] Explicily disable comdat support for wasm output
For now at least. We clearly need some kind of comdat or linkonce_odr support for wasm but currently COMDAT is not supported.
Disable
[WebAssembly] Explicily disable comdat support for wasm output
For now at least. We clearly need some kind of comdat or linkonce_odr support for wasm but currently COMDAT is not supported.
Disable COMDAT support in the same way we do the Mach-O. This also causes clang not to generated COMDATs.
Differential Revision: https://reviews.llvm.org/D39873
llvm-svn: 318123
show more ...
|
|
Revision tags: llvmorg-5.0.1-rc1 |
|
| #
12fd3da9 |
| 20-Oct-2017 |
Sam Clegg <[email protected]> |
[WebAssembly] MC: Fix crash when -g specified.
At this point we don't output any debug sections or thier relocations.
Differential Revision: https://reviews.llvm.org/D39076
llvm-svn: 316240
|
| #
b2b019f7 |
| 03-Oct-2017 |
Sam Clegg <[email protected]> |
[WebAssembly] MC: Support for init_array and fini_array
Differential Revision: https://reviews.llvm.org/D37757
llvm-svn: 314783
|
| #
759631c7 |
| 15-Sep-2017 |
Sam Clegg <[email protected]> |
[WebAssembly] MC: Create wasm data segments based on MCSections
This means that we can honor -fdata-sections rather than always creating a segment for each symbol.
It also allows for a followup cha
[WebAssembly] MC: Create wasm data segments based on MCSections
This means that we can honor -fdata-sections rather than always creating a segment for each symbol.
It also allows for a followup change to add .init_array and friends.
Differential Revision: https://reviews.llvm.org/D37876
llvm-svn: 313395
show more ...
|
| #
2176a9f2 |
| 12-Sep-2017 |
Sam Clegg <[email protected]> |
[WebAssembly] Remove flags from MCSectionWasm
Looks like these were copied from the ELF sections but don't apply to Wasm and were not used anywhere.
Also remove unused Wasm methods in MCContext.
D
[WebAssembly] Remove flags from MCSectionWasm
Looks like these were copied from the ELF sections but don't apply to Wasm and were not used anywhere.
Also remove unused Wasm methods in MCContext.
Differential Revision: https://reviews.llvm.org/D37633
llvm-svn: 313058
show more ...
|
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3 |
|
| #
89061b22 |
| 12-Jun-2017 |
Peter Collingbourne <[email protected]> |
IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata.
The new metadata is easier to manipulate than module flags.
Differential Revision: https://reviews.llvm.org/D
IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata.
The new metadata is easier to manipulate than module flags.
Differential Revision: https://reviews.llvm.org/D31349
llvm-svn: 305227
show more ...
|
| #
264b5d9e |
| 07-Jun-2017 |
Zachary Turner <[email protected]> |
Move Object format code to lib/BinaryFormat.
This creates a new library called BinaryFormat that has all of the headers from llvm/Support containing structure and layout definitions for various type
Move Object format code to lib/BinaryFormat.
This creates a new library called BinaryFormat that has all of the headers from llvm/Support containing structure and layout definitions for various types of binary formats like dwarf, coff, elf, etc as well as the code for identifying a file from its magic.
Differential Revision: https://reviews.llvm.org/D33843
llvm-svn: 304864
show more ...
|
| #
6bda14b3 |
| 06-Jun-2017 |
Chandler Carruth <[email protected]> |
Sort the remaining #include lines in include/... and lib/....
I did this a long time ago with a janky python script, but now clang-format has built-in support for this. I fed clang-format every line
Sort the remaining #include lines in include/... and lib/....
I did this a long time ago with a janky python script, but now clang-format has built-in support for this. I fed clang-format every line with a #include and let it re-sort things according to the precise LLVM rules for include ordering baked into clang-format these days.
I've reverted a number of files where the results of sorting includes isn't healthy. Either places where we have legacy code relying on particular include ordering (where possible, I'll fix these separately) or where we have particular formatting around #include lines that I didn't want to disturb in this patch.
This patch is *entirely* mechanical. If you get merge conflicts or anything, just ignore the changes in this patch and run clang-format over your #include lines in the files.
Sorry for any noise here, but it is important to keep these things stable. I was seeing an increasing number of patches with irrelevant re-ordering of #include lines because clang-format was used. This patch at least isolates that churn, makes it easy to skip when resolving conflicts, and gets us to a clean baseline (again).
llvm-svn: 304787
show more ...
|
| #
4c47434b |
| 05-Jun-2017 |
Saleem Abdulrasool <[email protected]> |
CodeGen: add support for emitting ObjC image info
This ensures that we can emit the ObjC Image Info structure on COFF and ELF as well. The frontend already would attempt to emit this information bu
CodeGen: add support for emitting ObjC image info
This ensures that we can emit the ObjC Image Info structure on COFF and ELF as well. The frontend already would attempt to emit this information but would get dropped when generating assembly or an object file.
llvm-svn: 304736
show more ...
|
| #
b16d1468 |
| 05-Jun-2017 |
Javed Absar <[email protected]> |
Add support for #pragma clang section
This patch provides a means to specify section-names for global variables, functions and static variables, using #pragma directives. This feature is only define
Add support for #pragma clang section
This patch provides a means to specify section-names for global variables, functions and static variables, using #pragma directives. This feature is only defined to work sensibly for ELF targets. One can specify section names as: #pragma clang section bss="myBSS" data="myData" rodata="myRodata" text="myText" One can "unspecify" a section name with empty string e.g. #pragma clang section bss="" data="" text="" rodata=""
Reviewers: Roger Ferrer, Jonathan Roelofs, Reid Kleckner Differential Revision: https://reviews.llvm.org/D33413
llvm-svn: 304704
show more ...
|
|
Revision tags: llvmorg-4.0.1-rc2 |
|
| #
f7e8acf0 |
| 08-May-2017 |
Evgeniy Stepanov <[email protected]> |
Ignore !associated metadata with null argument.
Fixes PR32577 (comment 10). Such metadata may legitimately appear in LTO.
llvm-svn: 302485
|
|
Revision tags: llvmorg-4.0.1-rc1 |
|
| #
1a6a2b64 |
| 15-Apr-2017 |
Vedant Kumar <[email protected]> |
[ProfileData] Unify getInstrProf*SectionName helpers
This is a version of D32090 that unifies all of the `getInstrProf*SectionName` helper functions. (Note: the build failures which D32090 would hav
[ProfileData] Unify getInstrProf*SectionName helpers
This is a version of D32090 that unifies all of the `getInstrProf*SectionName` helper functions. (Note: the build failures which D32090 would have addressed were fixed with r300352.)
We should unify these helper functions because they are hard to use in their current form. E.g we recently introduced more helpers to fix section naming for COFF files. This scheme doesn't totally succeed at hiding low-level details about section naming, so we should switch to an API that is easier to maintain.
This is not an NFC commit because it fixes llvm-cov's testing support for COFF files (this falls out of the API change naturally). This is an area where we lack tests -- I will see about adding one as a follow up.
Testing: check-clang, check-profile, check-llvm.
Differential Revision: https://reviews.llvm.org/D32097
llvm-svn: 300381
show more ...
|
| #
4a5ddf80 |
| 14-Apr-2017 |
Xinliang David Li <[email protected]> |
[Profile] Make host tool aware of object format when quering prof section names
Differential Revision: https://reviews.llvm.org/D32073
llvm-svn: 300352
|
| #
57dea2d3 |
| 13-Apr-2017 |
Xinliang David Li <[email protected]> |
[Profile] PE binary coverage bug fix
PR/32584
Differential Revision: https://reviews.llvm.org/D32023
llvm-svn: 300277
|
| #
c66018e2 |
| 31-Mar-2017 |
Peter Collingbourne <[email protected]> |
Move llvm::emitLinkerFlagsForGlobalCOFF() to Mangler.
llvm-svn: 299183
|
| #
51c962f7 |
| 17-Mar-2017 |
Evgeniy Stepanov <[email protected]> |
Add !associated metadata.
This is an ELF-specific thing that adds SHF_LINK_ORDER to the global's section pointing to the metadata argument's section. The effect of that is a reverse dependency betwe
Add !associated metadata.
This is an ELF-specific thing that adds SHF_LINK_ORDER to the global's section pointing to the metadata argument's section. The effect of that is a reverse dependency between sections for the linker GC.
!associated does not change the behavior of global-dce. The global may also need to be added to llvm.compiler.used.
Since SHF_LINK_ORDER is per-section, !associated effectively enables fdata-sections for the affected globals, the same as comdats do.
Differential Revision: https://reviews.llvm.org/D29104
llvm-svn: 298157
show more ...
|
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3 |
|
| #
fa912a71 |
| 27-Feb-2017 |
Eugene Zelenko <[email protected]> |
[CodeGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).
llvm-svn: 296404
|
| #
d934cb88 |
| 24-Feb-2017 |
Dan Gohman <[email protected]> |
[WebAssembly] Basic support for Wasm object file encoding.
With the "wasm32-unknown-unknown-wasm" triple, this allows writing out simple wasm object files, and is another step in a larger series tow
[WebAssembly] Basic support for Wasm object file encoding.
With the "wasm32-unknown-unknown-wasm" triple, this allows writing out simple wasm object files, and is another step in a larger series toward migrating from ELF to general wasm object support. Note that this code and the binary format itself is still experimental.
llvm-svn: 296190
show more ...
|
| #
18eafb6c |
| 22-Feb-2017 |
Dan Gohman <[email protected]> |
[WebAssembly] Add skeleton MC support for the Wasm container format
This just adds the basic skeleton for supporting a new object file format. All of the actual encoding will be implemented in follo
[WebAssembly] Add skeleton MC support for the Wasm container format
This just adds the basic skeleton for supporting a new object file format. All of the actual encoding will be implemented in followup patches.
Differential Revision: https://reviews.llvm.org/D26722
llvm-svn: 295803
show more ...
|
|
Revision tags: llvmorg-4.0.0-rc2 |
|
| #
dd4ebc1d |
| 02-Feb-2017 |
Bob Haarman <[email protected]> |
[lto] add getLinkerOpts()
Summary: Some compilers, including MSVC and Clang, allow linker options to be specified in source files. In the legacy LTO API, there is a getLinkerOpts() method that retur
[lto] add getLinkerOpts()
Summary: Some compilers, including MSVC and Clang, allow linker options to be specified in source files. In the legacy LTO API, there is a getLinkerOpts() method that returns linker options for the bitcode module being processed. This change adds that method to the new API, so that the COFF linker can get the right linker options when using the new LTO API.
Reviewers: pcc, ruiu, mehdi_amini, tejohnson
Reviewed By: pcc
Differential Revision: https://reviews.llvm.org/D29207
llvm-svn: 293950
show more ...
|
|
Revision tags: llvmorg-4.0.0-rc1 |
|
| #
cd46c1df |
| 29-Dec-2016 |
Reid Kleckner <[email protected]> |
Revert "[COFF] Use 32-bit jump table entries in .rdata for Win64"
This reverts commit r290694. It broke sanitizer tests on Win64. I'll probably bring this back, but the jump tables will just live in
Revert "[COFF] Use 32-bit jump table entries in .rdata for Win64"
This reverts commit r290694. It broke sanitizer tests on Win64. I'll probably bring this back, but the jump tables will just live in .text like they do for MSVC.
llvm-svn: 290714
show more ...
|
| #
c9e0a153 |
| 29-Dec-2016 |
Reid Kleckner <[email protected]> |
[COFF] Use 32-bit jump table entries in .rdata for Win64
Summary: We were already using 32-bit jump table entries, but this was a consequence of the default PIC model on Win64, and not an intentiona
[COFF] Use 32-bit jump table entries in .rdata for Win64
Summary: We were already using 32-bit jump table entries, but this was a consequence of the default PIC model on Win64, and not an intentional design decision. This patch ensures that we always use 32-bit label difference jump table entries on Win64 regardless of the PIC model. This is a good idea because it saves executable size and object file size.
Moving the jump tables to .rdata cleans up the disassembled object code and reduces the available ROP targets, but it requires adding one more RIP-relative lea to the code. COFF doesn't have relocations to express the difference between two arbitrary symbols, so we can't use the jump table label in the label difference like we do elsewhere.
Fixes PR31488
Reviewers: majnemer, compnerd
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D28141
llvm-svn: 290694
show more ...
|
| #
52a7dd7d |
| 15-Dec-2016 |
Prakhar Bahuguna <[email protected]> |
[ARM] Implement execute-only support in CodeGen
This implements execute-only support for ARM code generation, which prevents the compiler from generating data accesses to code sections. The followin
[ARM] Implement execute-only support in CodeGen
This implements execute-only support for ARM code generation, which prevents the compiler from generating data accesses to code sections. The following changes are involved:
* Add the CodeGen option "-arm-execute-only" to the ARM code generator. * Add the clang flag "-mexecute-only" as well as the GCC-compatible alias "-mpure-code" to enable this option. * When enabled, literal pools are replaced with MOVW/MOVT instructions, with VMOV used in addition for floating-point literals. As the MOVT instruction is required, execute-only support is only available in Thumb mode for targets supporting ARMv8-M baseline or Thumb2. * Jump tables are placed in data sections when in execute-only mode. * The execute-only text section is assigned section ID 0, and is marked as unreadable with the SHF_ARM_PURECODE flag with symbol 'y'. This also overrides selection of ELF sections for globals.
llvm-svn: 289784
show more ...
|