| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 74760
|
|
|
|
| |
llvm-svn: 74718
|
|
|
|
|
|
| |
Add section symbols to the symbol table
llvm-svn: 74170
|
|
|
|
|
|
|
|
| |
Only pad when the section size > 0 and move the code that deals
with globals initializers to a place we know for sure the global
is initialized.
llvm-svn: 73944
|
|
|
|
| |
llvm-svn: 73895
|
|
|
|
|
|
|
|
| |
Support for .text relocations, implementing TargetELFWriter overloaded methods for x86/x86_64.
Use a map to track global values to their symbol table indexes
Code cleanup and small fixes
llvm-svn: 73894
|
|
|
|
|
|
| |
BinaryObject.h by Aaron Gray
llvm-svn: 73333
|
|
|
|
|
|
|
|
| |
Emission for globals, using the correct data sections
Function alignment can be computed for each target using TargetELFWriterInfo
Some small fixes
llvm-svn: 73201
|
|
|
|
| |
llvm-svn: 73040
|
|
|
|
|
|
| |
relocation sections.
llvm-svn: 73038
|
|
|
|
|
|
| |
comments added
llvm-svn: 72982
|
|
|
|
| |
llvm-svn: 72785
|
|
|
|
|
|
|
| |
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.
llvm-svn: 66339
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that has not been JIT'd yet, the callee is put on a list of pending functions
to JIT. The call is directed through a stub, which is updated with the address
of the function after it has been JIT'd. A new interface for allocating and
updating empty stubs is provided.
Add support for removing the ModuleProvider the JIT was created with, which
would otherwise invalidate the JIT's PassManager, which is initialized with the
ModuleProvider's Module.
Add support under a new ExecutionEngine flag for emitting the infomration
necessary to update Function and GlobalVariable stubs after JITing them, by
recording the address of the stub and the name of the GlobalValue. This allows
code to be copied from one address space to another, where libraries may live
at different virtual addresses, and have the stubs updated with their new
correct target addresses.
llvm-svn: 64906
|
|
|
|
| |
llvm-svn: 62279
|
|
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
|
|
|
|
|
| |
of the pointer to the global.
llvm-svn: 61630
|
|
|
|
|
|
|
|
|
|
| |
llvm::PATypeHolder::get() method when LLVM is self-hosted in Release
mode. Before the parser changed, there was a definition of llvm::PAHolder::get()
in llvmAsmParser.y. This was probably a bug that no-one noticed.
Explicitly #include the Type.h file as a temporary fix for now.
llvm-svn: 61620
|
|
|
|
|
|
| |
some overflow issues. Patch by Thomas Jablin.
llvm-svn: 60828
|
|
|
|
|
|
| |
ptr.
llvm-svn: 58897
|
|
|
|
| |
llvm-svn: 55779
|
|
|
|
| |
llvm-svn: 55092
|
|
|
|
|
|
|
|
|
|
| |
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
llvm-svn: 51118
|
|
|
|
|
|
| |
ELF headers. The ELF writer still isn't generally usable though.
llvm-svn: 50652
|
|
|
|
|
|
|
|
| |
the memory manager which function
the stub will resolve.
llvm-svn: 49814
|
|
|
|
|
|
|
|
| |
that merely add passes. This allows them to be used with either
FunctionPassManager or PassManager, or even with a custom new
kind of pass manager.
llvm-svn: 48256
|
|
|
|
| |
llvm-svn: 47079
|
|
|
|
|
|
|
| |
to get the alignment of global variables, rather than
using hand-made versions.
llvm-svn: 46495
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45034
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
should only effect x86 when using long double. Now
12/16 bytes are output for long double globals (the
exact amount depends on the alignment). This brings
globals in line with the rest of LLVM: the space
reserved for an object is now always the ABI size.
One tricky point is that only 10 bytes should be
output for long double if it is a field in a packed
struct, which is the reason for the additional
argument to EmitGlobalConstant.
llvm-svn: 43688
|
|
|
|
| |
llvm-svn: 36662
|
|
|
|
|
|
|
| |
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|
|
|
|
| |
llvm-svn: 36632
|
|
|
|
|
|
| |
Patch by Scott Michel.
llvm-svn: 34266
|
|
|
|
| |
llvm-svn: 34031
|
|
|
|
| |
llvm-svn: 33573
|
|
|
|
|
|
| |
these alignment amounts to align scalars when we can. Patch by Scott Michel!
llvm-svn: 33409
|
|
|
|
| |
llvm-svn: 33316
|
|
|
|
|
|
| |
writers.
llvm-svn: 33311
|
|
|
|
| |
llvm-svn: 33298
|
|
|
|
| |
llvm-svn: 33289
|
|
|
|
|
|
| |
now cerr, cout, and NullStream resp.
llvm-svn: 32298
|
|
|
|
| |
llvm-svn: 31992
|
|
|
|
| |
llvm-svn: 31787
|
|
|
|
|
|
|
|
|
|
| |
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
|
|
|
|
|
|
|
| |
TargetData.h. This should make recompiles a bit faster with my current
TargetData tinkering.
llvm-svn: 28238
|
|
|
|
|
|
|
| |
simplifies the MachineCodeEmitter interface just a little bit and makes
BasicBlocks work like constant pools and jump tables.
llvm-svn: 28082
|
|
|
|
|
|
|
|
| |
target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.
This fixes PR 759.
llvm-svn: 28074
|