History log of /llvm-project/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (Results 326 – 350 of 536)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1
# 5c0fa58e 16-Jul-2015 Mehdi Amini <mehdi.amini@apple.com>

Remove DataLayout from TargetLoweringObjectFile, redirect to Module

Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the o

Remove DataLayout from TargetLoweringObjectFile, redirect to Module

Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.

Reviewers: echristo

Subscribers: yaron.keren, rafael, llvm-commits, jholewinski

Differential Revision: http://reviews.llvm.org/D11079

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 242385

show more ...


# 1feef2eb 30-Jun-2015 Peter Collingbourne <peter@pcc.me.uk>

COFF: Do not assign linker-weak symbols to selectany comdat sections.

It is mandatory to specify a comdat in order to receive comdat semantics
for a symbol. We were previously getting this wrong in

COFF: Do not assign linker-weak symbols to selectany comdat sections.

It is mandatory to specify a comdat in order to receive comdat semantics
for a symbol. We were previously getting this wrong in -function-sections
mode; linker-weak symbols were being emitted in a selectany comdat. This
change causes such symbols to use a noduplicates comdat instead, fixing
the inconsistency.

Also correct an inaccuracy in the docs.

Differential Revision: http://reviews.llvm.org/D10828

llvm-svn: 241103

show more ...


# aef3659e 29-Jun-2015 Peter Collingbourne <peter@pcc.me.uk>

Teach LTOModule to emit linker flags for dllexported symbols, plus interface cleanup.

This change unifies how LTOModule and the backend obtain linker flags
for globals: via a new TargetLoweringObjec

Teach LTOModule to emit linker flags for dllexported symbols, plus interface cleanup.

This change unifies how LTOModule and the backend obtain linker flags
for globals: via a new TargetLoweringObjectFile member function named
emitLinkerFlagsForGlobal. A new function LTOModule::getLinkerOpts() returns
the list of linker flags as a single concatenated string.

This change affects the C libLTO API: the function lto_module_get_*deplibs now
exposes an empty list, and lto_module_get_*linkeropts exposes a single element
which combines the contents of all observed flags. libLTO should never have
tried to parse the linker flags; it is the linker's job to do so. Because
linkers will need to be able to parse flags in regular object files, it
makes little sense for libLTO to have a redundant mechanism for doing so.

The new API is compatible with the old one. It is valid for a user to specify
multiple linker flags in a single pragma directive like this:

#pragma comment(linker, "/defaultlib:foo /defaultlib:bar")

The previous implementation would not have exposed
either flag via lto_module_get_*deplibs (as the test in
TargetLoweringObjectFileCOFF::getDepLibFromLinkerOpt was case sensitive)
and would have exposed "/defaultlib:foo /defaultlib:bar" as a single flag via
lto_module_get_*linkeropts. This may have been a bug in the implementation,
but it does give us a chance to fix the interface.

Differential Revision: http://reviews.llvm.org/D10548

llvm-svn: 241010

show more ...


Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1
# a8695760 02-Jun-2015 Rafael Espindola <rafael.espindola@gmail.com>

Create a MCSymbolELF.

This create a MCSymbolELF class and moves SymbolSize since only ELF
needs a size expression.

This reduces the size of MCSymbol from 56 to 48 bytes.

llvm-svn: 238801


# 13760bd1 30-May-2015 Jim Grosbach <grosbach@apple.com>

MC: Clean up MCExpr naming. NFC.

llvm-svn: 238634


# 0709a7bd 21-May-2015 Rafael Espindola <rafael.espindola@gmail.com>

Move alignment from MCSectionData to MCSection.

This starts merging MCSection and MCSectionData.

There are a few issues with the current split between MCSection and
MCSectionData.

* It optimizes t

Move alignment from MCSectionData to MCSection.

This starts merging MCSection and MCSectionData.

There are a few issues with the current split between MCSection and
MCSectionData.

* It optimizes the the not as important case. We want the production
of .o files to be really fast, but the split puts the information used
for .o emission in a separate data structure.

* The ELF/COFF/MachO hierarchy is not represented in MCSectionData,
leading to some ad-hoc ways to represent the various flags.

* It makes it harder to remember where each item is.

The attached patch starts merging the two by moving the alignment from
MCSectionData to MCSection.

Most of the patch is actually just dropping 'const', since
MCSectionData is mutable, but MCSection was not.

llvm-svn: 237936

show more ...


# 6f482000 18-May-2015 Jim Grosbach <grosbach@apple.com>

MC: Clean up method names in MCContext.

The naming was a mish-mash of old and new style. Update to be consistent
with the new. NFC.

llvm-svn: 237594


Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1
# 8ca44f0b 04-Apr-2015 Rafael Espindola <rafael.espindola@gmail.com>

Implement unique sections with an unique ID.

This allows the compiler/assembly programmer to switch back to a
section. This in turn fixes the bootstrap failure on powerpc (tested
on gcc110) without

Implement unique sections with an unique ID.

This allows the compiler/assembly programmer to switch back to a
section. This in turn fixes the bootstrap failure on powerpc (tested
on gcc110) without changing the ppc codegen at all.

I will try to cleanup the various getELFSection overloads in a followup patch.
Just using a default argument now would lead to ambiguities.

llvm-svn: 234099

show more ...


Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1
# 7db449a6 17-Mar-2015 David Majnemer <david.majnemer@gmail.com>

COFF: Let globals with private linkage reside in their own section

COFF COMDATs (for selection kinds other than 'select any') require at
least one non-section symbol in the symbol table.
Satisfy thi

COFF: Let globals with private linkage reside in their own section

COFF COMDATs (for selection kinds other than 'select any') require at
least one non-section symbol in the symbol table.
Satisfy this by morally enhancing the linkage from private to internal.

Differential Revision: http://reviews.llvm.org/D8394

llvm-svn: 232570

show more ...


# 63b1d999 17-Mar-2015 David Majnemer <david.majnemer@gmail.com>

Revert "COFF: Let globals with private linkage reside in their own section"

This reverts commit r232539. This was committed accidently.

llvm-svn: 232543


# 21fecf94 17-Mar-2015 David Majnemer <david.majnemer@gmail.com>

Revert "Address review comments"

This reverts commit r232540. This was committed accidently.

llvm-svn: 232541


# 564404cc 17-Mar-2015 David Majnemer <david.majnemer@gmail.com>

Address review comments

llvm-svn: 232540


# 47e38429 17-Mar-2015 David Majnemer <david.majnemer@gmail.com>

COFF: Let globals with private linkage reside in their own section

Summary:
COFF COMDATs (for selection kinds other than 'select any') require at
least one non-section symbol in the symbol table.
Sa

COFF: Let globals with private linkage reside in their own section

Summary:
COFF COMDATs (for selection kinds other than 'select any') require at
least one non-section symbol in the symbol table.
Satisfy this by morally enhancing the linkage from private to internal.

Reviewers: rafael

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D8374

llvm-svn: 232539

show more ...


# ab447e43 11-Mar-2015 Rafael Espindola <rafael.espindola@gmail.com>

Put jump tables in unique sections on COFF.

If a function is going in an unique section (because of -ffunction-sections
for example), putting a jump table in .rodata will keep .rodata alive and
that

Put jump tables in unique sections on COFF.

If a function is going in an unique section (because of -ffunction-sections
for example), putting a jump table in .rodata will keep .rodata alive and
that will keep alive any other function that also has a jump table.

Instead, put the jump table in a unique section that is associated with the
function.

llvm-svn: 231961

show more ...


# 618c67a0 06-Mar-2015 Bruno Cardoso Lopes <bruno.cardoso@gmail.com>

[AsmPrinter][TLOF] 32-bit MachO support for replacing GOT equivalents

Add MachO 32-bit (i.e. arm and x86) support for replacing global GOT equivalent
symbol accesses. Unlike 64-bit targets, there's

[AsmPrinter][TLOF] 32-bit MachO support for replacing GOT equivalents

Add MachO 32-bit (i.e. arm and x86) support for replacing global GOT equivalent
symbol accesses. Unlike 64-bit targets, there's no GOTPCREL relocation, and
access through a non_lazy_symbol_pointers section is used instead.

-- before

_extgotequiv:
.long _extfoo

_delta:
.long _extgotequiv-_delta

-- after

_delta:
.long L_extfoo$non_lazy_ptr-_delta

.section __IMPORT,__pointers,non_lazy_symbol_pointers
L_extfoo$non_lazy_ptr:
.indirect_symbol _extfoo
.long 0

llvm-svn: 231475

show more ...


# 4491d0d3 26-Feb-2015 Rafael Espindola <rafael.espindola@gmail.com>

Put jump tables in distinct sections if -ffunction-sections is used.

A small regression in r230411 was that we were basing the decision on
-fdata-sections.

llvm-svn: 230707


Revision tags: llvmorg-3.6.0
# 8bc9ccc6 25-Feb-2015 Rafael Espindola <rafael.espindola@gmail.com>

Support SHF_MERGE sections in COMDATs.

This patch unifies the comdat and non-comdat code paths. By doing this
it add missing features to the comdat side and removes the fixed
section assumptions fro

Support SHF_MERGE sections in COMDATs.

This patch unifies the comdat and non-comdat code paths. By doing this
it add missing features to the comdat side and removes the fixed
section assumptions from the non-comdat side.

In ELF there is no one true section for "4 byte mergeable" constants.
We are better off computing the required properties of the section
and asking the context for it.

llvm-svn: 230411

show more ...


# 9075f770 20-Feb-2015 Rafael Espindola <rafael.espindola@gmail.com>

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 <rafael.espindola@gmail.com>

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 <rafael.espindola@gmail.com>

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 <michael.m.kuperstein@intel.com>

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 <matze@braunis.de>

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 <chandlerc@gmail.com>

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 <rafael.espindola@gmail.com>

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 <rafael.espindola@gmail.com>

On ELF, put PIC jump tables in a non executable section.

Fixes PR22558.

llvm-svn: 228939


1...<<11121314151617181920>>...22