| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 122160
|
|
|
|
| |
llvm-svn: 122148
|
|
|
|
| |
llvm-svn: 122147
|
|
|
|
| |
llvm-svn: 122144
|
|
|
|
| |
llvm-svn: 122139
|
|
|
|
|
|
| |
I added a note, but suggestions on how to add a test are really welcome.
llvm-svn: 122138
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IsSymbolRefDifferenceFullyResolved(). For example, we will now fold away
something like:
--
_a:
...
L0:
...
L1:
...
.long (L1 - L0) / 2
--
llvm-svn: 122043
|
|
|
|
| |
llvm-svn: 122023
|
|
|
|
| |
llvm-svn: 122013
|
|
|
|
|
|
| |
here?
llvm-svn: 122012
|
|
|
|
|
|
| |
in MCAsmLayout).
llvm-svn: 122011
|
|
|
|
| |
llvm-svn: 122009
|
|
|
|
| |
llvm-svn: 122008
|
|
|
|
| |
llvm-svn: 121988
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
actuall addresses in a .o file, so it is better to let the MachO writer compute
it.
This is good for two reasons. First, areas that shouldn't care about
addresses now don't have access to it. Second, the layout of each section
is independent. I should use this in a subsequent commit to speed it up.
Most of the patch is just removing the section address computation. The two
interesting parts are the change on how we handle padding in the end
of sections and how MachO can get the address of a-b when a and b are in
different sections.
Since now the expression evaluation normally doesn't know the section address,
it will think that a-b needs relocation and let the MachO writer know. Once
it has computed the section addresses, it calls back the expression evaluation
with the section addresses to resolve these expressions.
The remaining problem is the handling of padding. Currently it will create
a special alignment fragment at the end. Since that fragment doesn't update
the alignment of the section, it needs the real address to be computed.
Since now the layout will not compute a-b with a and b in different sections,
the only effect that the special alignment fragment has is update the
address size of the section. This can also be done by the MachO writer.
llvm-svn: 121076
|
|
|
|
| |
llvm-svn: 121050
|
|
|
|
| |
llvm-svn: 120980
|
|
|
|
|
|
|
| |
data fragment. This reduces the time to assemble the test in 8711 from 60s to
54s.
llvm-svn: 120767
|
|
|
|
|
|
|
|
| |
which then avoids running EnsureValid.
This cuts the assembly time of the testcase in PR8711 from 2:50 minutes to 1
minute.
llvm-svn: 120697
|
|
|
|
| |
llvm-svn: 119542
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
variable if recursing fails to simplify it.
Factor AliasedSymbol to be a method of MCSymbol.
Update MCAssembler::EvaluateFixup to match the change in
EvaluateAsRelocatableImpl.
Remove the WeakRefExpr hack, as the object writer now sees the weakref with
no extra effort needed.
Nothing else is using MCTargetExpr, but keep it for now.
Now that the ELF writer sees relocations with aliases, handle
.weak foo2
foo2:
.weak bar2
.set bar2,foo2
.quad bar2
the same way gas does and produce a relocation with bar2.
llvm-svn: 119152
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nodes to indicate when ha16/lo16 modifiers should be used. This lets
us pass PowerPC/indirectbr.ll.
The one annoying thing about this patch is that the MCSymbolExpr isn't
expressive enough to represent ha16(label1-label2) which we need on
PowerPC. I have a terrible hack in the meantime, but this will have
to be revisited at some point.
Last major conversion item left is global variable references.
llvm-svn: 119105
|
|
|
|
|
|
|
|
| |
on the operand, required for .o file writing and fixing
the PowerPC/mult-alt-generic-powerpc64.ll failure with the new
instprinter.
llvm-svn: 119087
|
|
|
|
|
|
|
| |
VariantKind marker to indicate the additional information necessary. Update
MC to handle the new Kinds. rdar://8647623
llvm-svn: 118671
|
|
|
|
| |
llvm-svn: 117547
|
|
|
|
| |
llvm-svn: 117546
|
|
|
|
| |
llvm-svn: 117544
|
|
|
|
| |
llvm-svn: 117543
|
|
|
|
|
|
| |
from losing the variant when producing a relocation on an alias.
llvm-svn: 117037
|
|
|
|
|
|
|
|
|
|
|
|
| |
single object format can be shared.
This also adds support for
mov zed+(bar-foo), %eax
on ELF and COFF targets.
llvm-svn: 116675
|
|
|
|
|
|
|
|
| |
if we are given a Layout object, even in cases when the value is not fixed.
This will be needed by the final patch for the dwarf .loc support to size a
new MCDwarf fragment needed to build and emit dwarf line number tables.
llvm-svn: 115155
|
|
|
|
|
|
|
|
| |
new VariantKind to the MCSymbolExpr seems like overkill, but I'm not sure
there's a more straightforward way to get the printing difference captured.
(i.e., x86 uses @PLT, ARM uses (PLT)).
llvm-svn: 114613
|
|
|
|
| |
llvm-svn: 108130
|
|
|
|
| |
llvm-svn: 104651
|
|
|
|
| |
llvm-svn: 103576
|
|
|
|
| |
llvm-svn: 103095
|
|
|
|
|
|
|
|
|
| |
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
|
|
|
|
|
|
|
|
| |
address with a symbol address.
- This fixes the integrated-as nightly test regressions.
llvm-svn: 99466
|
|
|
|
|
|
| |
MCAsmLayout object.
llvm-svn: 99380
|
|
|
|
| |
llvm-svn: 99350
|
|
|
|
| |
llvm-svn: 99348
|
|
|
|
|
|
| |
need this for accessing to symbol modifiers.
llvm-svn: 98791
|
|
|
|
|
|
|
| |
- Although it would be nice to allow this decoupling, the assembler needs to be able to reason about MCSymbolRefExprs in too many places to make this viable. We can use a target specific encoding of the variant if this becomes an issue.
- This patch also extends llvm-mc to support parsing of the modifiers, as opposed to lumping them in with the symbol.
llvm-svn: 98592
|
|
|
|
| |
llvm-svn: 98464
|
|
|
|
| |
llvm-svn: 98380
|
|
|
|
|
|
| |
assembly time value of variables.
llvm-svn: 98241
|
|
|
|
|
|
| |
of an assembly file. The MCAsmLayout is also available for use by MCExpr::EvaluateAs{Absolute,Relocatable}, to allow target specific hooks and "absolutizing" of symbols.
llvm-svn: 98227
|
|
|
|
| |
llvm-svn: 98124
|
|
|
|
|
|
|
|
|
|
|
| |
Document that MCExpr::Div, Mod, and the comparison operators are all
signed operators.
Document that the comparison operators' results are target-dependent.
Document that the behavior of shr is target-dependent.
llvm-svn: 95619
|
|
|
|
| |
llvm-svn: 95587
|