| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Also fixes a test that was overly-sensitive to the exact order of statistics
emitted.
llvm-svn: 169619
|
| |
|
|
|
|
|
|
| |
This is more consistent with other vectors in this code. In addition, I ran some
tests compiling a large program and >96% of fragments have 4 or less fixups, so
SmallVector<4> is a good optimization.
llvm-svn: 169433
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
| |
|
|
| |
llvm-svn: 164182
|
| |
|
|
|
|
|
|
|
|
| |
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph);
* use \param instead of \arg to document parameters in order to be consistent
with the rest of the codebase.
llvm-svn: 163902
|
| |
|
|
|
|
|
|
| |
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163344.
llvm-svn: 163679
|
| |
|
|
|
|
| |
No functional change.
llvm-svn: 163344
|
| |
|
|
|
|
|
|
| |
padding. If the desired padding is smaller than the supported NOP size,
we will enlarge the padding to make it work.
llvm-svn: 162870
|
| |
|
|
|
|
|
| |
These functions are very generic. There's no reason for them to
be tied to MCObjectWriter.
llvm-svn: 161545
|
| |
|
|
| |
llvm-svn: 160621
|
| |
|
|
| |
llvm-svn: 153429
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We on the linker to resolve calls to the appropriate BL/BLX instruction
to make interworking function correctly. It uses the symbol in the
relocation to do that, so we need to be careful about being too clever.
To enable this for ARM mode, split the BL/BLX fixup kind off from the
unconditional-branch fixups.
rdar://10927209
llvm-svn: 151571
|
| |
|
|
| |
llvm-svn: 149967
|
| |
|
|
| |
llvm-svn: 149105
|
| |
|
|
| |
llvm-svn: 148400
|
| |
|
|
| |
llvm-svn: 148364
|
| |
|
|
|
|
| |
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146960
|
| |
|
|
|
|
|
|
| |
Whether a fixup needs relaxation for the associated instruction is a
target-specific function, as the FIXME indicated. Create a hook for that
and use it.
llvm-svn: 145881
|
| |
|
|
| |
llvm-svn: 145878
|
| |
|
|
|
|
| |
per http://llvm.org/docs/CodingStandards.html#ll_naming
llvm-svn: 145873
|
| |
|
|
|
|
| |
Replaces r145318 with a more targetted fix for the relocation handling.
llvm-svn: 145346
|
| |
|
|
|
|
| |
rdar://10493453
llvm-svn: 145318
|
| |
|
|
| |
llvm-svn: 143071
|
| |
|
|
|
|
| |
These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
| |
|
|
|
|
| |
createMCAsmBackend.
llvm-svn: 136010
|
| |
|
|
|
|
| |
they belong.
llvm-svn: 135833
|
| |
|
|
|
|
|
| |
the smaller encoding and this cuts 270336 bytes from a release version of
clang and 1246272 bytes from a debug build.
llvm-svn: 131067
|
| |
|
|
|
|
| |
currently used, because variables don't get reported as being "defined".
llvm-svn: 130524
|
| |
|
|
|
|
|
| |
This removes one of the main advantages of moving eh_frame to MC, but
makes the transition a lot easier to debug (run md5).
llvm-svn: 130379
|
| |
|
|
| |
llvm-svn: 130181
|
| |
|
|
| |
llvm-svn: 130068
|
| |
|
|
|
|
| |
the right thing and stop trying to copy it. Fixes PR8944.
llvm-svn: 125648
|
| |
|
|
| |
llvm-svn: 124077
|
| |
|
|
| |
llvm-svn: 122591
|
| |
|
|
|
|
| |
have a single point where targets test if a relocation is needed.
llvm-svn: 122549
|
| |
|
|
|
|
| |
if we have a lame assembler.
llvm-svn: 122446
|
| |
|
|
| |
llvm-svn: 122405
|
| |
|
|
|
|
|
| |
are not actually relaxed. For example, a section with only alignments will never
needs relaxation.
llvm-svn: 122356
|
| |
|
|
|
|
|
|
|
|
| |
section.
This helps because in practice sections form a dag with debug sections pointing
to text sections. Finishing up the text sections first makes the debug section
relaxation trivial.
llvm-svn: 122314
|
| |
|
|
|
|
|
|
|
| |
not just to the fragment relative
portion. While the fragment boundary is usually already aligned, it is possible for it not to be, which
would lead to a non-aligned final displacement.
llvm-svn: 122091
|
| |
|
|
|
|
| |
-- and remove FIXME asking for the same!
llvm-svn: 122032
|
| |
|
|
|
|
| |
assembler.
llvm-svn: 122031
|
| |
|
|
|
|
|
| |
the MCCodeEmitter, which seems like a better organization.
- Also, cleaned up some magic constants while in the area.
llvm-svn: 121953
|
| |
|
|
| |
llvm-svn: 121880
|
| |
|
|
| |
llvm-svn: 121875
|
| |
|
|
|
|
|
|
|
|
|
| |
With this we don't need the EffectiveSize field anymore. Without that field
LayoutFragment only updates offsets and we don't need to invalidate the
current fragment when it is relaxed (only the ones following it).
This is also a very small improvement in the accuracy of the layout info as
we now use the after relaxation size immediately.
llvm-svn: 121857
|
| |
|
|
|
|
|
| |
Since we now don't update addresses so early, we might relax a bit more than
we need to. This is simillar to the issue in PR8467.
llvm-svn: 121856
|
| |
|
|
|
|
| |
set for interworking to work properly. rdar://8755956
llvm-svn: 121778
|
| |
|
|
|
|
|
|
|
|
| |
be 4-byte aligned when calculating
the offset. Add a new fixup flag to represent this, and use it for the one fixups that I have a testcase for needing
this. It's quite likely that the other Thumb fixups will need this too, and to have their fixup encoding logic
adjusted accordingly.
llvm-svn: 121408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
before:
4 assembler - Number of assembler layout and relaxation steps
78563 assembler - Number of emitted assembler fragments
8693904 assembler - Number of emitted object file bytes
271223 assembler - Number of evaluated fixups
330771677 assembler - Number of fragment layouts
5958 assembler - Number of relaxed instructions
2508361 mcexpr - Number of MCExpr evaluations
real 0m26.123s
user 0m25.694s
sys 0m0.388s
after:
4 assembler - Number of assembler layout and relaxation steps
78563 assembler - Number of emitted assembler fragments
8693904 assembler - Number of emitted object file bytes
271223 assembler - Number of evaluated fixups
231507 assembler - Number of fragment layouts
5958 assembler - Number of relaxed instructions
2508361 mcexpr - Number of MCExpr evaluations
real 0m2.500s
user 0m2.113s
sys 0m0.273s
And yes, the outputs are identical :-)
llvm-svn: 121207
|