History log of /external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/MC/MCAssembler.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/MC/MCAssembler.h
ce9904c6ea8fd669978a8eefb854b330eb9828ff 12-Feb-2014 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/release_34' into merge-20140211

Conflicts:
lib/Linker/LinkModules.cpp
lib/Support/Unix/Signals.inc

Change-Id: Ia54f291fa5dc828052d2412736e8495c1282aa64
72580780a98cb8b0019b7ec4ed88e3f3328b9969 29-Oct-2013 Joerg Sonnenberger <joerg@bec.de> Move the STT_FILE symbols out of the normal symbol table processing for
ELF. They can overlap with the other symbols, e.g. if a source file
"foo.c" contains a function "foo" with a static variable "c".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
38578c4919ea18ceb27e29988b2d857afe6215bf 03-May-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-20130502

Conflicts:
lib/Support/Unix/Signals.inc
unittests/Transforms/Utils/Cloning.cpp

Change-Id: I027581a4390ec3ce4cd8d33da8b5f4c0c7d372c8
df39be6cb4eb44011db3d3e86f8fe463f81ce127 17-Apr-2013 Peter Collingbourne <peter@pcc.me.uk> Add support for subsections to the ELF assembler. Fixes PR8717.

Differential Revision: http://llvm-reviews.chandlerc.com/D598

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
27554ee1d8348d06741b9e697be173c5514dac0d 09-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove unused method and default values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
5adb136be579e8fff3734461580cb34d1d2983b8 06-Mar-2013 Stephen Hines <srhines@google.com> Merge commit 'b3201c5cf1e183d840f7c99ff779d57f1549d8e5' into merge_20130226

Conflicts:
include/llvm/Support/ELF.h
lib/Support/DeltaAlgorithm.cpp

Change-Id: I24a4fbce62eb39d924efee3c687b55e1e17b30cd
9a7bf438b50fed2c77f0e2bc835defa5b4728f82 30-Jan-2013 Jack Carter <jcarter@mips.com> This patch reworks how llvm targets set
and update ELF header e_flags.

Currently gathering information such as symbol,
section and data is done by collecting it in an
MCAssembler object. From MCAssembler and MCAsmLayout
objects ELFObjectWriter::WriteObject() forms and
streams out the ELF object file.

This patch just adds a few members to the MCAssember
class to store and access the e_flag settings. It
allows for runtime additions to the e_flag by
assembler directives. The standalone assembler can
get to MCAssembler from getParser().getStreamer().getAssembler().

This patch is the generic infrastructure and will be
followed by patches for ARM and Mips for their target
specific use.

Contributer: Jack Carter



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
059800f9e3fee2852672f846d91a2da14da7783a 21-Jan-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-llvm

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/MC/MCAssembler.cpp
lib/Support/Atomic.cpp
lib/Support/Memory.cpp
lib/Target/ARM/ARMJITInfo.cpp

Change-Id: Ib339baf88df5b04870c8df1bedcfe1f877ccab8d
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
/external/llvm/include/llvm/MC/MCAssembler.h
6a3cbc35a75468d565385a0db8e7051478f383f4 16-Jan-2013 Eli Bendersky <eliben@google.com> Replace virtual hasFixups with explicit fragment type checks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
9ccb76998f741a7d3f0f217392a783dfb99c6e87 16-Jan-2013 Eli Bendersky <eliben@google.com> Optimize the memory usage of MC bundling, by creating a new type of fragment
into which we can emit single instructions without fixups (which is most
instructions). This is an optimization required because MCDataFragment
is prety large (240 bytes on x64), with no change in functionality.

For large programs, this reduces memory usage overhead required for bundling
by 40%.

To make the code as palatable as possible, the MCEncodedFragment interface was
further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used
as the interface to work against when the user expects fixups. MCDataFragment
and MCRelaxableFragment implement this interface, while the new
MCCompactEncodedInstFragment implements MCEncodeFragment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
0fdcef6030fb69bee45f604c71c53bebb17c1079 08-Jan-2013 Eli Bendersky <eliben@google.com> Simplify the code a bit: MCRelaxableFragment doesn't need a separate getInstSize
method because getContents().size() already covers it. So computeFragmentSize
can use the generic MCEncodedFragment interface when querying both Data and
Relaxable fragments for contents sizes.

No change in functionality


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
251040bc18eedfa56d01fe92836e55cfd8c5d990 08-Jan-2013 Eli Bendersky <eliben@google.com> Renamed MCInstFragment to MCRelaxableFragment and added some comments.

No change in functionality.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
6c1d4972cf1cd6b6072e31c05f97abb1ed7a8497 07-Jan-2013 Eli Bendersky <eliben@google.com> Add the align_to_end option to .bundle_lock in the MC implementation of aligned
bundling. The document describing this feature and the implementation has also
been updated:

https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
4766ef41b31e4f97bce1179c3b0398303bf65356 20-Dec-2012 Eli Bendersky <eliben@google.com> Aligned bundling support. Following the discussion here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056754.html

The proposal and implementation are fully documented here:
https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm

Tests will follow shortly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
5399d2502acaf96fe8420e61913e77f0b23650ff 12-Dec-2012 Pedro Artigas <partigas@apple.com> Make the MCStreamer have a reset method and call that after finalization of the asm printer,
also changed MCContext to a single reset only method for simplicity as requested on the list



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f43e3fdb4ffddff6f71b5597c813c43e1e206564 10-Dec-2012 Eli Bendersky <eliben@google.com> Cleanup formatting, comments and naming.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
550f0ade457c3b042fa099ecff2c022c7ab58b1e 07-Dec-2012 Eli Bendersky <eliben@google.com> Make the contents of encoded sections SmallVector<char, N> instead of
SmallString. This makes it possible to use the length-erased SmallVectorImpl
in the interface without imposing buffer size. Thus, the size of MCInstFragment
is back down since a preallocated 8-byte contents buffer is enough.

It would be generally a good idea to rid all the fragments of SmallString as
contents, because a vector just makes more sense.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
64d9a3233476553fc950f0f2fc6a2cdd2a4c05cf 07-Dec-2012 Eli Bendersky <eliben@google.com> Refactor MCInstFragment and MCDataFragment to adhere to a common interface,
which removes code duplication and prepares the ground for future additions.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
5c10f509f45820d1198bfb975840e93a782745ac 05-Dec-2012 Eli Bendersky <eliben@google.com> Change std::vector to SmallVector<4> and remove some unused methods.

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
fa8de2403078353fe3c7ae160bec22fa23d4d315 05-Dec-2012 Eli Bendersky <eliben@google.com> Remove unused methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a7e29c878cac1cc7e75959889dd841a16d764988 05-Dec-2012 Eli Bendersky <eliben@google.com> Remove the non-const getInst accessor. It wasn't being used, and isn't very
good for enacpsulation anyway.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 12-Oct-2012 Sean Silva <silvas@purdue.edu> Remove unnecessary classof()'s

isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
09bc9373f29b56d69ac3160446f25fc8020b3c16 15-Sep-2012 Craig Topper <craig.topper@gmail.com> Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
c5252da873d547a19069eaf9030fec203f128f66 14-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix Doxygen issues:
* 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1c4ad5ef4fab105f0c8af7edd026e00502fb6279 11-Sep-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge-2012_09_10

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/Support/DynamicLibrary.cpp
lib/Support/LockFileManager.cpp

Change-Id: I91e94c3a7a76e19c688307c5a480a640a3bd2b7e
1f7210e808373fa92be3a2d4fa653a6f79d5088b 29-Aug-2012 Craig Topper <craig.topper@gmail.com> Make use of the LLVM_DELETED_FUNCTION macro.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1df46c36b6142d50acfa21063a6e682e7f055e8e 23-Aug-2012 Lang Hames <lhames@gmail.com> Make the setInst method take its MCInst parameter by reference, a la Jim's
change in r162404.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
6c6237f8dce6787e550a3e243e22a085a2859fe8 23-Aug-2012 Jim Grosbach <grosbach@apple.com> MCInstFragment constructor should take by-reference MCInst.

The MCInst is immediately passed to the copy-constructor for local
storage, so there's no need for the parameter itself to be by-value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
7744acd1ab73b3eec6f1449f47083abe3fb1b527 03-Aug-2012 Shih-wei Liao <sliao@google.com> Merge with LLVM upstream r160668 (Jul 24th 2012)

Conflicts:
include/llvm/Support/ELF.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Support/Memory.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp

Change-Id: Iddd658cf2eadc7165b2805b446d31af2c5c9917f
94edc64ba23f71c31d5dee0b6942584a14cedcb5 06-Jul-2012 Owen Anderson <resistor@mac.com> Fix an overzealous assertion. It is legitimate for a target to have multiple fixups on a single instruction that target the same byte, so long as their bit-offsets are coordinates appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
cf5a1461acaace0f3e7d11fbbcfbf635b8c8ea9d 24-Apr-2012 Shih-wei Liao <sliao@google.com> Merge with LLVM upstream r155090.

Conflicts:
lib/Support/Unix/PathV2.inc

Change-Id: I7b89833849f6cbcfa958a33a971d0f7754c9cb2c
f1d0f7781e766df878bec4e7977fa3204374f394 26-Mar-2012 Craig Topper <craig.topper@gmail.com> Prune some includes and forward declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
014bc6e3ceac59ea7d1d435cfb88642157c5270c 19-Mar-2012 TDYa127 <tdy@google.com> Restore to use private and LLVM coding style

Change-Id: I5650b0de503f5b44e7dc38bcb204f65a9b8a4ddc
/external/llvm/include/llvm/MC/MCAssembler.h
8b8825ac164c2e7cce8b6987cea78cd8b301360d 17-Mar-2012 Shih-wei Liao <sliao@google.com> Integrated linker.

Change-Id: Iec22c1b717750cb428c61c5319cdd77378e4af1e
/external/llvm/include/llvm/MC/MCAssembler.h
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
370b78d795154899a22ca2b4674e890661ff1d59 06-Dec-2011 Jim Grosbach <grosbach@apple.com> Move target-specific logic out of generic MCAssembler.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
fdedd486243724139b1403a939f46b7de1138d93 06-Dec-2011 Jim Grosbach <grosbach@apple.com> Tidy up. 80 columns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f77d5b14af6b92403b93f7ed249f9023e99028cc 06-Dec-2011 Jim Grosbach <grosbach@apple.com> Switch MCAssembler to method names starting w/ lower-case.

per http://llvm.org/docs/CodingStandards.html#ll_naming

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
78c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5c 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
96aa78c8c5ef1a5f268539c9edc86569b436d573 23-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for the --noexecstack option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
245a1e20419aa5a3c833d7a8e89168e19d5f4d2c 28-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Relax address updates in the eh_frame section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
7a45903bf40a023ce96f4da953bb6cb2cb1a1b50 21-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Don't relax org or align. They change size as the relaxation happens, but they
are not actually relaxed. For example, a section with only alignments will never
needs relaxation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
62b83b62f377ac248038672015dc65970327f786 21-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Layout one section until no relaxations are done and then move to the next
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
5d2477cecf53bef911f57423a5cecb743d4286fa 17-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Assembler: Strip out object writer arguments, now that it is always available
-- and remove FIXME asking for the same!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
feb7ba3d9abfa1eb89f6da93c51649baaa931ab8 17-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC/Assembler: Make the MCObjectWriter available through the lifetime of the
assembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
475002078848d102b6577fe7283464c039b38af6 14-Dec-2010 Jim Grosbach <grosbach@apple.com> ARM Fixups relative to thumb functions need to have the low bit of the value
set for interworking to work properly. rdar://8755956

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
4f4363a490721fe6e4f275193e783f77fa631ef2 08-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Layout each section independently. With the testcase in PR8711:

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 :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
85f2ecc697a8ca6c8cf08093054cbbb9d2060ccf 07-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Sorry for such a large commit. The summary is that only MachO cares about the
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
179821ac1f282ef6f8d24d5ea346028aee8ba4c7 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Remove the instruction fragment to data fragment lowering since it was causing
freed data to be read. I will open a bug to track it being reenabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f8803fe4177739f9a6900198f601808eb27934d9 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Remove the getAddress getter, initialize Ordinal in the constructor and use
that on the ELF writer to detect a section we created.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
db74aeadcd1b9a597ad0f80c0036e67e63ba20ed 04-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Remember the contents of leb and dwarfline fragments when relaxing. This avoids
having to evaluate the expression again when writing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
6db8a9f3fabefeb00163295f0611d09134651f3f 02-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> The sections that the ELF object writer has to create are very simple and
contain only data. Handle them specially instead of using AddSectionToTheEnd.
This moves a hack from the generic assembler to the elf writer. It is also
a bit faster and should make other improvements easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
6566e0a55e3d9403f77db81a79a5dadedb4e666e 01-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Remove unused argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
187d8339dbc0530850e54a86edf36f1a865a5823 07-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Relax dwarf line fragments. This fixes a crash in the included testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
187ce544b2c6fa5ee6545390f2d07bc471e4159b 02-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Do relaxations with FT_Org fragments. Fixes the FIXME:

// FIXME: We should compute this sooner, we don't want to recurse here, and
// we would like to be more functional.

In MCAssembler::ComputeFragmentSize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
3ff57094a7d176a759ddb1e1668489d89064f56c 02-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for expressions in .sleb/.uleb directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
3bb435301a2b5c901a993b0e151d05b596697038 30-Sep-2010 Kevin Enderby <enderby@apple.com> Did my commit for the last patch for the .loc directory from the wrong place and
missed a bunch of files. Here the rest. Sorry about that.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
7070387f08f7dc797b554ed8013cba9f8b74121a 30-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Make it possible for the MCObjectWriter to decide if a given fixup is fully
resolved or not. Different object files have different restrictions and
different native assemblers have different idiosyncrasies we want to emulate
for now.

Move the existing MachO logic to the new place and implement an ELF one that
gets fixups to globals right.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
b814110612024a092fd884050fbab9d012b16dc7 27-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Remove unused argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
59ff3c913449402ad5447bbe3ae6338402fb84b0 23-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Avoid some Mach-O specific alignment being done on ELF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
d7343ddce500c8043a58dd50cac6127ba7d9d9a3 17-Aug-2010 Anton Korobeynikov <asl@math.spbu.ru> Add some win64 coff goodness.
Patch by Cameron Esfahani!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a8bf473fb15bbedc78144ec57438f884616283b0 16-Aug-2010 Matt Fleming <matt@console-pimps.org> Layout helper function.

Introduce a helper method to add a section to the end of a layout. This
will be used by the ELF ObjectWriter code to add the metadata sections
(symbol table, etc) to the end of an object file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
6c8b3d2f1f6fe6eb6a7ae81eab24c1b6db9232ae 16-Aug-2010 Matt Fleming <matt@console-pimps.org> Record a symbol's size which is needed for ELF symbol tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
36880e704f63d4c77a3c5a94047b5afdf79e82db 28-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Put back the MCFragment vtable, so subclasses are destroyed properly (duh).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
c96a82a53415fd0b6cb1bbea2593dc18683c70cc 22-Jul-2010 Reid Kleckner <reid@kleckner.net> Initial modifications to MCAssembler and TargetMachine for the MCJIT.

Patch by Olivier Meurant!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a838bae1863b463c07056c086ab7c23faa9759e7 13-Jul-2010 Chris Lattner <sabre@nondot.org> use a typedef instead of its expansion, patch by Michael Spencer


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
843aa1f15b06fc3c2b39740ffb5bffd2fa6827ce 16-Jun-2010 Daniel Dunbar <daniel@zuster.org> MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
c90e30aa6f3792a460202017523171f435e2ba34 26-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Eliminate MCAsmFixup, replace with MCFixup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
482ad802f1b1885542ea8a30e144a228a1526912 26-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Use accessors for access to MCAsmFixup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
e614e393c7f80a39430b8a69813f5fd1f4c77cf9 26-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Eliminate MCFragment vtable, which was unnecessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
337718e09c99349939a53643984c04f5dc118bb7 14-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Switch MCFragment to storing the layout order index, not its index in the file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
b69fc044db8c193348b6611f46432bb21b3cbe90 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Move Layout{Fragment,Section} into MCAsmLayout, and add LayoutFile().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
2c18d3b0fec25b2b7befc7ac5751e84005f4a869 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Factor out MCAssembler::ComputeFragmentSize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103724 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f60c736c64d6c9d683df1cead3631958359c14f1 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Add section layout order indices to MCSectionData.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
2661f11e4602ad017fa155f6fdcee0a4f2d1ae86 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Eliminate MCSectionData::{,Address,File}Size, which can now be computed by
utility functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
456b5012704bcece2c8c28783e6efabb7b998616 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Add MCAlignFragment::OnlyAlignAddress bit. This is a bit of magic that says the align fragment shouldn't contribute to the logical section size, it is will be used for cleaning up the code to handle section alignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
b5844ff1c44f0427bcf132eaece945da411e650f 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Add MCSectionData::AddressSize, which is the size of the address space consumed by the section. This can differ from both the section logical size, and the section size on disk (although the current code handles this without making an explicit distinction).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1c15413ebc8f4a35545a381a789a718627396d03 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Move MCAlignFragment::EmitNops value out of the constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
4e544870c4c3f81b150e4c3b38a18d629d706b74 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Eliminate MCZeroFillFragment, it is no longer needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
3153fec733acd079a9e681d16d39253b9517e02c 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Switch MCFillFragment to storing total fill size instead of a count. This allows using ValueSize==0 to represent a virtual fill.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
e73d49eda2cb4fc30b52c4a241acf69c8af98302 13-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Drop support for alignment in ZeroFill fragment, we can just use
MCAlignFragments for this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f0d17d2461a6458568672f611ba4a590d26b1e1a 12-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Factor out MCAssembler::LayoutFragment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
d13a0caf726e05c9bd939d752ef371d6d467ef28 12-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Simplify LayoutSection to just take the index of the section to layout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
624d466a671feb563c137d1216ecad9d03d1a2ed 12-May-2010 Nathan Jeffords <blunted2night@gmail.com> Added a trivial function to modify the flags field of MCSymbolData class. The function takes the value and a mask, and clears the mask bits before applying the value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
071f73db4a0c3f7f00ef14d38af17f3c8d69827a 11-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Explicitly track atoms, as represented by their defining symbol, for each fragment (not yet used).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
ac2884a717daf3ad2aa8425320795d661e8a980b 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need
exactly two passes in that case, and don't ever need to recompute any layout,
so this is a nice baseline for relaxation performance.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
0cc8bd48619b943379f5c2cc11a19fb189342925 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Stop restarting layout on every relaxation.
- Still O(N^2), just a faster form, and now its the MCAsmLayout's fault.

On the .s I am tuning against (combine.s from 403.gcc):
--
ddunbar@lordcrumb:MC$ diff stats-before.txt stats-after.txt
5,10c5,10
< 1728 assembler - Number of assembler layout and relaxation steps
< 7707 assembler - Number of emitted assembler fragments
< 120588 assembler - Number of emitted object file bytes
< 2233448 assembler - Number of evaluated fixups
< 1727 assembler - Number of relaxed instructions
< 6723845 mcexpr - Number of MCExpr evaluations
---
> 3 assembler - Number of assembler layout and relaxation steps
> 7707 assembler - Number of emitted assembler fragments
> 120588 assembler - Number of emitted object file bytes
> 14796 assembler - Number of evaluated fixups
> 1727 assembler - Number of relaxed instructions
> 67889 mcexpr - Number of MCExpr evaluations
--
Feel free to LOL at the -before numbers, if you like.

I am a little surprised we make more than 2 relaxation passes. It's pretty
trivial for us to do relaxation out-of-order if that would give a speedup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f476b00f51c98d12dda1f3a7c8455f8d74812c6d 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Simplify main section layout process by moving alignment into LayoutSection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
be644a38c09bd0fa03bb07f48f2c1dec32052de8 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Sink Section address assignment into LayoutSection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
5a6e97a7e4e25265cd491f10cc9b0676ff5c0746 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Explicity track section and fragment ordinals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
5d428511ca9607d52a09d3483d0738f483e09934 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Route access to SectionData offset and file size through MCAsmLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
432cd5fd9b4c97f1e4a53fcf45e16f7dd6bc085e 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Route access to Fragment offset and effective size through MCAsmLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
7c3d45a03e64ac1b5b2ecdb7153989fd7cebfd2c 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Eliminate MC{Fragment,{Section,Symbol}Data}::getAddress.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
207e06ea0446c51cb1d89f6400ec7becc46487f8 24-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
337055e62f28f18a9a8c4a090633cae1c2256ae1 23-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
9799de910e97879bf9f30f359551071a94d61570 23-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Tweak MCInstFragment to include the encoded data and fixups, so that we don't need to recompute them during relaxation. I will revisit this once all the other pieces of fast relaxation are in place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
3f4dcd92daef80f87919507b6baf2a97d4bfaa2e 23-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Add MCInstFragment, not used yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
9d39e616cc0f43e91e509e5c8129c7d46327fd0d 22-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would do, and sprinkle in some const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
2a6e3f5be21fdcb1fa81533ec81ba879df815607 22-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Eliminate MCFragment::getMaxFileSize.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
8d39eb47d6a15d36be7ac0d0154a6897e42f5adc 22-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Share the MCAsmLayout object, although its still not used for anything important.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
d4d4a90a8c1ec76bb572cfeb4fadcad329b8cab9 19-Mar-2010 Douglas Gregor <dgregor@apple.com> Acccess control is lame

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1a07bc5cf4dfa8e4b2fcde47de95839a5d4d7626 19-Mar-2010 Douglas Gregor <dgregor@apple.com> struct -> class, to silence a Clang warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
cf871e5abff63a53f9e97ff9e37fb7297d0cb847 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Sink code emitter into MCAssembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
53b2338a1d061ad15a858ff0d641431f4d4ac101 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Split MCObjectWriter out of MCAssembler.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
b1e98945e4b107eb3f2ac1b54706c49864842dc4 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Lift the fixup evaluation and application up (to the same place), and eliminate MCAsmFixup::FixedValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
bacba997782f624d3c43591a913b8f1e3d733a52 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Factor out ExecutePostLayoutBinding, to separate the post-layout changes the object writer may need to make to the assembler from the actual .o writing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
8ad0dccbf2f0c5ecf9fdad93ac0207f6eaabaa1b 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O/x86_64: Add getAtom[ForAddress].
- These find the defining symbol which identifies the containing atom for a symbol or address. They are currently very slow, but will be eliminated eventually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
238698566311e9dba4092dfa6c0bfe253279702e 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a made up term to refer to non-temporary labels + temporary labels in sections-which-require symbols. For Darwin, it corresponds to symbols which effectively define an atom.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
669f6b3beeee4a5a6f979a8e332e1d885aa30566 13-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Add some parens and silence a warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
df3c8f29691a1e3f9ac4afbf05be52dbc898dae9 12-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Factor out MCAssembler::EvaluateFixup, and simplify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a0e36d55c495b3325805c659ac365b5faea84e34 12-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Constify MCAsmLayout argument to MCExpr::EvaluteAs...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
8315a357e48f2eeb4fa929168d3cb65924d9893e 12-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Add MCAssembler::addFixup, which enforces that fixups are added in order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
8f0448cabcc37f3ecd7099c658346c0ece521e22 11-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Add MCSymbolData::getAddress() utility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
f82f4490b130eca55b08d605456a4ceacccf288a 11-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Sketch initial MCAsmLayout class, which encapsulates the current layout 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1f3e445184e5ca2aa4295c2a77f2a4e0b957fea1 11-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Provide MCAssembler with a TargetAsmBackend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
46836a783ab29f9cb49655d8b9cb8f5538a626fe 10-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Move the backend section and symbol data maps to MCAssembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
6e72048add2a6464e038121c6c275da37528aa0a 23-Feb-2010 Kevin Enderby <enderby@apple.com> This is the first patch to put the needed bits in place to eventually allow code
to be aligned with optimal nops. This patch does not change any functionality
and when the compiler is changed to use EmitCodeAlignment() it should also not
change the resulting output. Once the compiler change is made and everything
looks good the next patch with the table of optimal X86 nops will be added to
WriteNopData() changing the output. There are many FIXMEs in this patch which
will be removed when we have better target hooks (coming soon I hear).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
2be2fd073003c0988723d2894dfb117ad90be11b 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
0bcf074867d4d366f7988a219c7a53265fcb4f23 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MCAssembler: Sink fixup list into MCDataFragment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a4766d7af91b7e25151b3e97a0831b3615d2abc3 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MCAssembler: Switch MCFillFragment to only taking constant values. Symbolic expressions can always be emitted as data + fixups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
3a30b827a5c9bf0ed8f31177b6e447083ce9afec 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MCAssembler: Start applying fixups in the data section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
b7c3a4b195597848e7c2559937914ae1087f3131 13-Feb-2010 Daniel Dunbar <daniel@zuster.org> MCAssembler: Add assorted dump() methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
cb7d743b4242345fa1081223b021b1504dce6fb7 11-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC: Move assembler-backend's fixup list into the fragment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
27ade18431a3504b412e6359e80c9b88e3b0f932 11-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC: Move MCSectionData::Fixup out to MCAsmFixup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
cabdd7425d30f7eb659ecb0cc5efbc4052dd78a8 19-Dec-2009 Douglas Gregor <dgregor@apple.com> Fix a bunch of little errors that Clang complains about when its being pedantic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
8b67f774e9c38b7718b2b300b628388f966df4e0 26-Oct-2009 Chandler Carruth <chandlerc@gmail.com> Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
1253a6fa3b0d79dc6ea25f2578f6473219d40047 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> MC: Switch assembler API to using MCExpr instead of MCValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
efbb5330b8d383a393c83d2da5d631c98b0bb3fd 01-Sep-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
cb579b3338fe8d9e4424b138f597a4696cb89de3 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Make MCSymbolData symbol member const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a03a368acca1c5ea7eb7de7a4164cbd22308c82f 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add MCContext to MCAssembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
edc670f3f2ba629b6803a1a7ed4aa47061afd276 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Tweak section alignment and size computation to match 'as' closer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
81e400092f55c2eba157172bfc0dd0df8317638d 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> Try to make MSVC just a little happier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
be9635569401b9a40984c02c6e171aa9da9ad0a2 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Move symbol indices into the MCSymbolData structure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
0c7761b3f98fee270d73f5b9c440fe15e82af263 24-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Preliminary support for indirect symbols.
- The indirect table itself isn't being filled in yet.

- This isn't factored properly and is rather FIXMEd, but at the moment I'm more
focused on figuring out what it needs to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
f3d2ef0c9712381a105118336975adcfbf733db0 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Sketch symbol table support.
- The only .s syntax this honors right now is emitting labels, and some parts
of the symbol table generation are wrong or faked.

- This is enough to get nm to report such symbols... incorrectly, but still.

Also, fixed byte emission to extend the previous fragment if possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
2ae58f2851188c21517d2d0409db1c37dca84b24 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Move more logic for writing the Mach-O file into the writer
class, and kill off MCSectionData::FileOffset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
a5441fea1f5d4f86d6211af16dbf7d190f2a3c83 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Rename / redefine MCFragment::FileOffset to MCFragment::Offset (the
section offset).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
361ae1d28dfa4c22ddec58b2b742eb514f97c694 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> Make MSVC happy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h
1f2b32c5c6502c74890c188b0224e4c01ff22da4 21-Aug-2009 Benjamin Kramer <benny.kra@googlemail.com> Fix build on platforms where stdint.h is not implicitly included in the standard headers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/MC/MCAssembler.h
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
/external/llvm/include/llvm/MC/MCAssembler.h