• Home
  • History
  • Annotate
  • only in /external/llvm/test/MC/MachO/
History log of /external/llvm/test/MC/MachO/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
Arch64/lit.local.cfg
RM/aliased-symbols.s
RM/lit.local.cfg
h-frame-reloc.s
h-symbols.s
h_symbol.s
it.local.cfg
r19185.s
ariable-exprs.s
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
Arch64/darwin-ARM64-local-label-diff.s
Arch64/darwin-ARM64-reloc.s
Arch64/lit.local.cfg
RM/bad-darwin-directives.s
RM64/darwin-ARM64-local-label-diff.s
RM64/darwin-ARM64-reloc.s
RM64/lit.local.cfg
ad-darwin-x86_64-reloc-expr.s
ebug_frame.s
emp-labels.s
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
RM/bad-darwin-ARM-reloc.s
RM/bad-darwin-directives.s
RM/ios-version-min-load-command.s
RM/version-min-diagnostics.s
RM/version-min.s
RM64/darwin-ARM64-local-label-diff.s
RM64/darwin-ARM64-reloc.s
RM64/lit.local.cfg
ss.s
h-frame-reloc.s
h-symbols.s
h_symbol.s
en-dwarf-cpp.s
en-dwarf.s
sx-version-min-load-command.s
86_32-scattered-reloc-fallback.s
cf0bb134a053492c550e3083f3b556e98a58041f 02-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Add test I forgot to git add in r191824.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191831 91177308-0d34-0410-b5e6-96231b3b80d8
ss.s
d8e2f1757d9ececd7937406596fec8e4ebfb7d46 05-Sep-2013 Kevin Enderby <enderby@apple.com> Fixed a crash in the integrated assembler for Mach-O when a symbol difference
expression uses an assembler temporary symbol from an assignment.  In this case
the symbol does not have a fragment so the use of getFragment() would be NULL
and caused a crash. In the case of an assembler temporary symbol we want to use
the AliasedSymbol (if any) which will create a local relocation entry, but if
it is not an assembler temporary symbol then let it use that symbol with an
external relocation entry.

rdar://9356266


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190096 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-diff-reloc-assign-2.s
e54726a87a49e3254696b05787f4635dc59fe750 29-Aug-2013 Kevin Enderby <enderby@apple.com> The darwin integrated assembler for X86 in 64-bit mode is not rejecting
32-bit absolute addressing in instructions likei this:

mov $_f, %rsi

which is not supported in 64-bit mode.

rdar://8827134


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189543 91177308-0d34-0410-b5e6-96231b3b80d8
ad-darwin-x86_64-32-bit-abs-addr.s
4f066b6db8a7a95b206725aecf99a64fd6e9415c 28-Aug-2013 Kevin Enderby <enderby@apple.com> The integrated darwin assembler can hang in an infinite loop (or get an assert
with a debug build) with this buggy .indirect_symbol directive usage:

% cat test.s
x: .indirect_symbol _y

The assertion is because it is trying to get the symbol index for the
symbol _y when it is writing out the indirect symbol table. This line of
code in MachObjectWriter::WriteObject() :

Write32(Asm.getSymbolData(*it->Symbol).getIndex());

And while there is a symbol _y it does not have any getSymbolData set which
is only done in MachObjectWriter::BindIndirectSymbols() for pointer sections
or stub sections. I added a check and an error in there to catch this in case
something slips through.

But to get a better error the parser should detect when a .indirect_symbol
directive is used and it is not in a pointer section or stub section. To make
that work I moved the handling of the indirect symbol out of the target
independent AsmParser code into the DarwinAsmParser code that can check
for the proper Mach-O section types.

rdar://14825505


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189497 91177308-0d34-0410-b5e6-96231b3b80d8
ad-indirect-symbols.s
24ec2e5a72d7fca58f8ae2b3c01501a9927ef04e 16-Aug-2013 Daniel Dunbar <daniel@zuster.org> [tests] Cleanup initialization of test suffixes.

- Instead of setting the suffixes in a bunch of places, just set one master
list in the top-level config. We now only modify the suffix list in a few
suites that have one particular unique suffix (.ml, .mc, .yaml, .td, .py).

- Aside from removing the need for a bunch of lit.local.cfg files, this enables
4 tests that were inadvertently being skipped (one in
Transforms/BranchFolding, a .s file each in DebugInfo/AArch64 and
CodeGen/PowerPC, and one in CodeGen/SI which is now failing and has been
XFAILED).

- This commit also fixes a bunch of config files to use config.root instead of
older copy-pasted code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188513 91177308-0d34-0410-b5e6-96231b3b80d8
RM/lit.local.cfg
it.local.cfg
ebc573ed5b7d4757d58b3bfdec53fcf9b4cb8c01 13-Aug-2013 Kevin Enderby <enderby@apple.com> Fix a crash with X86 Mach-O and a subtraction expression where both symbols are
undefined and produce an error message instead as this is a non-relocatable
expression with X86 Mach-O.

rdar://8920876


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188218 91177308-0d34-0410-b5e6-96231b3b80d8
ad-darwin-x86_64-diff-relocs.s
10251753b6897adcd22cc981c0cc42f348c109de 07-Aug-2013 Eric Christopher <echristo@gmail.com> Using the integrated assembler we'd fail to change section to the
.tbss section for zerofill thread locals. Make sure we do this
before emitting the zerofills.

Fixes PR15972.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187913 91177308-0d34-0410-b5e6-96231b3b80d8
lv-bss.ll
e186d7191c2cf95753a9790b1490df8a07416daa 14-Feb-2013 Rafael Espindola <rafael.espindola@gmail.com> Revert r15266. This fixes llvm.org/pr15266.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175173 91177308-0d34-0410-b5e6-96231b3b80d8
irection_labels.s
8915e27704b2afd362a69c6be1111fb06bbcc727 12-Feb-2013 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add support for lexing binary integers with a [bB] suffix.

This is complicated by backward labels (e.g., 0b can be both a backward label
and a binary zero). The current implementation assumes [0-9]b is always a
label and thus it's possible for 0b and 1b to not be interpreted correctly for
ms-style inline assembly. However, this is relatively simple to fix in the
inline assembly (i.e., drop the [bB]).

This patch also limits backward labels to [0-9]b, so that only 0b and 1b are
ambiguous.
Part of rdar://12470373


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174983 91177308-0d34-0410-b5e6-96231b3b80d8
irection_labels.s
767295f1143db4ed844ea9d25f9758e624c35302 25-Jan-2013 Eli Bendersky <eliben@google.com> Now that llvm-dwarfdump supports flags to specify which DWARF section to dump,
use them in tests that run llvm-dwarfdump. This is in order to make tests as
specific as possible.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173498 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf-cpp.s
en-dwarf-macro-cpp.s
en-dwarf-producer.s
en-dwarf.s
221514efe92676ce84a5e21bea91d8a6b21f9ed7 22-Jan-2013 Kevin Enderby <enderby@apple.com> Add a warning when there is a macro defintion that has named parameters but
the body does not use them and it appears the body has positional parameters.

This can cause unexpected results as in the added test case. As the darwin
version of gas(1) which only supported positional parameters, happened to
ignore the named parameters. Now that we want to support both styles of
macros we issue a warning in this specific case.

rdar://12861644


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173199 91177308-0d34-0410-b5e6-96231b3b80d8
ad-macro.s
5de048ec30f9ef9f56c89f9fdb50022beca6ae88 22-Jan-2013 Kevin Enderby <enderby@apple.com> Have the integrated assembler give an error if $1 is used as an identifier in
an expression. Currently this bug causes the line to be ignored in a
release build and an assert in a debug build.

rdar://13062484


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173195 91177308-0d34-0410-b5e6-96231b3b80d8
ad-dollar.s
849209686f778e5d6fce675bea9a8300aa596d25 22-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC/Mach-O] Load commands are supposed to 8-byte aligned on 64-bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173120 91177308-0d34-0410-b5e6-96231b3b80d8
inker-options.ll
6d49b680be6e24b547e6910c2b64914913915084 18-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC/Mach-O] Implement integrated assembler support for linker options.
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172837 91177308-0d34-0410-b5e6-96231b3b80d8
inker-options.ll
a94c33942373cb504b6e64c95415165907a89d34 18-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC/Mach-O] Add support for linker options in Mach-O files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172779 91177308-0d34-0410-b5e6-96231b3b80d8
inker-option-2.s
cddd236e8a5acb80e9a0e79dc63f6cfaa8205b86 18-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC/Mach-O] Add AsmParser support for .linker_option directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172778 91177308-0d34-0410-b5e6-96231b3b80d8
inker-option-1.s
75c9b9384f50e9387f24dd7ce6af403cbda6d19a 16-Jan-2013 Kevin Enderby <enderby@apple.com> We want the dwarf AT_producer for assembly source files to match clang's
AT_producer. Which includes clang's version information so we can tell
which version of the compiler was used.

This is the first of two steps to allow us to do that. This is the llvm-mc
change to provide a method to set the AT_producer string. The second step,
coming soon to a clang near you, will have the clang driver pass the value
of getClangFullVersion() via an flag when invoking the integrated assembler
on assembly source files.

rdar://12955296


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172630 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf-producer.s
f2a1c83c86ceefb9a241aa728d1d1239a64b894e 05-Dec-2012 David Sehr <sehr@google.com> Correct ARM NOP encoding

The encoding of NOP in ARMAsmBackend.cpp is missing a trailing zero, which
causes the emission of a coprocessor instruction rather than "mov r0, r0"
as indicated in the comment. The test also checks for the wrong encoding.

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121203/157919.html



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169420 91177308-0d34-0410-b5e6-96231b3b80d8
RM/nop-armv4-padding.s
d224f28437acb486fcc1c405d8e33302cf0999ab 05-Dec-2012 David Sehr <sehr@google.com> Test commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169410 91177308-0d34-0410-b5e6-96231b3b80d8
RM/nop-armv4-padding.s
a790bc12c147fb716d6979c2279e95e0379eb090 04-Dec-2012 Eli Bendersky <eliben@google.com> A test in thid directory was not being run because lit.local.cfg didn't
include .ll files. Fix that.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169283 91177308-0d34-0410-b5e6-96231b3b80d8
RM/lit.local.cfg
eb6363adf05b65b0ec079ad7cbcb871acdb60a8c 27-Nov-2012 Eric Christopher <echristo@gmail.com> The section is .debug_line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168666 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf.s
32c1a82a6b1d934e30e05c0e18b9e57fde96c56f 05-Nov-2012 Kevin Enderby <enderby@apple.com> Fix for PR14264 cause by commit r167237 which did not take into account a
possible buffer change with a .macro directive.

rdar://12637628


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167408 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf-macro-cpp.s
938482f522d6d144a9af7897af1433f00f630588 01-Nov-2012 Kevin Enderby <enderby@apple.com> Add support for generating dwarf debugging info with assembly files
run through the 'C' preprocessor. That is pick up the file name
and line numbers from the cpp hash file line comments for the
dwarf file and line numbers tables.

rdar://9275556



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167237 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf-cpp.s
b4316028b3978e65cc2b97042292637857dfad49 02-Oct-2012 Jim Grosbach <grosbach@apple.com> MachO: direct-to-object attribute for data-in-code markers.

The target backend can support data-in-code load commands even when
the assembler doesn't, or vice-versa. Allow targets to opt-in for
direct-to-object.

PR13973.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164974 91177308-0d34-0410-b5e6-96231b3b80d8
it.local.cfg
86-data-in-code.ll
b7abea08409d4f15063b25e025f160a5469efd54 26-Sep-2012 Jim Grosbach <grosbach@apple.com> X86_32: Large Symbol+Offset relocations.

If the offset is more than 24-bits, it won't fit in a scattered
relocation offset field, so we fall back to using a non-scattered
relocation.

rdar://12358909

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164724 91177308-0d34-0410-b5e6-96231b3b80d8
386-large-relocations.s
fe2d5f848764dff8f9ba734a5e2438ca1535890e 25-Sep-2012 Jim Grosbach <grosbach@apple.com> ARM: Darwin BL/BLX relocations to out-of-range symbols.

When a BL/BLX references a symbol in the same translation unit that is
out of range, use an external relocation. The linker will use this to
generate a branch island rather than a direct reference, allowing the
relocation to resolve correctly.

rdar://12359919

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164615 91177308-0d34-0410-b5e6-96231b3b80d8
RM/long-call-branch-island-relocation.s
3f90a4c42d1683600e91c2aea325bacf59c37f5e 14-Sep-2012 Jim Grosbach <grosbach@apple.com> Assembler: Darwin variables defined via .set are no-dead-strip.

For gas compatibility.

rdar://12219394

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163854 91177308-0d34-0410-b5e6-96231b3b80d8
bsolute.s
ef920552d4fb0959097f1c165cfc81c69db19934 08-Aug-2012 Bill Wendling <isanbard@gmail.com> Add `.pushsection', `.popsection', and `.previous' directives to Darwin ASM.

There are situations where inline ASM may want to change the section -- for
instance, to create a variable in the .data section. However, it cannot do this
without (potentially) restoring to the wrong section. E.g.:

asm volatile (".section __DATA, __data\n\t"
".globl _fnord\n\t"
"_fnord: .quad 1f\n\t"
".text\n\t"
"1:" :::);

This may be wrong if this is inlined into a function that has a "section"
attribute. The user should use `.pushsection' and `.popsection' here instead.

The addition of `.previous' is added for completeness.
<rdar://problem/12048387>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161477 91177308-0d34-0410-b5e6-96231b3b80d8
revious.s
ushsection.s
5af4de18ef244d2ce52b2f2ac0a703409b6fdfe6 30-Jul-2012 Kevin Enderby <enderby@apple.com> Fix a bug in ARMMachObjectWriter::RecordRelocation() in ARMMachObjectWriter.cpp
where the other_half of the movt and movw relocation entries needs to get set
and only with the 16 bits of the other half.

rdar://10038370


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160978 91177308-0d34-0410-b5e6-96231b3b80d8
RM/thumb2-movw-fixup.s
3e96531186ba574b0c25a4be62d24b8b7d752c9f 18-May-2012 Jim Grosbach <grosbach@apple.com> Refactor data-in-code annotations.

Use a dedicated MachO load command to annotate data-in-code regions.
This is the same format the linker produces for final executable images,
allowing consistency of representation and use of introspection tools
for both object and executable files.

Data-in-code regions are annotated via ".data_region"/".end_data_region"
directive pairs, with an optional region type.

data_region_directive := ".data_region" { region_type }
region_type := "jt8" | "jt16" | "jt32" | "jta32"
end_data_region_directive := ".end_data_region"

The previous handling of ARM-style "$d.*" labels was broken and has
been removed. Specifically, it didn't handle ARM vs. Thumb mode when
marking the end of the section.

rdar://11459456

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157062 91177308-0d34-0410-b5e6-96231b3b80d8
RM/data-in-code.s
59c15e920c9873804f3150d0c13357696f09e300 18-May-2012 Kevin Enderby <enderby@apple.com> Fixed a bug in llvm-objdump when disassembling using -macho option for a binary
containing no symbols. Fixed the crash and fixed it not disassembling anything.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157031 91177308-0d34-0410-b5e6-96231b3b80d8
RM/llvm-objdump-macho-stripped.s
e545c4e45d989bcb3e6d18e090f417fd41fb9c63 15-May-2012 Kevin Enderby <enderby@apple.com> Add a test case for r156840, a fix to llvm-objdump when disassembling using
-macho to disassemble the last symbol to the end of the section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156850 91177308-0d34-0410-b5e6-96231b3b80d8
RM/llvm-objdump-macho.s
2d524b0765145f1c7888166c985a25452f16b2bc 04-May-2012 Kevin Enderby <enderby@apple.com> Fix issues with the ARM bl and blx thumb instructions and the J1 and J2 bits
for the assembler and disassembler. Which were not being set/read correctly
for offsets greater than 22 bits in some cases.

Changes to lib/Target/ARM/ARMAsmBackend.cpp from Gideon Myles!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156118 91177308-0d34-0410-b5e6-96231b3b80d8
RM/thumb-bl-jbits.s
cc85160672e3b2d5ec363cc4e151e5b944a60454 25-Mar-2012 Eli Bendersky <eli.bendersky@intel.com> Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu

* Removed test/lib/llvm.exp - it is no longer needed
* Deleted the dg.exp reading code from test/lit.cfg. There are no dg.exp files
left in the test suite so this code is no longer required. test/lit.cfg is
now much shorter and clearer
* Removed a lot of duplicate code in lit.local.cfg files that need access to
the root configuration, by adding a "root" attribute to the TestingConfig
object. This attribute is dynamically computed to provide the same
information as was previously provided by the custom getRoot functions.
* Documented the config.root attribute in docs/CommandGuide/lit.pod





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153408 91177308-0d34-0410-b5e6-96231b3b80d8
RM/lit.local.cfg
it.local.cfg
07cdd80ccc1a07edc565199c62d35ea0d80c6c1c 20-Mar-2012 Jim Grosbach <grosbach@apple.com> ARM non-scattered MachO relocations for movw/movt.

Needed when building -mdynamic-no-pic code.

rdar://10459256

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153097 91177308-0d34-0410-b5e6-96231b3b80d8
RM/static-movt-relocs.s
562a67db329b7867dac50ccad9ca19c5554a3d9e 01-Mar-2012 Richard Trieu <rtrieu@google.com> Fix flags for test in MC/MachO/ARM/empty-function-nop.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151778 91177308-0d34-0410-b5e6-96231b3b80d8
RM/empty-function-nop.ll
c01810eeb7227010f73cb39e3c4fa0197a3c4ef0 29-Feb-2012 Jim Grosbach <grosbach@apple.com> ARM implement TargetInstrInfo::getNoopForMachoTarget()

Without this hook, functions w/ a completely empty body (including no
epilogue) will cause an MCEmitter assertion failure.

For example,
define internal fastcc void @empty_function() {
unreachable
}

rdar://10947471

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151673 91177308-0d34-0410-b5e6-96231b3b80d8
RM/empty-function-nop.ll
0f0c411079cd21bb3a81a1b70bf8c67539a16c22 16-Feb-2012 Eli Bendersky <eli.bendersky@intel.com> Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed.

Patch reviewed by Daniel Dunbar. It will be followed by additional cleanup patches.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150664 91177308-0d34-0410-b5e6-96231b3b80d8
RM/dg.exp
RM/lit.local.cfg
g.exp
it.local.cfg
d49b2a7a9d927bb8c314a8c66f7f2e5f3aef4ffd 01-Feb-2012 Kevin Enderby <enderby@apple.com> Fixed a crash in llvm-mc for Mach-O when a symbol difference expression uses a
symbol from an assignment. In this case the symbol did not have a fragment so
MCObjectWriter::IsSymbolRefDifferenceFullyResolved() should not have been
calling IsSymbolRefDifferenceFullyResolvedImpl() with a NULL fragment and should
just have returned false in that case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149442 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-diff-reloc-assign.s
c389af94b66d0c5a917f81617bd07ff0864790a0 24-Jan-2012 Jim Grosbach <grosbach@apple.com> ARM Darwin symbol ref differences w/o subsection-via-symbols.

When not using subsections via symbols, the assembler can resolve
symbol differences (including pcrel references) to non-local
labels at assembly time, not just those in the same atom.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148865 91177308-0d34-0410-b5e6-96231b3b80d8
RM/no-subsections-reloc.s
904b7be27ef12bf3c31a37e97710bd167fe37fda 19-Jan-2012 Jim Grosbach <grosbach@apple.com> Add testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148454 91177308-0d34-0410-b5e6-96231b3b80d8
RM/thumb2-function-relative-load.s
256ba4f42a16da2b3ffc757aa7bf191890765580 18-Jan-2012 Jim Grosbach <grosbach@apple.com> Thumb2 relaxation for LDR(literal).

If the fixup is out of range for the Thumb1 instruction, relax it
to the Thumb2 encoding instead.

rdar://10711829

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148424 91177308-0d34-0410-b5e6-96231b3b80d8
RM/relax-thumb-ldr-literal.s
8b9300b972745a6d89b482cbcd4206c01359f7df 17-Jan-2012 Jim Grosbach <grosbach@apple.com> MC tweak symbol difference resolution for non-local symbols.

When the non-local symbol in the expression is in the same fragment
as the second symbol, the assembler can still evaluate the expression
without needing a relocation.

For example, on ARM:
_foo:
ldr lr, (_foo - 4)

rdar://10348687



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148341 91177308-0d34-0410-b5e6-96231b3b80d8
RM/darwin-ARM-reloc.s
eloc-pcrel-offset.s
eloc-pcrel.s
283f1fff47db3a483ab94e4b49cc39eb39dd48ea 17-Jan-2012 Jim Grosbach <grosbach@apple.com> Tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148339 91177308-0d34-0410-b5e6-96231b3b80d8
eloc-pcrel.s
38fdb7d9fc40e9f29c3156b6625cac8d91d562e1 10-Jan-2012 Kevin Enderby <enderby@apple.com> Various crash reporting tools have a problem with the dwarf generated for
assembly source when it generates the TAG_subprogram dwarf debug info for
the labels that have nothing between them as in this bit of assembly source:

% cat ZeroLength.s
_func1:
_func2:
nop

One solution would be to not emit the subsequent labels with the same address
and use the next label with a different address or the end of the section for
the AT_high_pc value of the TAG_subprogram.

Turns out in llvm-mc it is not possible in all cases to determine of two
symbols have the same value at the point we put out the TAG_subprogram dwarf
debug info.

So we will have llvm-mc instead of putting out TAG_subprogram's put out
DW_TAG_label's. And the DW_TAG_label does not have a AT_high_pc value which
avoids the problem.

This commit is only the functional change to make the diffs clear as to what is
really being changed. The next commit will be to clean up the names of such
things like MCGenDwarfSubprogramEntry to something like MCGenDwarfLabelEntry.

rdar://10666925


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147860 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf.s
5a3d4c983069f0646065b773a7c11a900f9ff94a 13-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Don't rely on a particular version string for llvm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146456 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf.s
59164b731b36a1018a8ac241b0f2dc0a08dfec90 10-Dec-2011 Chandler Carruth <chandlerc@gmail.com> Don't assume things about the exact details of the LLVM version number,
such as what VCS information is attached.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146333 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf.s
94c2e85bea1ab1b837a4c055ccc83d5cd32dd027 09-Dec-2011 Kevin Enderby <enderby@apple.com> The second part of support for generating dwarf for assembly source files. This
generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each
non-temporary label.

The next part will be to get the clang driver to enable this when assembling
a .s file. rdar://9275556


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146262 91177308-0d34-0410-b5e6-96231b3b80d8
en-dwarf.s
577b09155f9a6fa38e5a7918da9701e120b3642f 07-Dec-2011 Jim Grosbach <grosbach@apple.com> Darwin assembler improved relocs when w/o subsections_via_symbols.

When the file isn't being built with subsections-via-symbols, symbol
differences involving non-local symbols can be resolved more aggressively.
Needed for gas compatibility.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146054 91177308-0d34-0410-b5e6-96231b3b80d8
RM/darwin-ARM-reloc.s
eloc-pcrel-offset.s
eloc-pcrel.s
d552a644bec41fe137712c9185d4ca4b0bb54489 07-Dec-2011 Jim Grosbach <grosbach@apple.com> Tidy up. Move MachO tests to MachO directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146038 91177308-0d34-0410-b5e6-96231b3b80d8
RM/darwin-ARM-reloc.s
RM/darwin-Thumb-reloc.s
RM/nop-armv4-padding.s
RM/nop-armv6t2-padding.s
RM/nop-thumb-padding.s
RM/nop-thumb2-padding.s
RM/thumb2-movt-fixup.s
18851edbc4666a8c8695b294e8bdfabbe157c086 06-Dec-2011 NAKAMURA Takumi <geek4civic@gmail.com> test/MC: Introduce MC/MachO/ARM, and relocate relax-thumb2-branches.s into it.

FIXME: Restore more other arch-dependent MachO tests. (eg. r126401 and r133856)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145925 91177308-0d34-0410-b5e6-96231b3b80d8
RM/dg.exp
RM/relax-thumb2-branches.s
286ea03382a5daa1b20f780f40807f1a0257a62e 06-Dec-2011 NAKAMURA Takumi <geek4civic@gmail.com> test/MC: Move relax-thumb2-branches.s from MC/MachO/ to MC/ARM.

MC/MachO assumes x86.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145916 91177308-0d34-0410-b5e6-96231b3b80d8
elax-thumb2-branches.s
d9a6e8978dd65c85d68bf1141d992da576878cd8 06-Dec-2011 Jim Grosbach <grosbach@apple.com> Fix ARM handling of tBcc branch relaxation.

rdar://10069056

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145885 91177308-0d34-0410-b5e6-96231b3b80d8
elax-thumb2-branches.s
064e48a3dce1fd29a35b4b1b01a8c4b67e29c74a 02-Nov-2011 Kevin Enderby <enderby@apple.com> Fixed a bug in the code to create a dwarf file and directory table entires when
it is separating the directory part from the basename of the FileName. Noticed
that this:

.file 1 "dir/foo"

when assembled got the two parts switched. Using the Mac OS X dwarfdump tool
it can be seen easily:

% dwarfdump -a a.out
include_directories[ 1] = 'foo'
Dir Mod Time File Len File Name
---- ---------- ---------- ---------------------------
file_names[ 1] 1 0x00000000 0x00000000 dir
...

Which should be:
...
include_directories[ 1] = 'dir'
Dir Mod Time File Len File Name
---- ---------- ---------- ---------------------------
file_names[ 1] 1 0x00000000 0x00000000 foo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143521 91177308-0d34-0410-b5e6-96231b3b80d8
ile.s
5afc19002e7a6b949619a5073d8c746985e8d6f2 08-Sep-2011 Kevin Enderby <enderby@apple.com> Fix a Darwin x86_64 special case of a jmp to a temporary symbol from an atom
without a base symbol that must not have a relocation entry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139316 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-nobase-relocs.s
5fbe5e783ee0c5ae27c17490a752d7e603e84ed2 25-Aug-2011 Evan Cheng <evan.cheng@apple.com> Some autoconf tests use module level inline asm to test compiler's handling of
.cfi_startproc. e.g. libffi:

$ cat confopt.c
asm (".cfi_startproc\n\t.cfi_endproc");

int main () { return 0; }

Teach MC / dwarf emission to handle these cfi directives which essentially
create an empty frame.

rdar://10017184


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138504 91177308-0d34-0410-b5e6-96231b3b80d8
ebug_frame.s
0d46ccfc5c2f5d0894e340907f6e58067cce5b03 12-Aug-2011 Benjamin Kramer <benny.kra@googlemail.com> MachOWriter: Don't crash on fixups with arithmetic, emit a relocation instead. This matches what as does.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137414 91177308-0d34-0410-b5e6-96231b3b80d8
86_64-reloc-arithmetic.s
75c2b2028bd898cb8448fcf0fa76c3d47843a164 25-Jun-2011 Jim Grosbach <grosbach@apple.com> Move ARM-specific test to ARM directory.

Hopefully make the x86-target-only Windows bots happy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133856 91177308-0d34-0410-b5e6-96231b3b80d8
humb2-movt-fixup.s
56fc6420000876460e8c89c0e7c0ae83ebb5ccf0 24-Jun-2011 Jim Grosbach <grosbach@apple.com> Testcase for r133818

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133823 91177308-0d34-0410-b5e6-96231b3b80d8
humb2-movt-fixup.s
e3a0e987f3d4f07512cdb64b9034369f966cb448 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> On MachO, unlike ELF, there should be no relocation to produce the CIE pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131149 91177308-0d34-0410-b5e6-96231b3b80d8
ebug_frame.s
c8497b6a2565046b5e6b5f2ea9dedc62b53dd966 29-Apr-2011 Daniel Dunbar <daniel@zuster.org> MCAsmLayout: Add support for computing the symbol offset of variables. Not
currently used, because variables don't get reported as being "defined".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130524 91177308-0d34-0410-b5e6-96231b3b80d8
ariable-errors.s
90604ab725da8a2a57cf3ca1541b14b95d619040 29-Apr-2011 Daniel Dunbar <daniel@zuster.org> MC: Change variable symbols to be recognized as defined, by assigning their sections based on FindAssociatedSection().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130523 91177308-0d34-0410-b5e6-96231b3b80d8
ariable-exprs.s
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-diff-relocs.s
c6cf43d25853efb4a6765954eda52a45998a47f2 29-Mar-2011 Daniel Dunbar <daniel@zuster.org> MC: Add support for disabling "temporary label" behavior. Useful for debugging
on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128430 91177308-0d34-0410-b5e6-96231b3b80d8
emp-labels.s
8d06ffca9b72ebef7f5b8830b7ccbd9dd74f8e18 17-Mar-2011 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Fix regression introduced in r126127, this assignment shouldn't have
been removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127812 91177308-0d34-0410-b5e6-96231b3b80d8
ection-attributes.s
3fe3424a2149a67f7468fc7a441d6cb6bb79ca33 24-Feb-2011 Devang Patel <dpatel@apple.com> Move arch specific tests in arch specific directories.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126401 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-ARM-reloc.s
arwin-Thumb-reloc.s
b2624eda5ad0ead99ec5ab7ead47b586c96d1109 29-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/Thumb: Set the thumb bit in the symbol table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122630 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-Thumb-reloc.s
e8624538062da215fe23cfe201b1c905eb7ebb12 27-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/Thumb: Select appropriate relocation types for Thumb.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122583 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-Thumb-reloc.s
4010dd72b81b760daaa0361084de6dca8ed86fa1 24-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/ARM: Start handling some Thumb branches.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122547 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-Thumb-reloc.s
72123334adfa1b020aa7aecf05ce6d135f9c7ffa 22-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/ARM: Don't try to use scattered relocs for BR24 fixups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122441 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-ARM-reloc.s
ecbbf40d5c67f398b70cfed9ed7eaccf52432014 22-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add reduced test from 8845.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122438 91177308-0d34-0410-b5e6-96231b3b80d8
oc.s
df561e02347a904de8dcb3a6f6cb42e10a43bddd 22-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/ARM: We always use the SECTDIFF reloc type on ARM, which is
esp. important given that the LOCAL_SECTDIFF enumeration got redefined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122412 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-ARM-reloc.s
294e67861c9a497f4b7529a410d8817d36354d5a 22-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/ARM: Add enough relocation logic to get BR24 relocations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122407 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-ARM-reloc.s
17304b3489b7b8ea06dd4df237f15a381ae181ce 17-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Expr: Implemnt more aggressive folding during symbol evaluation using
IsSymbolRefDifferenceFullyResolved(). For example, we will now fold away
something like:
--
_a:
...
L0:
...
L1:
...
.long (L1 - L0) / 2
--

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122043 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-complex-difference.s
2bf6afc277edb32b1d940def5b3eb0e0d32a22b9 15-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Relax alignment fragments.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121857 91177308-0d34-0410-b5e6-96231b3b80d8
elax-recompute-align.s
f9a447617329186976fe5ab8b48fe3c9c0698bc7 15-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Patch by David Meyer to avoid a O(N^2) behaviour when relaxing fragments.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121856 91177308-0d34-0410-b5e6-96231b3b80d8
elax-recompute-align.s
545b77ef5002402e1f794249801fee14cad54dba 07-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix absolute recording of differences of symbols in two sections. Reduced from ctor_dtor_count-2.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121152 91177308-0d34-0410-b5e6-96231b3b80d8
iff-with-two-sections.s
3b3148f8647844b92bb84c7c3e864b5403484a38 07-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix relocations with weak definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121114 91177308-0d34-0410-b5e6-96231b3b80d8
eakdef.s
bf60dad984e296d43a8a6b33e8c528e8c8a24394 07-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix pcrel relocations that cross sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121107 91177308-0d34-0410-b5e6-96231b3b80d8
crel-to-other-section.s
f10d2be573f2e1000c2a4497c745367aab7bd9f1 07-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix a crash reduced from gcc produced assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121085 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-diff.s
0bbe0b440ee2cef47dcb7b281825eb70341c16dd 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Second try at making direct object emission produce the same results
as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc
bootstrap on darwin10 using darwin9's assembler and linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121006 91177308-0d34-0410-b5e6-96231b3b80d8
mpty-dwarf-lines.s
5d4918dbd116b0b5e561c431b1ea527ee1b9302a 04-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> There are two reasons why we might want to use

foo = a - b
.long foo
instead of just
.long a - b

First, on darwin9 64 bits the assembler produces the wrong result. Second,
if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not
consider a - b to be a constant but will if the dummy foo is created.

Split how we handle these cases. The first one is something MC should take care
of. The second one has to be handled by the caller.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120889 91177308-0d34-0410-b5e6-96231b3b80d8
mpty-dwarf-lines.s
767b1be3900bdc693aa0ad3e554ba034845f67f7 04-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid
doing that if the target is darwin10 or newer.

This fixes
*) Direct object emission was producing objects without the workaround on
darwin9.
*) Assembly printing was producing objects with the workaround on linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120866 91177308-0d34-0410-b5e6-96231b3b80d8
mpty-dwarf-lines.s
44fa0473ae9144a8cfb4a500ae9de17239e69d2e 27-Nov-2010 Daniel Dunbar <daniel@zuster.org> macho-dump: Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120185 91177308-0d34-0410-b5e6-96231b3b80d8
bsolutize.s
omm-1.s
arwin-x86_64-diff-relocs.s
arwin-x86_64-reloc-offsets.s
arwin-x86_64-reloc.s
irection_labels.s
ndirect-symbols.s
comm-attributes.s
eloc.s
ection-align-1.s
ection-align-2.s
tring-table.s
ymbol-flags.s
ymbol-indirect.s
ymbols-1.s
bss.s
data.s
ls.s
lv-reloc.s
lv.s
alues.s
86_32-optimal_nop.s
86_32-symbols.s
86_64-symbols.s
erofill-1.s
erofill-2.s
erofill-3.s
erofill-5.s
2ace1b68ac717fc284b64944a38705ff57871ba2 25-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Use multiple 0x66 prefixes so that all nops up to 15 bytes are a single instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120147 91177308-0d34-0410-b5e6-96231b3b80d8
86_32-optimal_nop.s
e8e98d7f2eaa0613442ce21ab6a040c0f04f5b4d 19-Nov-2010 Kevin Enderby <enderby@apple.com> Added support for the Mach-O .symbol_resolver directive. rdar://8673046


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119816 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-flags.s
7339fb5dae58df55857a97058d7905aed5868308 16-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Change the 11 byte nop to be a single instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119286 91177308-0d34-0410-b5e6-96231b3b80d8
86_32-optimal_nop.s
23bea41ec68368f9186db2f819dde11efb1d3c83 17-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/i386: Fix a crash in relocation handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114176 91177308-0d34-0410-b5e6-96231b3b80d8
eloc.s
228290c0d181b663f33680aea03e10843da5f907 11-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Change section_data dumping to print hex numbers instead of using
python's %r.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113685 91177308-0d34-0410-b5e6-96231b3b80d8
bsolutize.s
arwin-x86_64-reloc-offsets.s
arwin-x86_64-reloc.s
irection_labels.s
ndirect-symbols.s
cc.s
elax-jumps.s
eloc-pcrel-offset.s
eloc.s
tring-table.s
bss.s
data.s
hread_init_func.s
ls.s
lv-reloc.s
lv.s
86_32-optimal_nop.s
erofill-5.s
a247685b3013b3dc675d4e83f9c98de6473af1d7 08-Sep-2010 Chris Lattner <sabre@nondot.org> fix the encoding of the "jump on *cx" family of instructions,
rdar://8061602


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113343 91177308-0d34-0410-b5e6-96231b3b80d8
cc.s
bd658918df63f43654ce3b1045c7b563df91a63f 27-May-2010 Kevin Enderby <enderby@apple.com> MC/X86: Add aliases for Jcc variants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104890 91177308-0d34-0410-b5e6-96231b3b80d8
cc.s
bd3ba537cdc257b7f2f7fb4ad2ea55ee1e4036f3 27-May-2010 Eric Christopher <echristo@apple.com> Add a quick test of relocations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104794 91177308-0d34-0410-b5e6-96231b3b80d8
lv-reloc.s
02b46bc9426925b90137d264216a54aa413335fd 25-May-2010 Eric Christopher <echristo@apple.com> Add support for initialized global data for darwin tls. Update comments
and testcases accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104635 91177308-0d34-0410-b5e6-96231b3b80d8
ls.s
591466baff32bd76aa3329e18092c0c09528f826 19-May-2010 Eric Christopher <echristo@apple.com> A more combo tls testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104163 91177308-0d34-0410-b5e6-96231b3b80d8
ls.s
aa6c72ec9579cf7a9e65cbc7a56c6a40e9c5ad47 19-May-2010 Eric Christopher <echristo@apple.com> Few more simple tls testcases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104148 91177308-0d34-0410-b5e6-96231b3b80d8
data.s
hread_init_func.s
lv.s
b4e876e37e47d950034667c3bc420828d1c44457 18-May-2010 Eric Christopher <echristo@apple.com> Quick test to make sure we're emitting the tbss section correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104063 91177308-0d34-0410-b5e6-96231b3b80d8
bss.s
d8ba292c9bc4e0927ea21304d735e27a43d296a6 18-May-2010 Kevin Enderby <enderby@apple.com> Fixed the problem with a branch to "0b" that was not parsed by llvm-mc
correctly. The Lexer was incorrectly eating the newline casusing it to branch
to address 0. Updated the test case to use a "0:" label and a branch to "0b".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104038 91177308-0d34-0410-b5e6-96231b3b80d8
irection_labels.s
2ae4bfd76905fb6d5be2bf03eaca51da2f9a4d81 18-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Implement support for setting indirect symbol table offset in section header.

Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104033 91177308-0d34-0410-b5e6-96231b3b80d8
ndirect-symbols.s
ebe7fcd041e1e9c3a0c535b26d8cdb45805bbeb8 18-May-2010 Kevin Enderby <enderby@apple.com> Added support in MC for Directional Local Labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103989 91177308-0d34-0410-b5e6-96231b3b80d8
irection_labels.s
648ac5153e2317d8eb21c5b201f7c58e6a04e2d6 17-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86: Optimal nop sequences should only be used for the .text sections, not all sections in the text segment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103981 91177308-0d34-0410-b5e6-96231b3b80d8
86_32-optimal_nop.s
db9014dd8b7b0b2581d10357b305f99f1b529316 17-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Reverse order of SymbolData scanning when emitting instructions.
- This fixes a string table mismatch with 'as' when two new symbols are defined
in a single instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103979 91177308-0d34-0410-b5e6-96231b3b80d8
tring-table.s
b18d2dd115d8ff3fd75bbaa90849473266236dc3 17-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Fix some differences in symbol flag handling.
- Don't clear weak reference flag, 'as' was only "trying" to do this, it wasn't
actually succeeding.
- Clear the "lazy bound" bit when we mark something external. This corresponds
roughly to the lazy clearing of the bit that 'as' implements in
symbol_table_lookup.
- The exact meaning of these flags appears pretty loose, since 'as' isn't very
consistent. For now we just try to match 'as', we will clean this up one day
hopefully.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103964 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-flags.s
f0f6cdb6b40bdf799a806efca05f44081bb154d3 14-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Darwin's special "signed_N" relocation types should only be
used to replace a normal relocation, not a reference to a GOT entry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103789 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-reloc.s
2f93667f0bc08a9f092b941ba7d604367da3e377 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Add another zerofill test to improve coverage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103691 91177308-0d34-0410-b5e6-96231b3b80d8
erofill-5.s
a5f1d57f65ae601ec181c0f4e36cf0df5e8d79d8 12-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Add a new hook for checking whether a particular section can
be diced into atoms, and adjust getAtom() to take this into account.
- This fixes relocations to symbols in fixed size literal sections, for
example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103532 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-reloc.s
db4c7e606f6bcc42ed8d853be5d67dfb9fa0edee 12-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Fix PCrel adjustment for x86_64, which was using the fixup
offset instead of the fixup address as intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103527 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-reloc.s
651804c3d63a05f72221a6d133e5b344e6aaa093 11-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O x86_64: Switch to using fragment atom symbol.
- This eliminates getAtomForAddress() (which was a linear search) and
simplifies getAtom().
- This also fixes some correctness problems where local labels at the same
address as non-local labels could be assigned to the wrong atom.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103480 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-reloc.s
a8251fac10e3ba7c4ad7035f1f039197ac3e09c7 11-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Fix another mismatch with .weak_definition, we shouldn't use a
scattered relocation entry with a .weak_definition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103443 91177308-0d34-0410-b5e6-96231b3b80d8
eloc.s
a6eeb6e226d7d86d04e34e3b6464f66e0a052f43 07-May-2010 Kevin Enderby <enderby@apple.com> Fix i386 relocations to Weak Definitions. The relocation entries should be
external and the item to be relocated should not have the address of the
symbol added in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103302 91177308-0d34-0410-b5e6-96231b3b80d8
eloc.s
2d7fd61e94e2db0586ad9d5d26c1e7c5510a006d 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for
writing them.
- <rdar://problem/7885351> integrated assembler broken for i386 objc code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103112 91177308-0d34-0410-b5e6-96231b3b80d8
eloc.s
ae7fb0b03ebc524e6c47f0262b8dc87810fee1a8 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Relocations in debug sections should use local relocations
when possible.
- <rdar://problem/7934873>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103092 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-reloc.s
1de558b71f710a00e391fb9a88a6481b8918e207 30-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Support @GOTPCREL on symbols, even for non-PCrel relocations!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99853 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-reloc.s
e9cfd685f5916a45e7cd36e51191cec16b02189d 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Fix refacto in MCExpr evaluation, I mistakenly replaced a fragment address with a symbol address.
- This fixes the integrated-as nightly test regressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99466 91177308-0d34-0410-b5e6-96231b3b80d8
bsolutize.s
78fcf53a187584dec0b8eb25a34c826c918600ce 20-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Remove Darwin host specific tests, we don't need them anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99100 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/dg.exp
arwin/optimal_nop.s
arwin/x86_32_diff_as.s
57a49a202f8613d99dcb2f75f2b5a9505898f1a1 20-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Tweak optimal_nop test to be host independent.
- This also avoids us running valgrind on /usr/bin/as, which has leaks. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99099 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/optimal_nop.s
86_32-optimal_nop.s
b46b03b36f50c11d5517024c1d0ef3763085eb90 19-Mar-2010 Kevin Enderby <enderby@apple.com> Fixed the encoding problems of the crc32 instructions. All had the Operand size
override prefix and only the r/m16 forms should have had that. Also for variant
one, the AT&T syntax, added suffixes to all forms. Also added the missing
64-bit form for 'CRC32 r64, r/m8'. Plus added test cases for all forms and
tweaked one test case to add the needed suffixes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98980 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/x86_32_diff_as.s
602b40f0d06d6275cbe73de2ac3b6b6a7dc1d46d 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Add relocation support.
- This is "extraordinarily" Darwin 'as' compatible. See the litany of FIXMEs littered about for more information.
- There are a few cases which seem to clearly be 'as' bugs which I have left unsupported, and there is one cases where we diverge but should fix if it blocks diffing .o files (Darwin 'as' ends up widening a jump unnecessarily).
- 403.gcc build, runs, and diffs equivalently to the 'as' built version now (using llvm-mc). However, it builds so slowly that I wouldn't recommend trying it quite yet. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98974 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-x86_64-diff-relocs.s
arwin-x86_64-reloc-offsets.s
arwin-x86_64-reloc.s
939f8d7ca23b95acdd5d1e71a7579ee8d33e7fd6 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Factor out isScatteredFixupFullyResolvedSimple predicate, and fix some corner cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98924 91177308-0d34-0410-b5e6-96231b3b80d8
eloc.s
d6e59084d07500f68548652b8197325809a0c0c2 15-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Temporary labels in cstring sections require symbols (and external relocations, but we don't have x86_64 relocations yet).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98583 91177308-0d34-0410-b5e6-96231b3b80d8
86_32-symbols.s
86_64-symbols.s
3b39f890069a37e67081b17f1e9c99a8654d11cf 14-Mar-2010 Chris Lattner <sabre@nondot.org> xfail properly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98479 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/x86_32_diff_as.s
9e2dab7dbe518bbeb7e93d0f3459e3f1c5f61964 14-Mar-2010 Chris Lattner <sabre@nondot.org> xfail these tests temporarily to get teh buildbots back to happy land.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98476 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/x86_32_diff_as.s
5691e74f97fc8cad671d50450ad986347875e1d1 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/X86_64: Symbol support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98456 91177308-0d34-0410-b5e6-96231b3b80d8
ymbols-1.s
ee0d89245eabf93d89b5fef7ac8707680796826d 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Initial x86_64 support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98454 91177308-0d34-0410-b5e6-96231b3b80d8
ections.s
86_32-sections.s
86_64-sections.s
da3e9f760ce2328f6dfe69663c2b17da02ece2db 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: PCrel relocations weren't using the right base address, they are
relative to the fragment address, not its offset. This was masked by the text
section normally being at address 0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98420 91177308-0d34-0410-b5e6-96231b3b80d8
eloc-pcrel-offset.s
f08fde41f34d739c157b1d75dadbb864e7957cab 12-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Implement initial support for relaxation.
- The implementation is currently very brain dead and inefficient, but I have a
clear plan on how to fix it.

- The good news is, it works and correctly assembles 403.gcc (when built with
Clang, at '-Os', '-Os -g', and '-O3'). Even better, at '-Os' and '-Os -g',
the resulting binary is exactly equivalent to that when built with the system
assembler. So it probably works! :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98396 91177308-0d34-0410-b5e6-96231b3b80d8
elax-jumps.s
elax-recompute-align.s
979ba5b3c7c818b826d06298ee7f79c4234faedb 11-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Implement "absolutizing" semantics of .set, by evaluating the assembly time value of variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98241 91177308-0d34-0410-b5e6-96231b3b80d8
bsolutize.s
a015c1c876bb74a83cbbae06449056e0c6f0e9c9 10-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Use the SECTDIFF relocation type for (A - B + constant) where A is external.
- I'm not sure why, but this is what 'as' does.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98115 91177308-0d34-0410-b5e6-96231b3b80d8
eloc-diff.s
f3a066f7c3ef4e729c92929acab352a93f8d7563 09-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: For PCrel relocations, we need to compensate for the PCrel adjustment when determining if we need a scattered relocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98082 91177308-0d34-0410-b5e6-96231b3b80d8
eloc-pcrel.s
b2b4acd757194b4b75e571ec7225811f94e753f3 08-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Macho-O: Align the zerofill section itself to the maximum alignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97991 91177308-0d34-0410-b5e6-96231b3b80d8
erofill-4.s
erofill-sect-align.s
37fad5ce4d81fd459fafe1517d6cd17e7ab49958 08-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Fix address compution for zero fill sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97984 91177308-0d34-0410-b5e6-96231b3b80d8
erofill-4.s
d74acb0c78c3b738ae8f313461433105fb18543b 25-Feb-2010 Kevin Enderby <enderby@apple.com> This is a patch to the assembler frontend to detect when aligning a text
section with TextAlignFillValue and calls EmitCodeAlignment() instead of
calling EmitValueToAlignment(). This allows x86 assembly code to be aligned
with optimal nops.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97158 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/optimal_nop.s
197f1f024677641dc86760c56d5fcaff7e1b52ee 02-Feb-2010 Daniel Dunbar <daniel@zuster.org> MCAssembler/Darwin: Add a test (on Darwin) that we assemble a bunch of
instructions exactly like 'as', and produce equivalent .o files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95143 91177308-0d34-0410-b5e6-96231b3b80d8
arwin/dg.exp
arwin/x86_32_diff_as.s
e1ec617c6abf0b9dc1eecbbfe483bda3bb2b7795 02-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95135 91177308-0d34-0410-b5e6-96231b3b80d8
ection-flags.s
5440f6309d6b714475a631b12307432c719cd066 07-Oct-2009 Kevin Enderby <enderby@apple.com> Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
that a symbol stub section with no attributes can be parsed as in:
.section __TEXT,__picsymbolstub4,symbol_stubs,none,16


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83488 91177308-0d34-0410-b5e6-96231b3b80d8
ections.s
8f4d146c340c9423271ebd7bb3fd32b880000bc9 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support .comm emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80351 91177308-0d34-0410-b5e6-96231b3b80d8
omm-1.s
d5a8e98ef627a35284c9b5989664514f8f163968 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support .zerofill emission.
- I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80347 91177308-0d34-0410-b5e6-96231b3b80d8
comm-attributes.s
erofill-1.s
erofill-2.s
erofill-3.s
b1126e6f4a41ba8bcee155803a6572cf2e493924 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> For now, only run MC tests if X86 is configured.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80213 91177308-0d34-0410-b5e6-96231b3b80d8
g.exp
7c0a3348fb5c8259a2b4e21b8c80b5459eaa9487 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
sections, etc.
- The quick and dirty way, just clone the TargetLoweringObjectFile
code. Eventually this should be shared... somehow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80168 91177308-0d34-0410-b5e6-96231b3b80d8
ections.s
959fd883346384e742fff049327a6815e36017e0 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
- I moved section creation back into AsmParser. I think policy decisions like
this should be pushed higher, not lower, when possible (in addition the
assembler has flags which change this behavior, for example).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80162 91177308-0d34-0410-b5e6-96231b3b80d8
ymbols-1.s
6009db486e7fba448ccb28dff676c012efade8f0 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80144 91177308-0d34-0410-b5e6-96231b3b80d8
ections.s
3f6a960f9c9ad27f2ac573020df414e8b8cdda04 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Add support for relocations.
- I haven't really tried to find the "right" way to store the fixups or apply
them, yet. This works, but isn't particularly elegant or fast.

- Still no evaluation support, so we don't actually ever not turn a fixup into
a relocation entry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80089 91177308-0d34-0410-b5e6-96231b3b80d8
eloc.s
573e53627e3e44cce60e8c0443a34cd43c41e316 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix tests for python variations in int printing, sigh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80069 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-indirect.s
6742e34385bff89b897ef0fc930c4bca9e75ac4a 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Add section padding where needed (to align the next section).

Also, simplify some of Mach-O writer code which can now use section addresses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80067 91177308-0d34-0410-b5e6-96231b3b80d8
ection-align-1.s
ection-align-2.s
5e835967dd5dda294d0ef3392f4c1d4a2260f532 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Set addresses for symbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80065 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-indirect.s
alues.s
ad7c3d55932f949e6bd428232999088a53f54a4f 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Improve indirect symbol support (add the indirect index table).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80059 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-indirect.s
6aff2fbd56d4bc2d6029f7c9bd49a97f6dc01213 24-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Support symbol attributes.
- This is mostly complete, the main thing missing is .indirect_symbol support
(which would be straight-forward, except that the way it is implemented in
'as' makes getting an exact .o match interesting).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79899 91177308-0d34-0410-b5e6-96231b3b80d8
ymbol-flags.s
3edd9bb7a3da8526eb2f4a5dae2962a987d3d566 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Improve symbol table support:
- Honor .globl.

- Set symbol type and section correctly ('nm' now works), and order symbols
appropriately.

- Take care to the string table so that the .o matches 'as' exactly (for ease
of testing).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79740 91177308-0d34-0410-b5e6-96231b3b80d8
ymbols-1.s
605187e5968b500d6ea1d6a7e318ee608f08b774 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> Force triple for these tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79737 91177308-0d34-0410-b5e6-96231b3b80d8
ata.s
ections.s
2330df6b66e6ca7cfad54be9088f0d931cc66441 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Improve handling of implicit alignment for magic section directives
(e.g., .objc_message_refs).
- Just emit a .align when we see the directive; this isn't exactly what 'as'
does but in practice it should be ok, at least for now. See FIXME.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79697 91177308-0d34-0410-b5e6-96231b3b80d8
ections.s
d6f761e0eb610936a6b8495360b62696dcd85164 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Support .o emission for .org and .align.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79684 91177308-0d34-0410-b5e6-96231b3b80d8
ata.s
0705fbf52fcaade0c6b9d5d33bec163ee4c2daf4 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Support byte and fill value emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79652 91177308-0d34-0410-b5e6-96231b3b80d8
ata.s
fb4a6b397665df011348ade24a8e38d2219f095a 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Start MCAssembler and MCMachOStreamer.

- Together these form the (Mach-O) back end of the assembler.

- MCAssembler is the actual assembler backend, which is designed to have a
reasonable API. This will eventually grow to support multiple object file
implementations, but for now its Mach-O/i386 only.

- MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
e.g. converting the various directives into fragments, managing state like
the current section, and so on.

- llvm-mc will use the new backend via '-filetype=obj', which may eventually
be, but is not yet, since I hear that people like assemblers which actually
assemble.

- The only thing that works at the moment is changing sections. For the time
being I have a Python Mach-O dumping tool in test/scripts so this stuff can
be easily tested, eventually I expect to replace this with a real LLVM tool.

- More doxyments to come.

I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79612 91177308-0d34-0410-b5e6-96231b3b80d8
g.exp
ections.s