History log of /external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
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/lib/Target/ARM/ARMAsmPrinter.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2ca352d027da26194deaa77ebc486df159e51c28 12-Nov-2013 Bradley Smith <bradley.smith@arm.com> [ARM] Add support for FP_HP_extension build attribute



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6186de5c54b580414b2d162e0f335b62b3d9812c 01-Nov-2013 Bradley Smith <bradley.smith@arm.com> [ARM] Add Virtualization subtarget feature and more build attributes in this area

Add a Virtualization ARM subtarget feature along with adding proper build
attribute emission for Tag_Virtualization_use (encodes Virtualization and
TrustZone) and Tag_MPextension_use.

Also rework test/CodeGen/ARM/2010-10-19-mc-elf-objheader.ll testcase to
something that is more maintainable. This changes the focus of this
testcase away from testing CPU defaults (which is tested elsewhere), onto
specifically testing that attributes are encoded correctly.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
479a2de32a994b1902869b88e56253936d943531 01-Nov-2013 Bradley Smith <bradley.smith@arm.com> [ARM] Fix Tag_ABI_HardFP_use build attribute

Fix Tag_ABI_HardFP_use build attribute to handle single precision FP,
replace deprecated Tag_ABI_HardFP_use value of 3 with 0 and also add
some tests for Tag_ABI_VFP_args.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ffc7dca885151ed42642c2d6733e8db75d276621 29-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a helper getSymbol to AsmPrinter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193627 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
23125d02d929758e1b0dbb30b13f1deff7a5ea4b 28-Oct-2013 Logan Chien <tzuhsiang.chien@gmail.com> [arm] Implement eabi_attribute, cpu, and fpu directives.

This commit allows the ARM integrated assembler to parse
and assemble the code with .eabi_attribute, .cpu, and
.fpu directives.

To implement the feature, this commit moves the code from
AttrEmitter to ARMTargetStreamers, and several new test
cases related to cortex-m4, cortex-r5, and cortex-a15 are
added.

Besides, this commit also change the Subtarget->isFPOnlySP()
to Subtarget->hasD16() to match the usage of .fpu directive.

This commit changes the test cases:

* Several .eabi_attribute directives in
2010-09-29-mc-asm-header-test.ll are removed because the .fpu
directive already cover the functionality.

* In the Cortex-A15 test case, the value for
Tag_Advanced_SIMD_arch has be changed from 1 to 2,
which is more precise.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fc3dc102e0bef8ecb7cd13ceab77dc130175f792 11-Oct-2013 Amara Emerson <amara.emerson@arm.com> [ARM] Fix FP ABI attributes with no VFP enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
320296a4cfe414ce59f406b8a5ce15272f563103 08-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a MCTargetStreamer interface.

This patch fixes an old FIXME by creating a MCTargetStreamer interface
and moving the target specific functions for ARM, Mips and PPC to it.

The ARM streamer is still declared in a common place because it is
used from lib/CodeGen/ARMException.cpp, but the Mips and PPC are
completely hidden in the corresponding Target directories.

I will send an email to llvmdev with instructions on how to use this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ca7b2d08d7b918e5e8e921a837623af962b27d00 07-Oct-2013 Amara Emerson <amara.emerson@arm.com> [ARM] Improve build attributes emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5e195a4c8d8cd4498ab7e0aa16a3b6f273daf457 05-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove some really nasty uses of hasRawTextSupport.

When MC was first added, targets could use hasRawTextSupport to keep features
working before they were added to the MC interface.

The design goal of MC is to provide an uniform api for printing assembly and
object files. Short of relaxations and other corner cases, a object file is
just another representation of the assembly.

It was never the intention that targets would keep doing things like

if (hasRawTextSupport())
Set flags in one way.
else
Set flags in another way.

When they do that they create two code paths and the object file is no longer
just another representation of the assembly. This also then requires testing
with llc -filetype=obj, which is extremelly brittle.

This patch removes some of these hacks by replacing them with smaller ones.
The ARM flag setting is trivial, so I just moved it to the constructor. For
Mips, the patch adds two temporary hack directives that allow the assembly
to represent the same things as the object file was already able to.

The hope is that the mips developers will replace the hack directives with
the same ones that gas uses and drop the -print-hack-directives flag.

I will also try to implement a target streamer interface, so that we can
move this out of the common code.

In summary, for any new work, two rules of the thumb are
* Don't use "llc -filetype=obj" in tests.
* Don't add calls to hasRawTextSupport.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2a9af9f18eac90b0de739b6ceddf6c2209086303 13-Sep-2013 Joey Gouly <joey.gouly@arm.com> [ARMv8] Change hasV8Fp to hasFPARMv8, and other command line options
to be more consistent.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8312905790f2250d7c807b4c153be7d64ab22572 13-Sep-2013 Joey Gouly <joey.gouly@arm.com> [ARMv8] Emit the proper .fpu directive.

Patch by Bradley Smith!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
28823ec4088e216f455278ba42f99f79d0d71969 10-Sep-2013 Logan Chien <tzuhsiang.chien@gmail.com> Remove unused private member in ARMAsmPrinter.cpp.

This commit removes the unused "AttributeItem" from
ObjectAttributeEmitter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
bccc6f89b7a15abda5593a30c101ae85d1dc3b77 22-Aug-2013 Tim Northover <tnorthover@apple.com> ARM: respect tied 64-bit inlineasm operands when printing

The code for 'Q' and 'R' operand modifiers needs to look through tied
operands to discover the register class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
10ddc4d7f232507933c266180d0052f12e65c4ab 28-Jun-2013 Weiming Zhao <weimingz@codeaurora.org> Bug 13662: Enable GPRPair for all i64 operands of inline asm on ARM

This patch assigns paired GPRs for inline asm with
64-bit data on ARM. It's enabled for both ARM and Thumb to support modifiers
like %H, %Q, %R.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
31d2f08f8893f38d2d7293195f3707edfefbeeb6 27-Jun-2013 Joey Gouly <joey.gouly@arm.com> Add a Subtarget feature 'v8fp' to the ARM backend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
849eedce9921eb8f285cd0df0ad69ee5133459d1 26-Jun-2013 Joey Gouly <joey.gouly@arm.com> Add a subtarget feature 'v8' to the ARM backend.
This allows for targeting the ARMv8 AArch32 variant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fce567aec90610e81e0b23968d8935ecf5b04505 26-Jun-2013 Joey Gouly <joey.gouly@arm.com> Remove the 'generic' CPU from the ARM eabi attributes printer.
Make v4 the default ARM architecture attribute, to match CodeGen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0159ae4295720c5ce8fc770ddb5fed67e90b8d3a 19-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: PR14763/r183329 correct the location of indirect parameters

We had been papering over a problem with location info for non-trivial
types passed by value by emitting their type as references (this caused
the debugger to interpret the location information correctly, but broke
the type of the function). r183329 corrected the type information but
lead to the debugger interpreting the pointer parameter as the value -
the debug info describing the location needed an extra dereference.

Use a new flag in DIVariable to add the extra indirection (either by
promoting an existing DW_OP_reg (parameter passed in a register) to
DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
(parameter passed on the stack).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
13769fa725b03a937335cf04d2b9cc1ca426060f 18-Jun-2013 David Blaikie <dblaikie@gmail.com> Reduce indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0187e7a9ba5c50b4559e0c2e0afceb6d5cd32190 16-Jun-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: remove target-specific Frame Index handling for DBG_VALUE MachineInstrs

Frame index handling is now target-agnostic, so delete the target hooks
for creation & asm printing of target-specific addressing in DBG_VALUEs
and any related functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1aef163a6815e7bff675f83ddec8b063d6082e86 04-May-2013 Amara Emerson <amara.emerson@arm.com> Revert r181009.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5d446e61d992f105a05aade62d5305fd8a346081 03-May-2013 Amara Emerson <amara.emerson@arm.com> Add support for reading ARM ELF build attributes.

Build attribute sections can now be read if they exist via ELFObjectFile, and
the llvm-readobj tool has been extended with an option to dump this information
if requested. Regression tests are also included which exercise these features.

Also update the docs with a fixed ARM ABI link and a new link to the Addenda
which provides the build attributes specification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
133c0d36e1fdeda88d784017bafa8a1b22af8aca 15-Mar-2013 Benjamin Kramer <benny.kra@googlemail.com> ARM: Fix an old refacto.

Fixes PR15520.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7248451c4307c05cf3ddfa8133f0c5334bab6455 14-Feb-2013 Weiming Zhao <weimingz@codeaurora.org> Re-apply r175088 for bug fix 13622: Add paired register support for
inline asm with 64-bit data on ARM

Update test case to use -mtriple=arm-linux-gnueabi


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c0c2816fb3d137c096d0bd20b8ad2d92ce25a976 14-Feb-2013 Weiming Zhao <weimingz@codeaurora.org> temporarily revert the patch due to some conflicts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3019fbbe6ab4c23a5a580f0cc6ba1ba1b124e1da 13-Feb-2013 Weiming Zhao <weimingz@codeaurora.org> Bug fix 13622: Add paired register support for inline asm with 64-bit data on ARM


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
27aacedf7d975243170206efb948a20d6fd4a2c1 01-Feb-2013 Chandler Carruth <chandlerc@gmail.com> Switch the code added in r173885 to use the new, shiny RTTI
infrastructure on MCStreamer to test for whether there is an
MCELFStreamer object available.

This is just a cleanup on the AsmPrinter side of things, moving ad-hoc
tests of random APIs to a direct type query. But the AsmParser
completely broken. There were no tests, it just blindly cast its
streamer to an MCELFStreamer and started manipulating it.

I don't have a test case -- this actually failed on LLVM's own
regression test suite. Unfortunately the failure only appears when the
stars, compilers, and runtime align to misbehave when we read a pointer
to a formatted_raw_ostream as-if it were an MCAssembler. =/

UBSan would catch this immediately.

Many thanks to Matt for doing about 80% of the debugging work here in
GDB, Jim for helping to explain how exactly to fix this, and others for
putting up with the hair pulling that ensued during debugging it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0f156af8312a0f3ce88e5c006bf2a52691039ceb 30-Jan-2013 Eli Bendersky <eliben@google.com> Add a special ARM trap encoding for NaCl.
More details in this thread: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130128/163783.html

Patch by JF Bastien



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
97130e2b3de080e231caac86dbce1500e4e7af16 30-Jan-2013 Jack Carter <jcarter@mips.com> This patch implements runtime ARM specific
setting of ELF header e_flags.

Contributer: Jack Carter



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1ced208be9cab0f994c5df9000da36bc313b2507 09-Jan-2013 Eric Christopher <echristo@gmail.com> Last in the series of removing unnecessary '0' arguments for
address space. Reordered the EmitULEB128IntValue arguments to
make this easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
68ca56285f9b6e82eb16ff8ea02a301f2c489fae 09-Jan-2013 Eric Christopher <echristo@gmail.com> These functions have default arguments of 0 for the last arg. Use
them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ed9e442cf098663ce213cb16778b44be466b441f 26-Nov-2012 Benjamin Kramer <benny.kra@googlemail.com> Decouple MCInstBuilder from the streamer per Eli's request.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
391271f3bbcec02e0da26d7c246bfabff5cb4ddf 26-Nov-2012 Benjamin Kramer <benny.kra@googlemail.com> Add MCInstBuilder, a utility class to simplify MCInst creation similar to MachineInstrBuilder.

Simplify some repetitive code with it. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
79c07d2a36282b09b9c5d0aa65ebf4bff017621b 15-Nov-2012 Dmitri Gribenko <gribozavr@gmail.com> Use empty parens for empty function parameter list instead of '(void)'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b341fac05a890272024dcc5c7e47d10b22d62b92 10-Nov-2012 Evan Cheng <evan.cheng@apple.com> Disable the Thumb no-return call optimization:
mov lr, pc
b.w _foo

The "mov" instruction doesn't set bit zero to one, it's putting incorrect
value in lr. It messes up backtraces.

rdar://12663632


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
214fd3d2449738bbe0215dce24406dc29d9e49f7 08-Nov-2012 Amara Emerson <amara.emerson@arm.com> Recommit modified r167540.

Improve ARM build attribute emission for architectures types.
This also changes the default architecture emitted for a generic CPU to "v7".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
162d91c1e0bf5c14e2838dd623b3e054e7537de6 07-Nov-2012 Amara Emerson <amara.emerson@arm.com> Revert r167540 until regression tests are updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
19a1fcf8683a2a459a8aac93c1b4d1bf63b018fb 07-Nov-2012 Amara Emerson <amara.emerson@arm.com> Improve ARM build attribute emission for architectures types.

This also changes the default architecture emitted for a generic CPU to "v7".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7747496736376c97d8bbf71302151287d1056abc 09-Oct-2012 Craig Topper <craig.topper@gmail.com> Remove some dead code from ARMAsmPrinter. Add virtual and LLVM_OVERRIDE to the other methods. Mark some of the helper methods as private.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3574eca1b02600bac4e625297f4ecf745f4c4f32 08-Oct-2012 Micah Villmow <villmow@gmail.com> Move TargetData to DataLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
837c28a84076e1cd63bbf29057b791ebe6b03de0 04-Oct-2012 Jim Grosbach <grosbach@apple.com> ARM: locate user-defined text sections next to default text.

Make sure functions located in user specified text sections (via the
section attribute) are located together with the default text sections.
Otherwise, for large object files, the relocations for call instructions
are more likely to be out of range. This becomes even more likely in the
presence of LTO.

rdar://12402636

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6eef0e2f8767ee691413bf8344e1d2db527c8a43 15-Aug-2012 Eric Christopher <echristo@apple.com> This needs braces. Spotted by Bill.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
001d219b9729684ea514068cff1cf79cd2e71121 13-Aug-2012 Eric Christopher <echristo@apple.com> Add support for the %H output modifier.

Patch by Weiming Zhao.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ad62e92279bc0b14c54db94dd794082c8b8edd9e 04-Aug-2012 Anton Korobeynikov <asl@math.spbu.ru> Skip impdef regs during eabi save/restore list emission to workaround PR11902


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0bcbd1df7a204e1e512f1a27066d725309de1b13 28-Jun-2012 Bill Wendling <isanbard@gmail.com> Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.

The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0518fca843ff87d069ecb07fc00d306c1f587d58 26-Jun-2012 Jack Carter <jcarter@mips.com> There are a number of generic inline asm operand modifiers that
up to r158925 were handled as processor specific. Making them
generic and putting tests for these modifiers in the CodeGen/Generic
directory caused a number of targets to fail.

This commit addresses that problem by having the targets call
the generic routine for generic modifiers that they don't currently
have explicit code for.

For now only generic print operands 'c' and 'n' are supported.vi


Affected files:

test/CodeGen/Generic/asm-large-immediate.ll
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/XCore/XCoreAsmPrinter.cpp
lib/Target/X86/X86AsmPrinter.cpp
lib/Target/Hexagon/HexagonAsmPrinter.cpp
lib/Target/CellSPU/SPUAsmPrinter.cpp
lib/Target/Sparc/SparcAsmPrinter.cpp
lib/Target/MBlaze/MBlazeAsmPrinter.cpp
lib/Target/Mips/MipsAsmPrinter.cpp

MSP430 isn't represented because it did not even run with
the long existing 'c' modifier and it was not apparent what
needs to be done to get it inline asm ready.

Contributer: Jack Carter



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4c91bdafacd7387fd92fb153de3d48ef7722bbd2 31-May-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Avoid depending on list orders and register numbering.

This code is covered by test/CodeGen/ARM/arm-modifier.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b3a119a257978857c1d62ad74ed4123198ea6703 22-May-2012 Jim Grosbach <grosbach@apple.com> ARM: .end_data_region mismatch in Thumb2.

32-bit offset jump tables just use real branch instructions and so aren't
marked as data regions. We were still emitting the .end_data_region
marker though, which assert()ed.

rdar://11499158

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
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/lib/Target/ARM/ARMAsmPrinter.cpp
bee78fe5fcd8464f58bc729dede1a87d763ac3ae 11-Apr-2012 Evan Cheng <evan.cheng@apple.com> Clean up ARM fused multiply + add/sub support some more: rename some isel
predicates.
Also remove NEON2 since it's not really useful and it is confusing. If
NEON + VFP4 implies NEON2 but NEON2 doesn't imply NEON + VFP4, what does it
really mean?

rdar://10139676


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
93abbc272a1445d5108dfe9bddd323f6ac7b96a2 07-Apr-2012 Bob Wilson <bob.wilson@apple.com> Fix Thumb __builtin_longjmp with integrated assembler. <rdar://problem/11203543>

The tLDRr instruction with the last register operand set to the zero register
prints in assembly as if no register was specified, and the assembler encodes
it as a tLDRi instruction with a zero immediate. With the integrated assembler,
that zero register gets emitted as "r0", so we get "ldr rx, [ry, r0]" which
is broken. Emit the instruction as tLDRi with a zero immediate. I don't
know if there's a good way to write a testcase for this. Suggestions welcome.

Opportunities for follow-up work:
1) The asm printer should complain if a non-optional register operand is set
to the zero register, instead of silently dropping it.
2) The integrated assembler should complain in the same situation, instead of
silently emitting the operand as "r0".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d4f020a3af325630973df8d3a084d0b0e3b68ebc 07-Apr-2012 Jim Grosbach <grosbach@apple.com> Tidy up. 80 columns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f16936e5923156863906c915de657b134db4fb16 06-Apr-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Deduplicate ARM call-related instructions.

We had special instructions for iOS because r9 is call-clobbered, but
that is represented dynamically by the register mask operands now, so
there is no need for the pseudo-instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0e5233a9e5ee9385c6a940e3985194d77bee0bbb 26-Mar-2012 Craig Topper <craig.topper@gmail.com> Prune includes and replace uses of ARMRegisterInfo.h with ARMBaeRegisterInfo.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c1f6f42049696e7357fb4837e1b25dabbaed3fe6 17-Mar-2012 Craig Topper <craig.topper@gmail.com> Reorder includes to match coding standards. Fix an issue or two exposed by that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
74bebde7c4e2d1cfd4a16c19ce3c87521df67639 05-Mar-2012 Sebastian Pop <spop@codeaurora.org> updated patch for the ARM fused multiply add/sub

In this update:
- I assumed neon2 does not imply vfpv4, but neon and vfpv4 imply neon2.
- I kept setting .fpu=neon-vfpv4 code attribute because that is what the
assembler understands.

Patch by Ana Pazos <apazos@codeaurora.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4bfcd4acbc7d12aa55f8de9af84a38422f0f6d83 28-Feb-2012 Evan Cheng <evan.cheng@apple.com> Re-commit r151623 with fix. Only issue special no-return calls if it's a direct call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
20bd5296cec8d8d597ab9db2aca7346a88e580c8 28-Feb-2012 Daniel Dunbar <daniel@zuster.org> Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack prediction. ...", it is breaking the Clang build during the Compiler-RT part.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ec52aaa12f57896fc806e849fa21a61603050ac4 28-Feb-2012 Evan Cheng <evan.cheng@apple.com> Some ARM implementaions, e.g. A-series, does return stack prediction. That is,
the processor keeps a return addresses stack (RAS) which stores the address
and the instruction execution state of the instruction after a function-call
type branch instruction.

Calling a "noreturn" function with normal call instructions (e.g. bl) can
corrupt RAS and causes 100% return misprediction so LLVM should use a
unconditional branch instead. i.e.
mov lr, pc
b _foo
The "mov lr, pc" is issued in order to get proper backtrace.

rdar://8979299


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
07043279f60622243d16d8a3f60805960482083c 21-Feb-2012 Evan Cheng <evan.cheng@apple.com> Proper support for a bastardized darwin-eabi hybird ABI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4a1ff2fb3ecaa2576ecf9ed84816b174c235ac1d 15-Feb-2012 Bill Wendling <isanbard@gmail.com> Strip the pointer casts from the constants here.

The c'tor list is stored as a list of 'void ()*'s, so all of the functions are
bitcast to that. However, the dyn_cast doesn't automagically look through
bitcasts. Do that for it.
<rdar://problem/10813350>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
bc2198133a1836598b54b943420748e75d5dea94 07-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
34982576a43887e7f062ed0a3571af2cbab003f3 26-Jan-2012 James Molloy <james.molloy@arm.com> Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors.

This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3eb4be0ace6263f35a2f3aae9e964a752ebe55af 24-Jan-2012 Chandler Carruth <chandlerc@gmail.com> Revert r148686 (and r148694, a fix to it) due to a serious layering
violation -- MC cannot depend on CodeGen.

Specifically, the MCTargetDesc component of each target is actually
a subcomponent of the MC library. As such, it cannot depend on the
target-independent code generator, because MC itself cannot depend on
the target-independent code generator. This change moved a flag from the
ARM MCTargetDesc file ARMMCAsmInfo.cpp to the CodeGen layer in
ARMException.cpp, leaving behind an 'extern' to refer back to it. That
layering order isn't viable givin the constraints outlined above.
Commandline flags are designed to be static specifically to avoid these
types of bugs.

Fixing this is likely going to require some non-trivial refactoring.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
db4b85f532314e5972fedb1c1e04820de3cabc83 23-Jan-2012 NAKAMURA Takumi <geek4civic@gmail.com> ARMAsmPrinter.cpp: Try to fix up r148686. EnableARMEHABI was also here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4b4e62219be91839091f9e35d8accf877f925d81 22-Jan-2012 Anton Korobeynikov <asl@math.spbu.ru> Add fused multiple+add instructions from VFPv4.
Patch by Ana Pazos!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
73dd8bbce3ff54c318233027fb5e29f8298e01d6 19-Jan-2012 Evgeniy Stepanov <eugeni.stepanov@gmail.com> Emit ARM EHABI unwinding instructions for 3 more Thumb instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2bd335470f8939782f3df7f6180282d3825d4f09 10-Jan-2012 David Blaikie <dblaikie@gmail.com> Remove unnecessary default cases in switches that cover all enum values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
9cd2b9562d23909937ab2e4bb45c2a1ed4c86816 12-Dec-2011 Bob Wilson <bob.wilson@apple.com> Implement 'e' and 'f' modifiers for Neon inline asm. <rdar://problem/10551006>

These modifiers simply select either the low or high D subregister of a Neon
Q register. I've also removed the unimplemented 'p' modifier, which turns out
to be a bit different than the comment here suggests and as far as I can tell
was only intended for internal use in Apple's version of gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd 07-Dec-2011 Evan Cheng <evan.cheng@apple.com> Add bundle aware API for querying instruction properties and switch the code
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.

For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3e572ac2fbdf6aa538500be07b9b050ac008669e 06-Dec-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Align ARM constant pool islands via their basic block.

Previously, all ARM::CONSTPOOL_ENTRY instructions had a hardwired
alignment of 4 bytes emitted by ARMAsmPrinter. Now the same alignment
is set on the basic block.

This is in preparation of supporting ARM constant pool islands with
different alignments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 02-Dec-2011 Nick Lewycky <nicholas@mxc.ca> Move global variables in TargetMachine into new TargetOptions class. As an API
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.

One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
590853667345d6fb191764b9d0bd2ff13589e3a3 06-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Replace (Lower|Upper)caseString in favor of StringRef's newest methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2fec6c5ff153786744ba7d0d302b73179731c5e9 05-Oct-2011 Owen Anderson <resistor@mac.com> Teach the MC to output code/data region marker labels in MachO and ELF modes. These are used by disassemblers to provide better disassembly, particularly on targets like ARM Thumb that like to intermingle data in the TEXT segment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3320f2a3bfd4daec23ba7ceb50525140cc6316da 01-Oct-2011 Bill Wendling <isanbard@gmail.com> Use the ARMConstantPoolMBB class to handle the MBB values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fe31e673506ef9a1080eaa684b43b34178c6f447 01-Oct-2011 Bill Wendling <isanbard@gmail.com> Use the new ARMConstantPoolSymbol class to handle external symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5bb779976a7d8e48408051ec2289fe69206dc072 01-Oct-2011 Bill Wendling <isanbard@gmail.com> Switch over to using ARMConstantPoolConstant for global variables, functions,
and block addresses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e00897c5a91febe90ba21082fc636be892bf9bf1 30-Sep-2011 Bill Wendling <isanbard@gmail.com> Create a machine basic block in the constant pool and retrieve the symbol for an MBB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3be654f8082dcbdff011a6716a7c90486e28fc9e 21-Sep-2011 Andrew Trick <atrick@apple.com> Lower ARM adds/subs to add/sub after adding optional CPSR operand.

This is still a hack until we can teach tblgen to generate the
optional CPSR operand rather than an implicit CPSR def. But the
strangeness is now limited to the selection DAG. ADD/SUB MI's no
longer have implicit CPSR defs, nor do we allow flag setting variants
of these opcodes in machine code. There are several corner cases to
consider, and getting one wrong would previously lead to nasty
miscompilation. It's not the first time I've debugged one, so this
time I added enough verification to ensure it won't happen again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
51f6a7abf27fc92c3d8904c2334feab8b498e8e9 09-Sep-2011 Owen Anderson <resistor@mac.com> Thumb unconditional branches are allowed in IT blocks, and therefore should have a predicate operand, unlike conditional branches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8e0c7697fd9b9354856074efc06eea9f6d80015c 02-Sep-2011 Jim Grosbach <grosbach@apple.com> Tidy up. Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
de98273189700c1c66f06bcfbcc481cf481a8dee 01-Sep-2011 Jim Grosbach <grosbach@apple.com> Static relocation model Thumb jump table interworking.

Make sure the low bit of the PC is set when loading an address directly
for jump tables in static relocation model.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 24-Aug-2011 Evan Cheng <evan.cheng@apple.com> Move TargetRegistry and TargetSelect from Target to Support where they belong.
These are strictly utilities for registering targets and components.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5aa29a0cffc499331a2a24a03eb55643dace1d8d 23-Aug-2011 Jim Grosbach <grosbach@apple.com> Move ARM frame-unwinding EHABI handling a touch earlier.

It should go before AsmPrinter MC pseudo expansion since it's based on
MachineInstr, not MCInst. Otherwise any frame related pseudo instructions
may be missed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f5ade5d39abe5cb12a8202c604321d5992e4a168 10-Aug-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for the R and Q constraints.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
719927a68f5b8ca34bacbeb7c970f281e27cbf63 09-Aug-2011 Renato Golin <renato.golin@arm.com> Emitting ARM build attributes and values as ULEB, rather than char.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
793e79601f0fd68ba082fa2016018f80b2379460 26-Jul-2011 Owen Anderson <resistor@mac.com> Split am2offset into register addend and immediate addend forms, necessary for allowing the fixed-length disassembler to distinguish between SBFX and STR_PRE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4b64e8a9e13ba782da2034e1dee52f077bdb759c 25-Jul-2011 Evan Cheng <evan.cheng@apple.com> Separate MCInstPrinter registration from AsmPrinter registration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ee04a6d3a40c3017124e3fd89a0db473a2824498 21-Jul-2011 Evan Cheng <evan.cheng@apple.com> Sink ARMMCExpr and ARMAddressingModes into MC layer. First step to separate ARM MC code from target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0b44aea7b564c5c28ac0acaaba8805ce7c625fd3 08-Jul-2011 Jim Grosbach <grosbach@apple.com> Use tPseudoExpand for tTAILJMPrND and tTAILJMPr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
af7f2d6b67070eae933402c9115514719d1628cf 08-Jul-2011 Jim Grosbach <grosbach@apple.com> Use tPseudoExpand for tTAILJMPd and tTAILJMPdND.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
245f5e8e2ae2edc9053f72035ca6e1c9596d00c2 08-Jul-2011 Jim Grosbach <grosbach@apple.com> Use ARMPseudoExpand for ARM tail calls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4559a7bcfd8ecee28e6c1426d321c15ddc58b92f 08-Jul-2011 Jim Grosbach <grosbach@apple.com> Use ARMPseudoExpand for BLr9, BLr9_pred, BXr9, and BXr9_pred.

TableGen'erated MC lowering pseudo-expansion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
53e3fc463e3d9ee840510b08ebd6db17694fa2c5 08-Jul-2011 Jim Grosbach <grosbach@apple.com> Use TableGen'erated pseudo lowering for ARM.

Hook up the TableGen lowering for simple pseudo instructions for ARM and
use it for a subset of the many pseudos the backend has as proof of concept.

More conversions to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
375db7f39af8da118f3947d24ea91967c4a6b526 07-Jul-2011 Cameron Zwarich <zwarich@apple.com> The VMLA instruction and its friends are not actually fused; they're plain old
multiply-accumulate instructions with separate rounding steps.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b262799d49891b036daa00eddf51947487346c98 06-Jul-2011 Evan Cheng <evan.cheng@apple.com> createMCInstPrinter doesn't need TargetMachine anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2a7b41ba4d3eb3c6003f6768dc20b28d83eac265 01-Jul-2011 Jim Grosbach <grosbach@apple.com> Refact ARM Thumb1 tMOVr instruction family.

Merge the tMOVr, tMOVgpr2tgpr, tMOVtgpr2gpr, and tMOVgpr2gpr instructions
into tMOVr. There's no need to keep them separate. Giving the tMOVr
instruction the proper GPR register class for its operands is sufficient
to give the register allocator enough information to do the right thing
directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134204 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
63b46faeb8acae9b7e5f865b7417dc00b9b9dad3 01-Jul-2011 Jim Grosbach <grosbach@apple.com> Thumb1 register to register MOV instruction is predicable.

Fix a FIXME and allow predication (in Thumb2) for the T1 register to
register MOV instructions. This allows some better codegen with
if-conversion (as seen in the test updates), plus it lays the groundwork
for pseudo-izing the tMOVCC instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
16f9924000a8d513353cd5c69d1d6307016fe280 30-Jun-2011 Jim Grosbach <grosbach@apple.com> Pseudo-ize the t2LDMIA_RET instruction.

It's just a t2LDMIA_UPD instruction with extra codegen properties, so it
doesn't need the encoding information. As a side-benefit, we now correctly
recognize for instruction printing as a 'pop' instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4629d505011d6d88ce181985005761df0dd3cbef 30-Jun-2011 Jim Grosbach <grosbach@apple.com> Pseudo-ize the Thumb tPOP_RET instruction.

It's just a tPOP instruction with additional code-gen properties, so it
doesn't need encoding information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f6fd90910a552ad9883f031350ae517e26dfdb44 30-Jun-2011 Jim Grosbach <grosbach@apple.com> Remove redundant Thumb2 ADD/SUB SP instruction definitions.

Unlike Thumb1, Thumb2 does not have dedicated encodings for adjusting the
stack pointer. It can just use the normal add-register-immediate encoding
since it can use all registers as a source, not just R0-R7. The extra
instruction definitions are just duplicates of the normal instructions with
the (not well enforced) constraint that the source register was SP.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3c14f24c9da3f811d3530e984e692acf1a471b91 28-May-2011 Eric Christopher <echristo@apple.com> Implement the 'M' output modifier for arm inline asm. This is fairly
register allocation dependent and will occasionally break. WIP in the
register allocator to model paired/etc registers.

rdar://9119939


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5b23b7fe3150b2050d6fcd6981d64f30930fd3ef 28-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Make size computation less brittle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
32bfb2c513c4efdc1db9967ddfecce8c922dda4f 26-May-2011 Eric Christopher <echristo@apple.com> Reorganize these slightly according to operand type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
421b106872d9c8adb4f14d77a8c6a1afeaaa29f6 26-May-2011 Cameron Zwarich <zwarich@apple.com> Mark tBX as an indirect branch rather than a return.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ad70f6d2b1eacdc2c85e7cfec24e4c470325ef4e 25-May-2011 Cameron Zwarich <zwarich@apple.com> Convert tBX_CALL / tBXr9_CALL to actual pseudoinstructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8f8946389418ce3cdbf69bbf34443efe0c874b40 25-May-2011 Eric Christopher <echristo@apple.com> Implement the 'm' modifier. Note that it only works for memory operands.

Part of rdar://9119939


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
106acd4158768ff1948accc654a1892caa9e010b 25-May-2011 Cameron Zwarich <zwarich@apple.com> Make tTAILJMPr/tTAILJMPrND emit a tBX without a preceding MOV of PC to LR. This
fixes <rdar://problem/9495913>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b36c1ae6d504168b496ac11031da4bdac0024f80 25-May-2011 Cameron Zwarich <zwarich@apple.com> Rename the existing tBX/tBXr9 instructions to tBX_CALL/tBXr9_CALL to better
reflect their actual meaning and match the ARM instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4db7dec70b06a1d50a265c3666e126065e09f396 25-May-2011 Eric Christopher <echristo@apple.com> Implement the arm 'L' asm modifier.

Part of rdar://9119939


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e1739d598d2c980822cc42bbf9821b91ebbc829f 25-May-2011 Eric Christopher <echristo@apple.com> Implement the immediate part of the 'B' modifier.

Part of rdar://9119939


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fef50062eae28fc6d893cd3ef528f8ca85cd50b0 25-May-2011 Eric Christopher <echristo@apple.com> Add more unimplemented asm modifiers and some documentation of what they
do.

Part of rdar://9119939.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0628d38085b28a59a4b13d7e35760cce54f0af7a 25-May-2011 Eric Christopher <echristo@apple.com> Add support for the arm 'y' asm modifier.

Fixes part of rdar://9444657


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d34d429401187f4251c38323a1bc517bc96763b9 23-May-2011 Cameron Zwarich <zwarich@apple.com> Fix <rdar://problem/9476260> by having tail calls always generate 32-bit branches
in Darwin Thumb2 code. Tail calls are already disabled on Thumb1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b8adb8af0fa9d1405fcf2edb95f4b1b8d1904716 20-May-2011 Rafael Espindola <rafael.espindola@gmail.com> adds some attributes to attribute section when cpu is "xscale"
(this is what used in Android NDK, when architecture is ARMv5)

patch by Koan-Sin Tan

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6469540adf63d94a876c2b623cb4ca70479647f7 16-May-2011 Rafael Espindola <rafael.espindola@gmail.com> sets bit 0 of the function address of thumb function in .symtab
("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)

Patch by Koan-Sin Tan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
64915dec2802714f80751291d9e8c86af5e65cc5 04-May-2011 Devang Patel <dpatel@apple.com> Do not emit location expression size twice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c26f5447e39b43a6dd9c1a9d88227f4adf3b5600 28-Apr-2011 Devang Patel <dpatel@apple.com> Teach dwarf writer to handle complex address expression for .debug_loc entries.
This fixes clang generated blocks' variables' debug info.
Radar 9279956.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0be77dff1147488814b8eea6ec8619f56e3d9f5e 27-Apr-2011 Devang Patel <dpatel@apple.com> Revert r130178. It turned out to be not the optimal path to emit complex location expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0c99861836741911300587c579d4f9d3fe1d2a39 26-Apr-2011 Devang Patel <dpatel@apple.com> Let dwarf writer allocate extra space in the debug location expression. This space, if requested, will be used for complex addresses of the Blocks' variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0a6ea83f393d06fb424c470777a1c3e8a8c50ab1 22-Apr-2011 Devang Patel <dpatel@apple.com> Add asserts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
71f3f1146f2ba2773f0467767b67c12258960f34 22-Apr-2011 Devang Patel <dpatel@apple.com> Fix DWARF description of Q registers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
27f5acb7d49c3ca2e3f7fe13d97cc19a78b15e1a 22-Apr-2011 Devang Patel <dpatel@apple.com> Fix DWARF description of S registers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
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/lib/Target/ARM/ARMAsmPrinter.cpp
a5c177e70a42f48e4885075c4c48aad0816a2817 21-Mar-2011 Bill Wendling <isanbard@gmail.com> We need to pass the TargetMachine object to the InstPrinter if we are printing
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.

This is part of a work-in-progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5edf24efac40062766c643e08f11bc509d373370 15-Mar-2011 Jim Grosbach <grosbach@apple.com> Clean up ARM tail calls a bit. They're pseudo-instructions for normal branches.
Also more cleanly separate the ARM vs. Thumb functionality. Previously, the
encoding would be incorrect for some Thumb instructions (the indirect calls).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f859a545de30bbc848d1b0896b7ef8fa84fd631b 12-Mar-2011 Jim Grosbach <grosbach@apple.com> Pseudo-ize the ARM Darwin *r9 call instruction definitions. They're the same
actual instruction as the non-Darwin defs, but have different call-clobber
semantics and so need separate patterns. They don't need to duplicate the
encoding information, however.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
72422d38ba6fb2fb0bb9c0c75fe450b3e939ea21 12-Mar-2011 Jim Grosbach <grosbach@apple.com> Pseudo-ize the ARM 'B' instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
dd11988c999c23eba2467e35892a2f42858c886b 11-Mar-2011 Jim Grosbach <grosbach@apple.com> Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side-
effect that we get proper instruction printing using the "pop" mnemonic for it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e516379d2a2fd1ad7583b2fa289051da517d8a42 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> ARM assembler stuff is crazy: for .setfp positive values of offset corresponds to "add" instruction, not to "sub" as in .pad case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b3fcc06d2124f9d01e3b48097b44cc141309908e 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> In Thumb1 mode the constant might be materialized via the load from constpool. Emit unwinding information in case when this load from constpool is used to change the stack pointer in the prologue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3daccd82d3151fa3629de430b55698a81084fc9e 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> Implement frame unwinding information emission for Thumb1. Not finished yet because there is no way given the constpool index to examine the actual entry: the reason is clones inserted by constant island pass, which are not tracked at all! The only connection is done during asmprinting time via magic label names which is really gross and needs to be eventually fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7a764168b9b3b3ebeaea224ed8c6ef93381c74d4 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> Add unwind information emission for thumb stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
57caad7a33ff145b71545f10dcfbbf2fd0f595d3 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> Preliminary support for ARM frame save directives emission via MI flags.
This is just very first approximation how the stuff should be done
(e.g. ARM-only for now). More to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e89a05337a9946040251a5f19165c41b9a1a7b27 02-Mar-2011 Renato Golin <renato.golin@arm.com> Fixing a bug when printing fpu text to object file. Patch by Mans Rullgard.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
728ff0db783152ed4f21f7746bd7874b49708172 28-Feb-2011 Renato Golin <renato.golin@arm.com> Fix .fpu printing in ARM assembly, regarding bug http://llvm.org/bugs/show_bug.cgi?id=8931

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c046d64f1b5f19cb06616e519a45bc4b0693f9d3 07-Feb-2011 Jason W Kim <jason.w.kim.2009@gmail.com> ARM/MC/ELF Lowercase .cpu attributes in .s, but make them uppercase in .o



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f009a961caa75465999ef3bc764984d97a7da331 07-Feb-2011 Jason W Kim <jason.w.kim.2009@gmail.com> Rework some .ARM.attribute work for improved gcc compatibility.
Unified EmitTextAttribute for both Asm and Obj emission (.cpu only)
Added necessary cortex-A8 related attrs for codegen compat tests.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
53519f015e3e84e9f57b677cc8724805a6009b73 21-Jan-2011 Evan Cheng <evan.cheng@apple.com> Last round of fixes for movw + movt global address codegen.
1. Fixed ARM pc adjustment.
2. Fixed dynamic-no-pic codegen
3. CSE of pc-relative load of global addresses.

It's now enabled by default for Darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5de5d4b6d0eb3fd379fa571d82f6fa764460b3b8 17-Jan-2011 Evan Cheng <evan.cheng@apple.com> Materialize GA addresses with movw + movt pairs for Darwin in PIC mode. e.g.
movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4))
movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4))
LPC0_0:
add r0, pc, r0

It's not yet enabled by default as some tests are failing. I suspect bugs in
down stream tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
650b7d76afbc7db2dd1a4590149d50a162bb25d8 13-Jan-2011 Jason W Kim <jason.w.kim.2009@gmail.com> JimG sez: "The value-kinds look like masks, but they're not consistently used
that way, unfortunately. If you want to change them to work additively instead
of a one-variant-kind-per-symbolref, that's great and I completely agree it's
worth doing, but it really should be a separate patch. Until then, this isn't
correct."

So I am reverting this bit until a more opportune time.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
86a97f2e4d0cde5e992f52ac287da0de687e0110 12-Jan-2011 Jason W Kim <jason.w.kim.2009@gmail.com> 1. Support ELF pcrel relocations for movw/movt:
R_ARM_MOVT_PREL and R_ARM_MOVW_PREL_NC.
2. Fix minor bug in ARMAsmPrinter - treat bitfield flag as a bitfield, not an enum.
3. Add support for 3 new elf section types (no-ops)




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b72d2a92b75daa9cbac7338aff0cd8ae04c2b4bd 11-Jan-2011 Evan Cheng <evan.cheng@apple.com> Clean up ARM subtarget code by using Triple ADT.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4d7286083537833880901953d29786cf831affc4 01-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Model operand restrictions of mul-like instructions on ARMv5 via
earlyclobber stuff. This should fix PRs 2313 and 8157.

Unfortunately, no testcase, since it'd be dependent on register
assignments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a68a4fdf37676794ce69624d1fd4e4627c377902 18-Dec-2010 Bill Wendling <isanbard@gmail.com> r120333 changed the opcode for the Thumb1 stuff from ARM::tMOVr to
ARM::tMOVgpr2gpr. But this check didn't change. As a result, we were getting
misaligned references to the jump table from an ADR instruction.

There is a test case, but unfortunately it's sensitive to random code changes.

<rdar://problem/8782223>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
9bb43e167576d464637c480eccc5696e01e1887c 18-Dec-2010 Bob Wilson <bob.wilson@apple.com> Avoid report_fatal_error in ARM's PrintAsmOperand method.
The standard error handling in AsmPrinter::EmitInlineAsm handles this much
better, so just use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3efad8fad41f6ba8141befcc3fc6662246b663ad 16-Dec-2010 Jim Grosbach <grosbach@apple.com> Pseudo-ize the Thumb1 tBfar pattern. rdar://8777974

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d40963c4065432ec7e47879d3ca665a54ee903b6 14-Dec-2010 Jim Grosbach <grosbach@apple.com> Add support for MC-ized encoding of tLEApcrel and tLEApcrelJT. rdar://8755755

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
40edf73a62bf025eba4391e806fb1ddada662355 14-Dec-2010 Jim Grosbach <grosbach@apple.com> Refactor a bit for legibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
eb61272150574ab6f51c9c84db119b53b92bb4df 14-Dec-2010 Jim Grosbach <grosbach@apple.com> Make sure to propagate the predicate operands for LEApcrel to ADR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f4caf69720d807573c50d41aa06bcec1c99bdbbd 14-Dec-2010 Bill Wendling <isanbard@gmail.com> The tLDR et al instructions were emitting either a reg/reg or reg/imm
instruction based on the t_addrmode_s# mode and what it returned. There is some
obvious badness to this. In particular, it's hard to do MC-encoding when the
instruction may change out from underneath you after the t_addrmode_s# variable
is finally resolved.

The solution is to revert a long-ago change that merged the reg/reg and reg/imm
versions. There is the addition of several new addressing modes. They no longer
have extraneous operands associated with them. I.e., if it's reg/reg we don't
have to have a dummy zero immediate tacked on to the SDNode.

There are some obvious cleanups here, which will happen shortly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a838a25d59838adfa91463f6a918ae3adeb352c1 14-Dec-2010 Owen Anderson <resistor@mac.com> Second attempt at make Thumb2 LEAs pseudos. This time, perform the lowering much later, which makes the entire
process cleaner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
766a63d20e89ad5a8b19aba2df0128c1f73174b3 09-Dec-2010 Jim Grosbach <grosbach@apple.com> Add a textual message to the assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
9702e6075c3e4cd508fd787e3bf6b3e64eb029ab 09-Dec-2010 Jim Grosbach <grosbach@apple.com> Add a sanity check assert() for t2ADD/SUBrSPi instructions that they really are
referencing the stack pointer as they say they are.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
dff84b03258514463ede477af38f1246b95b0cd0 02-Dec-2010 Jim Grosbach <grosbach@apple.com> Add support for binary encoding of ARM 'adr' instructions referencing constant
pool entries (LEApcrel pseudo). Ongoing saga of rdar://8542291.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5d14f9be7ba64162c7b996f36d419b11d8cdbe9a 01-Dec-2010 Jim Grosbach <grosbach@apple.com> Refactor LEApcrelJT as a pseudo-instructionlowered to a cannonical ADR
instruction at MC lowering. Add binary encoding information for the ADR,
including fixup data for the label operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
baf120fbe8056ef68fc91b16465590fdf2311c27 01-Dec-2010 Jim Grosbach <grosbach@apple.com> Move the ARMAsmPrinter class defintiion into a header file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2e812e1635422d0ec71cb4bda3f4d654857913f1 30-Nov-2010 Jim Grosbach <grosbach@apple.com> Pseudo-ize ARM MOVPCRX

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a0d2c8a40f890345237abfa9cece16c517e1e280 30-Nov-2010 Jim Grosbach <grosbach@apple.com> Pseudo-ize BX_CALL and friends. Remove dead instruction format classes.
rdar://8685712

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6e46d84eea97792a66c0bb64f26aad3976a23365 30-Nov-2010 Bill Wendling <isanbard@gmail.com> s/ARM::BRIND/ARM::BX/g to coincide with r120366.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5ca66696e734f963b613de51e3df3684395daf1c 29-Nov-2010 Jim Grosbach <grosbach@apple.com> Pseudo-ize Thumb2 jump tables with explicit MC lowering to the raw
instructions. This simplifies instruction printing and disassembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d092a87ba3f905a6801a0bdf816267329cf0391c 29-Nov-2010 Jim Grosbach <grosbach@apple.com> Rename t2 TBB and TBH instructions to reference that they encode the jump table
data. Next up, pseudo-izing them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f1aa47dc1aed018e2f70ffe7d32dba51e2ac45fe 29-Nov-2010 Jim Grosbach <grosbach@apple.com> ARM Pseudo-ize tBR_JTr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2dc7768d73c9afa3a23b86ee7827bc8de426f459 29-Nov-2010 Jim Grosbach <grosbach@apple.com> Switch ARM BR_JTm and BR_JTr instructions to be MC-expanded pseudos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f8dabac6041b2a38307a5ab0beb330ededb7514b 17-Nov-2010 Jim Grosbach <grosbach@apple.com> Make the ARM BR_JTadd instruction an explicit pseudo and lower it properly
in the MC lowering process.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
11bbeecdf1dd07599e644577bd56ea89294d0d04 15-Nov-2010 Jim Grosbach <grosbach@apple.com> Add FIXMEs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2ac190238e88b21e716e2853900b5076c9013410 15-Nov-2010 Chris Lattner <sabre@nondot.org> add fields to the .td files unconditionally, simplifying tblgen a bit.
Switch the ARM backend to use 'let' instead of 'set' with this change.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
30e2cc254be72601b11383dda01f495741ffd56c 14-Nov-2010 Chris Lattner <sabre@nondot.org> rename LowerToMCInst -> LowerARMMachineInstrToMCInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1612a619f18cbb328df5b2d8d268dd5e02a4a483 14-Nov-2010 Chris Lattner <sabre@nondot.org> even more simplifications. ARM MCInstLowering is now just
a single function instead of a class. It doesn't need the
complexity that X86 does.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
112f2390e19774a54c2dd50391b99fb617da0973 14-Nov-2010 Chris Lattner <sabre@nondot.org> simplify and tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7c7ddb21c3cc65ea08de8f90bb97cbdead3173f8 10-Nov-2010 Jim Grosbach <grosbach@apple.com> Simplify and clean up MC symbol lookup for ARM constant pool values. This fixes
double quoting of ObjC symbol names in constant pool entries.

rdar://8652107

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2c4d5125c708bb35140fc2a40b02beb1add101db 10-Nov-2010 Jim Grosbach <grosbach@apple.com> Update ARMConstantPoolValue to not use a modifier string. Use an explicit
VariantKind marker to indicate the additional information necessary. Update
MC to handle the new Kinds. rdar://8647623



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3a2429a86c50a89c3321c741b85fa7d1fe668b38 09-Nov-2010 Jim Grosbach <grosbach@apple.com> Change the ARMConstantPoolValue modifier string to an enumeration. This will
help in MC'izing the references that use them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c9962aca8f2f2c51794996ac1e2b7731d1d1d497 09-Nov-2010 Jim Grosbach <grosbach@apple.com> Handle ARM constant pool values that need an explicit reference to the '.'
pseudo-label. (TLS stuff).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5df08d8f55f47aafc671c358d971dbcc10dfdeef 09-Nov-2010 Jim Grosbach <grosbach@apple.com> Further MCize ARM constant pool values. This allows basic PIC references for
object file emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7179d1e5c0acfbb0980eaf85f266cd8981dbd12d 08-Nov-2010 Dale Johannesen <dalej@apple.com> Revert 118422 in search of bot verdancy.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
69ad7138b7f8a884e0fb2ebf103c47d786ada8c7 08-Nov-2010 Jason W Kim <jason.w.kim.2009@gmail.com> Support -mcpu=cortex-a8 in ARM attributes - Has Fixme. 1 Test modified.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ce79299f78bb04e76e1860ab119b85d69f3a19c7 05-Nov-2010 Jim Grosbach <grosbach@apple.com> MC'ize the '.code 16' and '.thumb_func' ARM directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8da0a5785ce4f4b891fbe272177c6be14019bcc7 05-Nov-2010 Jim Grosbach <grosbach@apple.com> MC'ize simple ARMConstantValue entry emission (with a FIXME).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6d87bca865eef4d08828029d973d844a6e992dff 05-Nov-2010 Jim Grosbach <grosbach@apple.com> Add FIXME.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8e0a3eb95784c76f3a73abf815a0143613068f72 29-Oct-2010 Jim Grosbach <grosbach@apple.com> Convert ARM::MOVi2pieces to a true pseudo-instruction and expand it in
the ARMExpandPseudos pass rather than during the asm lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a3c1629ff58812250de8848c42bfd3dbb5098436 29-Oct-2010 Jim Grosbach <grosbach@apple.com> ARM::MOVi32imm is expanded in ARMExpandPseudoInsts, so there's no need to
handle it in the asm lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7e3383c007f53b3a00675af225e428cb66ddf404 28-Oct-2010 Jim Grosbach <grosbach@apple.com> Refactor ARM STR/STRB instruction patterns into STR{B}i12 and STR{B}rs, like
the LDR instructions have. This makes the literal/register forms of the
instructions explicit and allows us to assign scheduling itineraries
appropriately. rdar://8477752

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c1d30212e911d1e55ff6b25bffefb503708883c3 27-Oct-2010 Jim Grosbach <grosbach@apple.com> Split ARM::LDRB into LDRBi12 and LDRBrs. Adjust accordingly. Continuing on
rdar://8477752.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3e5561247202bae994dd259a2d8dc4eff8f799f3 27-Oct-2010 Jim Grosbach <grosbach@apple.com> First part of refactoring ARM addrmode2 (load/store) instructions to be more
explicit about the operands. Split out the different variants into separate
instructions. This gives us the ability to, among other things, assign
different scheduling itineraries to the variants. rdar://8477752.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3336384239e563bdc5f3dbb8affec6c1e9ffbc47 26-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Produce the headers directly in the Finish method. This allows us to use
the existing streamer methods that are endian safe.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4921e2356ef8f3b3f9ebd0c154b091c3d5dd2ce4 25-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Add a virtual destructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
cecbc3d28277ff4916326311cbf87335ed05d106 25-Oct-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for emitting ARM file attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
17b443df4368acfad853d09858c033c45c468d5c 12-Oct-2010 Jason W Kim <jason.w.kim.2009@gmail.com> Second set of ARM/MC/ELF changes.

Added ARM specific ELF section types.
Added AttributesSection to ARMElfTargetObject
First step in unifying .cpu assembly tag with ELF/.o
llc now asserts on actual ELF emission on -filetype=obj :-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fa7fb64fad0e46e7329e4ba84a1edec5e979c31a 07-Oct-2010 Jim Grosbach <grosbach@apple.com> remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
def9ac48b779a4cb0b1d1486286cda157a2fe86e 07-Oct-2010 Jason W Kim <jason.w.kim.2009@gmail.com> First in a sequence of ARM/MC/*ELF* specific work.
Lifted the EmitRawText calls to ARMAsmPrinter::emitAttribute()
Added ARMAsmPrinter::emitAttributes() (plural s).
TODO:
.cpu attribute needs to be refactored



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1d6111c5ac97c321782637b2cd72e2c3e4d3d694 06-Oct-2010 Jim Grosbach <grosbach@apple.com> Kill of the vestiges of the 'call' Modifier (no longer needed for PLT).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
35636281c7ab6eb128b4ced6bf7ae0b6b8458dd2 06-Oct-2010 Jim Grosbach <grosbach@apple.com> Now that VDUPfqf and VDUPfdfare properly pseudos, kill the no-longer-needed
"lane" operand modifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4dea941c8de1b40717f5b788c993c325e9f7540c 06-Oct-2010 Jim Grosbach <grosbach@apple.com> target operand flag values aren't a bitmask

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
78890f41f404fad3663408edd4adf2e13c1e13b5 02-Oct-2010 Jim Grosbach <grosbach@apple.com> Nuke the rest of the :comment references

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7ac1609a3b81504d269bf967060241c309771f23 02-Oct-2010 Jim Grosbach <grosbach@apple.com> Rename the AsmPrinter directory to InstPrinter for those targets that have
been MC-ized for assembly printing. MSP430 is mostly so, but still has the
asm printer and lowering code in the printer subdir for the moment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a3fbadfcd882f9f15bda7c1213b5ff52d6582a10 30-Sep-2010 Jim Grosbach <grosbach@apple.com> Nuke a few more unused asm strings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2f24c4ece09f1157c5cb29357d91d2a0d77eb57c 30-Sep-2010 Jim Grosbach <grosbach@apple.com> 80 column fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
afd1cc25786f68ca56a63d29ea2bd297990e9f81 30-Sep-2010 Jason W Kim <jason.w.kim.2009@gmail.com> Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()
Small test for sanity check of resulting ARM .s file.
Tested against -r115129.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2317e40539aac11da00bd587b5f0def04d989769 30-Sep-2010 Jim Grosbach <grosbach@apple.com> Nuke it from orbit. It's the only way to be sure.

(Kill the dead non-MC asm printer for the ARM target.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b454cdaebc6e4543099955ce043258c3903b1a0e 29-Sep-2010 Jim Grosbach <grosbach@apple.com> One Printer to rule them all, One Printer to find them,
One Printer to lower them all and in the back end bind them.


(Remove option to use the old non-MC asm printer.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2d0f53bd6348be3b28ffa53c37e3079bb33dd170 28-Sep-2010 Jim Grosbach <grosbach@apple.com> Factor out dbg_value comment printing and teach MC asm printing to use it.
This should make the arm-linux self-host buildbot happy again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
385cc5eede9f81717b03121baf47b7aa185b5128 28-Sep-2010 Jim Grosbach <grosbach@apple.com> Enable the MC-ized ARM asm printer. Passing all local tests, so it's time to
enable it for real. Leaving the CL option in place to it's easy to disable it
again if (when) testers find something I've missed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5acb3de8b7cfd5a104722526b731a3c87bb1a46e 27-Sep-2010 Jim Grosbach <grosbach@apple.com> ARM-mode eh.sjlj.longjmp MC lowering

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
376ce97baca2bcf97ab420313a876214cde7f9df 27-Sep-2010 Jim Grosbach <grosbach@apple.com> Enable the MC-ized ARM asm printer. Passing all local tests, so it's time to
enable it for real. Leaving the CL option in place to it's easy to disable it
again if (when) testers find something I've missed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
433a5785cc8201a8a384f0a5648d3dbac87f9fbc 24-Sep-2010 Jim Grosbach <grosbach@apple.com> Add ARM explicit MCInst lowering for the Thumb eh.sjlj.setjmp sequence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
453900814e5245fd823b2b24ee9da9b5e8b4bfc4 24-Sep-2010 Jim Grosbach <grosbach@apple.com> ARM-mode eh.sjlj.setjmp pseudo MC-inst lowering expansion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b2dda4bd346fe9a2795f83f659c0e60191b2e6a0 23-Sep-2010 Jim Grosbach <grosbach@apple.com> never mind. I can't read, apparently

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
24e6f2f802e43af0e3c72ed17fa73e3bc101dc9e 23-Sep-2010 Jim Grosbach <grosbach@apple.com> Fix opcode value for the 'trap' instruction, keeping the type suffix on the
constant. Hopefully the non-Darwin bots will like it...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5c49b6960967be165cdf5877832772da048e9690 23-Sep-2010 Jim Grosbach <grosbach@apple.com> explicit 'unsigned long' on constant value. Hopefully make bots happier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c8ab9eb066f6d35880e3a24436baf21236c921ca 23-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Unbreak build. Jim, please review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2e6ae13bf6e09d844b76b0a12861d25be0842b03 23-Sep-2010 Jim Grosbach <grosbach@apple.com> Clean up the 'trap' instruction printing a bit. Non-Darwin assemblers don't
(yet) recognize the 'trap' mnemonic, so we use .short/.long to emit the
opcode directly. On Darwin, however, we do want the mnemonic for more
readable assembly code and better disassembly.

Adjust the .td file to use the 'trap' mnemonic and handle using the binutils
workaround in the assembly printer. Also tweak the formatting of the opcode
values to make them consistent between the MC printer and the old printer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f0633e48eb9d70d5db31a7498736ba21a9ee410c 22-Sep-2010 Jim Grosbach <grosbach@apple.com> add FIXME

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a2244cb38781e596110023399c7902b5ee5087fe 22-Sep-2010 Jim Grosbach <grosbach@apple.com> Add MC instruction printer support for ARM and Thumb1 jump tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
205a5fa8e4233cdcdc71152c0f8c4334ea9ce2eb 22-Sep-2010 Jim Grosbach <grosbach@apple.com> Add MC instruction printer support for TB[BH] style thumb2 jump tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1b935a3d2e2619c7de2488163fc1501285b53fa3 22-Sep-2010 Jim Grosbach <grosbach@apple.com> Clean up comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
882ef2b76a09cdc39d38756fca71cf6cf25ae590 22-Sep-2010 Jim Grosbach <grosbach@apple.com> Add start of support for MC instruction printer of ARM jump tables. Filling in
the rest of it is next up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
532baa5d537e6cbfd0642f6f4f10ad9f8571fa85 21-Sep-2010 Jim Grosbach <grosbach@apple.com> Fix errant printing of [v]ldm instructions that aren't a pop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
988ce097b7774ebc935ea539f3d88c2dcc3405b2 18-Sep-2010 Jim Grosbach <grosbach@apple.com> factor out a simple helper function to create a label for PC-relative
instructions (PICADD, PICLDR, et.al.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fbd1873041783f388de1c36c5d46c82a9ad46ef3 18-Sep-2010 Jim Grosbach <grosbach@apple.com> Add MC-inst handling for tPICADD

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e6be85e9ff6bd28c599421a120a8491257c13ebd 18-Sep-2010 Jim Grosbach <grosbach@apple.com> Teach the (non-MC) instruction printer to use the cannonical names for push/pop,
and shift instructions on ARM. Update the tests to match.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
74d7e6c64e955f89e6d3d4023d36fd481da4cfc1 17-Sep-2010 Jim Grosbach <grosbach@apple.com> Hook up verbose asm comment printing for SOImm operands in MC printer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c686e33d12f84e1e1f5c96eadef851d078bab043 17-Sep-2010 Jim Grosbach <grosbach@apple.com> handle the upper16/lower16 target operand flags on symbol references for MC
instruction lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a28abbe24568d39414be7ccb7a1f659f40e487e2 17-Sep-2010 Jim Grosbach <grosbach@apple.com> expand PICLDR MC lowering to handle other PICLDR and PICSTR versions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b74ca9d63104c94b800f2763a654d19f3eb30304 16-Sep-2010 Jim Grosbach <grosbach@apple.com> MC-ization of the PICLDR pseudo. Next up, adding the other variants
(PICLDRB, et. al.) and PICSTR*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
de0ae8f83dd8eabc831b0631c20ffa3b53a774f2 16-Sep-2010 Bob Wilson <bob.wilson@apple.com> Remove support for "dregpair" operand modifier, now that it is no longer being
used for anything.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a4c3c8f28d9465dc7c42eb43c2377530f1821574 15-Sep-2010 Jim Grosbach <grosbach@apple.com> move getRegisterNumbering() to out of ARMBaseRegisterInfo into the helper
functions in ARMBaseInfo.h so it can be used in the MC library as well.
For anything bigger than this, we may want a means to have a small support
library for shared helper functions like this. Cross that bridge when we
come to it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5b46d62c4459dbfd56bb6ac650a271cd02365092 14-Sep-2010 Jim Grosbach <grosbach@apple.com> Add predicate and 's' bit operands to PICADD instruction lowering.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f3f09527e6484143fcdef2ddfef0b2f016881e36 14-Sep-2010 Jim Grosbach <grosbach@apple.com> fix comment typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b0739b78332275906cd5ace2ae0d65a29135667b 02-Sep-2010 Jim Grosbach <grosbach@apple.com> Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d4bfd54ec2947e73ab152c3c548e4dd4beb700ba 28-Aug-2010 Bob Wilson <bob.wilson@apple.com> Change ARM VFP VLDM/VSTM instructions to use addressing mode #4, just like
all the other LDM/STM instructions. This fixes asm printer crashes when
compiling with -O0. I've changed one of the NEON tests (vst3.ll) to run
with -O0 to check this in the future.

Prior to this change VLDM/VSTM used addressing mode #5, but not really.
The offset field was used to hold a count of the number of registers being
loaded or stored, and the AM5 opcode field was expanded to specify the IA
or DB mode, instead of the standard ADD/SUB specifier. Much of the backend
was not aware of these special cases. The crashes occured when rewriting
a frameindex caused the AM5 offset field to be changed so that it did not
have a valid submode. I don't know exactly what changed to expose this now.
Maybe we've never done much with -O0 and NEON. Regardless, there's no longer
any reason to keep a count of the VLDM/VSTM registers, so we can use
addressing mode #4 and clean things up in a lot of places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
22f5dc79c05d69391b17e14ed912aa8e98a63027 16-Aug-2010 Bob Wilson <bob.wilson@apple.com> Rename sat_shift operand to shift_imm, in preparation for using it for other
instructions besides saturate instructions. No functional changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1adc40cac314b0a77b790b094bca146a3a868452 12-Aug-2010 Johnny Chen <johnny.chen@apple.com> Cleaned up the for-disassembly-only entries in the arm instruction table so that
the memory barrier variants (other than 'SY' full system domain read and write)
are treated as one instruction with option operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
eaf1c98a7c38444d41d1c6dc2074736eec7d452f 12-Aug-2010 Bob Wilson <bob.wilson@apple.com> Move the ARM SSAT and USAT optional shift amount operand out of the
instruction opcode. This also fixes part of PR7792.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1d9125a6ff192f1346d2b08bbf6ecc9c9e44103d 05-Aug-2010 Bob Wilson <bob.wilson@apple.com> ARM "rrx" shift operands do not have an immediate. PR7790.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
59135f49e1699daec9a43fc2d15715d55b910f54 05-Aug-2010 Devang Patel <dpatel@apple.com> Implement target specific getDebugValueLocation().



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d4d188e5029801ef2a76ee756dcba49f313004f0 31-Jul-2010 Bob Wilson <bob.wilson@apple.com> Move newlines before inline jumptables from the asm strings in .td files to
the jtblock_operand print methods. This avoids extra newlines in the
disassembler's output. PR7757.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
63db594559dc8eac666204c7907bae664f5234da 30-Jul-2010 Bob Wilson <bob.wilson@apple.com> Add the __TEXT,__StaticInit section to the list of sections emitted at the
beginning on ARM Darwin assembly files so that it won't be placed after
debug sections. Radar 8252813.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
917290043f87b8efa6ba540bec5963013c517912 22-Jul-2010 Jim Grosbach <grosbach@apple.com> For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb
rdar://8202967

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f447a5f1446d3f3ccd7f342a54f565ab02a087c8 20-Jul-2010 Chris Lattner <sabre@nondot.org> sink the arm implementations of ASmPrinter and MCInstLower
out of the AsmPrinter directory into libarm. Now the
ARM InstPrinters depend jsut on the MC stuff, not on vmcore
or codegen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0bd89712c03c59ea43ce37763685e7f7c0bdd977 17-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Move ARM to pluggable asmprinter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f5b6a47bb57fb5ffc734416d4d5d993e1a06273b 08-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Handle visibility printing with all generality. Remove bunch of duplicate code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
42ccc21ce7ae392d9a5c2958786190943fe9aae0 08-Aug-2008 Evan Cheng <evan.cheng@apple.com> Undo most of r54519.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
711b6dce246c87b5d830966bed823d0e7aa15300 08-Aug-2008 Evan Cheng <evan.cheng@apple.com> It's not legal to output a GV in a coalesced section if it's used in an ARM PIC relative constantpool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0f3cc657387d44cd7c56e4ddea896a50ab9106b8 07-Aug-2008 Anton Korobeynikov <asl@math.spbu.ru> Switch ARM to new section handling stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f2452c5f48e13cf3a9e620d22d5040a90133ddca 09-Jul-2008 Dale Johannesen <dalej@apple.com> Emit debug info for data-only files. ARM version.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
526be70f94538a2cc131ab1b0fd9f7264e00d297 09-Jul-2008 Evan Cheng <evan.cheng@apple.com> Back out 53254. It broke ppc debug info codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f71cb9b3ed1d7b3e438e9990ce1587ba275e70bf 08-Jul-2008 Dale Johannesen <dalej@apple.com> Make debug info come out in data-only files.

This is a question of the debugging setup code not
being called at the right time, and it's called from
target-dependent code for some reason. I have only
attempted to fix Darwin, but I'm pretty sure it's
broken elsewhere; I'll leave that to people who can
test it.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4542611bb9793e8376d7d5f33b4a1e2d11712894 07-Jul-2008 Dan Gohman <gohman@apple.com> Minor const-correctness fixes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c215b3ef5d9627f5fb6fe9034e46bc29ae592916 19-May-2008 Dale Johannesen <dalej@apple.com> Handle quoted names when constructing $stub's,
$non_lazy_ptr's and $lazy_ptr's.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
fb8075d03f5c87bd57dcc9c5f2304f6b13c55aad 28-Feb-2008 Evan Cheng <evan.cheng@apple.com> Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to 16-byte boundaries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
74ab84c31ef64538a1b56e1f282e49303412ad17 26-Feb-2008 Bill Wendling <isanbard@gmail.com> Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool
would have been a Godsend here!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ec321b4d64ee02a1b90021c09d9513618787c6e8 15-Feb-2008 Chris Lattner <sabre@nondot.org> Handle \n's in value names for more targets. The asm printers
really really really need refactoring :(



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3006c39e3a2f137dcb0f1b52d8a1c60a9657ed44 13-Feb-2008 Dale Johannesen <dalej@apple.com> __DATA not __DATA__ is the right segment name on darwin.
Spotted by Nick Kledzik.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6f0d024a534af18d9e60b3ea757376cd8a3a980e 10-Feb-2008 Dan Gohman <gohman@apple.com> Rename MRegisterInfo to TargetRegisterInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4eecdeb3faf5df864790175da5d58301b751ec11 02-Feb-2008 Evan Cheng <evan.cheng@apple.com> Get rid of the annoying blank lines before labels.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
200e90c74bff0b533c87e2d781815fa61af7b4d6 28-Jan-2008 Bill Wendling <isanbard@gmail.com> If the function has no machine instructions, then emit a "nop" so that
the function label isn't associated with something it shouldn't be.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
25edeb32e77fdabbb986787a91a46435dfbaf716 23-Jan-2008 Dale Johannesen <dalej@apple.com> Honor explicit section information on Darwin.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
25a0195114c4fa1e22a7b71b6d80aef48d537b7d 18-Jan-2008 Dale Johannesen <dalej@apple.com> Revert the part of 45849 that treated weak globals
as weak globals rather than commons. While not wrong,
this change tickled a latent bug in Darwin's strip,
so revert it for now as a workaround.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
12591d70f6c98a5c9989df2afb88e8590fc77bfa 11-Jan-2008 Dale Johannesen <dalej@apple.com> Weak zeroes don't go in bss on Darwin.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8aa797aa51cd4ea1ec6f46f4891a6897944b75b2 31-Dec-2007 Chris Lattner <sabre@nondot.org> Add new shorter predicates for testing machine operands for various types:
e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on
switching everything over, so new clients should just start using the
shorter names.

Remove old long accessors, switching everything over to use the short
accessor: getMachineBasicBlock() -> getMBB(),
getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
9a1ceaedc282f0cae31f2723f4d6c00c7b88fe90 30-Dec-2007 Chris Lattner <sabre@nondot.org> Use MachineOperand::getImm instead of MachineOperand::getImmedValue. Likewise setImmedValue -> setImm


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
cc41586b9d79532172b37e1f44a9077da4b73fc9 09-Nov-2007 Evan Cheng <evan.cheng@apple.com> Much improved pic jumptable codegen:

Then:
call "L1$pb"
"L1$pb":
popl %eax
...
LBB1_1: # entry
imull $4, %ecx, %ecx
leal LJTI1_0-"L1$pb"(%eax), %edx
addl LJTI1_0-"L1$pb"(%ecx,%eax), %edx
jmpl *%edx

.align 2
.set L1_0_set_3,LBB1_3-LJTI1_0
.set L1_0_set_2,LBB1_2-LJTI1_0
.set L1_0_set_5,LBB1_5-LJTI1_0
.set L1_0_set_4,LBB1_4-LJTI1_0
LJTI1_0:
.long L1_0_set_3
.long L1_0_set_2

Now:
call "L1$pb"
"L1$pb":
popl %eax
...
LBB1_1: # entry
addl LJTI1_0-"L1$pb"(%eax,%ecx,4), %eax
jmpl *%eax

.align 2
.set L1_0_set_3,LBB1_3-"L1$pb"
.set L1_0_set_2,LBB1_2-"L1$pb"
.set L1_0_set_5,LBB1_5-"L1$pb"
.set L1_0_set_4,LBB1_4-"L1$pb"
LJTI1_0:
.long L1_0_set_3
.long L1_0_set_2


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8699a97a2ef42d349c9b81317d55ff621c459adc 05-Nov-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> [ARM] Fix code generation for:

static __thread struct {
int a;
int b;
} teste = {0, 0};



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ca0ed744852a7d9625572fbb793f65e81225a3e8 05-Nov-2007 Duncan Sands <baldrick@free.fr> Eliminate the remaining uses of getTypeSize. This
should only effect x86 when using long double. Now
12/16 bytes are output for long double globals (the
exact amount depends on the alignment). This brings
globals in line with the rest of LLVM: the space
reserved for an object is now always the ABI size.
One tricky point is that only 10 bytes should be
output for long double if it is a field in a packed
struct, which is the reason for the additional
argument to EmitGlobalConstant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
347d39f1fd8ad825a7ec5b8a3dce816723a56d42 14-Oct-2007 Evan Cheng <evan.cheng@apple.com> Revert 42908 for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
8ddde0a151c5297ae5694a4b9201b2d3fe56b196 12-Oct-2007 Dan Gohman <gohman@apple.com> Change the names used for internal labels to use the current
function symbol name instead of a codegen-assigned function
number.

Thanks Evan! :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
cb406c25973b4e88a6c10ad839ef1beeb3664715 03-Oct-2007 Dan Gohman <gohman@apple.com> Use empty() member functions when that's what's being tested for instead
of comparing begin() and end().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
cd8bc05102e7963a5839cfdca7785390288bc745 30-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> AsmPrinters overriding getAnalysisUsage should call super.

And not super's super, either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
76a4023096fc330db11d711197388d9f3ba91cc6 21-Sep-2007 Evan Cheng <evan.cheng@apple.com> Honor user-defined section specification of a global, ignores whether its initializer is null.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b8275a3f6f6497889653cb2452d82a46f92b4926 25-Jul-2007 Dan Gohman <gohman@apple.com> Don't ignore the return value of AsmPrinter::doInitialization and
AsmPrinter::doFinalization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
dfb2ebac29f92a533218bd576734913a89d1299d 06-Jul-2007 Evan Cheng <evan.cheng@apple.com> Print the s bit if the instruction is toggled to its CPSR setting form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5411835165429dc409012adc5efaf92c4938563f 22-Jun-2007 Dale Johannesen <dalej@apple.com> Quote complex names for Darwin X86 and ARM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5e148a37d3432f83ccc4dbebe08d4f1b4717034c 05-Jun-2007 Evan Cheng <evan.cheng@apple.com> Print predicate of the second instruction of the two-piece constant MI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
341dcccb4e1f190f4aee12e92c2b7c2cb68c520d 05-Jun-2007 Evan Cheng <evan.cheng@apple.com> PIC label asm printing cosmetic changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3a4205367dc845d4cd804b47e061f8281777c9da 31-May-2007 Chris Lattner <sabre@nondot.org> Fix the asmprinter so that a globalvalue can specify an explicit alignment
smaller than the preferred alignment, but so that the target can actually
specify a minimum alignment if needed. This fixes some objc protocol
failures Devang tracked down.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
44bec52b1b7e9a3ac1efbae90db240b8c1ca2ad4 15-May-2007 Evan Cheng <evan.cheng@apple.com> Add PredicateOperand to all ARM instructions that have the condition field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
42d712b3067ec14170f80d8adfc7e5ad5878132b 08-May-2007 Evan Cheng <evan.cheng@apple.com> Switch BCC, MOVCCr, etc. to PredicateOperand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
bdc9869dbfa40579236405db73897a9fd19d1ed0 04-May-2007 Evan Cheng <evan.cheng@apple.com> Should never see an indexed load / store with zero offset.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e8e5495474d67cd5151bd88e502be3f46ace7a85 03-May-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Debug support for arm-linux.
Patch by Raul Herbster.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
388488d604a63fc25d5f6b2c598f7cc4499c9db5 03-May-2007 Chris Lattner <sabre@nondot.org> add support for printing offset from global


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0a1817392d3ad7ec2681e6bf495f490c443ec0b7 30-Apr-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Enable protected visibility on ARM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
64f4fa5e0eb505eec3a72041bec6b3a7f7739ded 27-Apr-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
305b8a5f62c9d027f3d8a870fc12fc2abf69aeea 25-Apr-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> remember to emit weak reference in one more case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
bd24f3f398bc26d686836dc412f3c1997953f427 23-Apr-2007 Dale Johannesen <dalej@apple.com> add Align field, and use when generating function alignment


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0ae4a3357a556261f25b1584a2d9914637c69e65 22-Apr-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Implement PIC for arm-linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e21e39666e8a41ffd4971d8bb023b70b59297267 04-Apr-2007 Evan Cheng <evan.cheng@apple.com> Implement inline asm modifier P.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
616cc663daf965695809213d8cf8e3686e5309c3 29-Mar-2007 Evan Cheng <evan.cheng@apple.com> Add support for hidden visibility to darwin/arm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c70d1849b7b85b06adf7dce856b3b19028fff8f7 20-Mar-2007 Evan Cheng <evan.cheng@apple.com> Make two piece constant generation as a single instruction. It's re-materialized as a load from constantpool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
23a95704949b99ca07afe45c6946d0fa26baf9f3 08-Mar-2007 Evan Cheng <evan.cheng@apple.com> Implement inline asm modifier c.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
032953d74746fa89b62e49b63a38ba6d8827b81a 08-Mar-2007 Evan Cheng <evan.cheng@apple.com> Putting more constants which do not contain relocations into .literal{4|8|16}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
98ded765c2dc2f256e9f11502ca302f2b24f31e8 08-Mar-2007 Evan Cheng <evan.cheng@apple.com> For Darwin, put constant data into .const, .const_data, .literal{4|8|16}
sections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f1d6006ad60e0eb28f5089a5bb407ada6bb7ef4e 01-Mar-2007 Bill Wendling <isanbard@gmail.com> Get rid of verboten <iostream> include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6f46e59d2a0e66f3646db9677258876960477f87 01-Feb-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix .thumb_func directive on linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3bf12d0460cc6dcd5ad9375be9a2b05535b002a6 01-Feb-2007 Evan Cheng <evan.cheng@apple.com> Don't emit unnecessary .align directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c60e76d139a96cc8bb7454929172cdb992e16971 30-Jan-2007 Evan Cheng <evan.cheng@apple.com> - Fix codegen for pc relative constant (e.g. JT) in thumb mode:
.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
add r1, pc, #PCRELV0
This is not legal since add r1, pc, #c requires the constant be a multiple of 4.
Do the following instead:
.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
mov r1, #PCRELV0
add r1, pc

- In thumb mode, it's not possible to use .set generate a pc relative stub
address. The stub is ARM code which is in a different section from the thumb
code. Load the value from a constpool instead.
- Some asm printing clean up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 30-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b267ca17d1351b28d597e7807b5ed398e92d65e4 30-Jan-2007 Evan Cheng <evan.cheng@apple.com> Darwin -static should codegen static ctors / dtors to .constructor / .destructor sections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
cea117d2de0bfe422641e2ada4fef160e099a6b4 30-Jan-2007 Evan Cheng <evan.cheng@apple.com> Change the operand orders to t_addrmode_s* to make it easier to morph
instructions that use these address modes to instructions that use
t_addrmode_sp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d85ac4d07966a56b3101598f29393f4532acc50f 27-Jan-2007 Evan Cheng <evan.cheng@apple.com> Thumb jumptable support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
44c3b9fdd416c79f4b67cde1aecfced5921efd81 26-Jan-2007 Jim Laskey <jlaskey@mac.com> Change the MachineDebugInfo to MachineModuleInfo to better reflect usage
for debugging and exception handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1a92d941b3541f0c361caad499d0eb37a8339453 26-Jan-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> If the constant pool value is a extern weak symbol, emit the weak reference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b1cc0528232a732b337a4ba2eb0ba64d7538f1ef 25-Jan-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix elf object definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6318ffd7361677e3b4487025538997ee01304452 25-Jan-2007 Evan Cheng <evan.cheng@apple.com> Getting rid uses of evil std::set<>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
c38f2bc3c29337f777c48b33daa8b1d6c76c27bf 23-Jan-2007 Evan Cheng <evan.cheng@apple.com> - Reorg Thumb load / store instructions. Combine each rr and ri pair of
instructions into one (e.g. tLDRrr, tLDRri -> tLDR).
- Thumb ldrsb and ldrsh only have the [reg, reg] address format. If the
address is not an add, materialize a 0 immediate into a register and use
it as the offset field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
5be54b00bdbe1abd02dde46ca2c4b0e5aaf7b537 19-Jan-2007 Evan Cheng <evan.cheng@apple.com> Restructure code a bit to make use of continue (simplifying things). Generalize
the .zerofill directive emission to not be darwin-specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
471ffaffd86c8bd48e8769c9e0c75553235deba0 19-Jan-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix section definition.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a8e2989ece6dc46df59b0768184028257f913843 19-Jan-2007 Evan Cheng <evan.cheng@apple.com> ARM backend contribution from Apple.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1a199de81322a844faee0ea242f68fe326bbd885 21-Dec-2006 Chris Lattner <sabre@nondot.org> Fix for ARM weak symbols, patch by Lauro Ramos Venancio!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
95b2c7da5e83670881270c1cd231a240be0556d9 19-Dec-2006 Chris Lattner <sabre@nondot.org> eliminate static ctors for Statistic objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
15404d060ba8b604c03b9223a0f2e2abcd0fdded 18-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> move ExtWeakSymbols to AsmPrinter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
796cbd87b497ef5d27815530736babc4cf946de6 10-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> .align is in bits
.comm is in bytes
:-(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0ec729ef2d0bf7a9563ac2f2666cff37afe8c257 08-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> %progbits not @progbits


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1366626e08322aaecd60704d02a5d881b0826725 08-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> add \"aw\",@progbits" to ctors and dtors


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1c411dee4f406e33d70666898f62ab9ba23bb73d 07-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> fix alignment


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f5da13367f88f06e3b585dc2263ab6e9ca6c4bf8 07-Dec-2006 Bill Wendling <isanbard@gmail.com> What should be the last unnecessary <iostream>s in the library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7367d05cb713d11f8ac1e0815ac6b2eb6b17088c 07-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> make sure that we don't use a common symbol if a section was specified


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ac0b6ae358944ae8b2b5a11dc08f52c3ed89f2da 06-Dec-2006 Chris Lattner <sabre@nondot.org> Detemplatize the Statistic class. The only type it is instantiated with
is 'unsigned'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
392b1b2ef3ace82b5104ba4c9280fc7957c669d4 06-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> print weak references


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
d17aa4b1f17f6d3fcd9079aef239ff16cfb5907f 06-Dec-2006 Chris Lattner <sabre@nondot.org> These asm printers shouldn't use assembly/writer.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
204b0c2ca06d451479a62aeca4822f8e1a942ccf 05-Dec-2006 Rafael Espindola <rafael.espindola@gmail.com> add support for weak linkage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f819a4999aedd00368c850c1707e7ed0d59b4ace 09-Nov-2006 Rafael Espindola <rafael.espindola@gmail.com> implement load effective address similar to the alpha backend
remove lea_addri and the now unused memri addressing mode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6e8c6493f0db238d06549368bd647e29ff3c7821 08-Nov-2006 Rafael Espindola <rafael.espindola@gmail.com> initial implementation of addressing mode 2
TODO: fix lea_addri


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
e931a37a4eb3e46d73ab0379dd84173dca1214f2 02-Nov-2006 Rafael Espindola <rafael.espindola@gmail.com> move ARMCondCodeToString to ARMAsmPrinter.cpp
remove unused variables from lowerCall


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
560a8d051220ca070b6550f5ee11517fe3e14c68 01-Nov-2006 Rafael Espindola <rafael.espindola@gmail.com> print null values in bss


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b97809c9a7a4ef681070ab1cbc7bd4fb18d34ba1 19-Oct-2006 Rafael Espindola <rafael.espindola@gmail.com> print common symbols


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
32bd5f4f6a374f9ab0fcbd2cf6a8561019a6fd56 17-Oct-2006 Rafael Espindola <rafael.espindola@gmail.com> initial implementation of addressing mode 5


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
0505be03adf561afbd8307516125da10dba8f0c4 16-Oct-2006 Rafael Espindola <rafael.espindola@gmail.com> expand ISD::SHL_PARTS, ISD::SRA_PARTS and ISD::SRL_PARTS


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1da31ee472b9615d7329c656e2cc17c419ed7c95 05-Oct-2006 Chris Lattner <sabre@nondot.org> Pass the MachineFunction into EmitJumpTableInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6f6f69950f5a36d3ae7e4d1d5b96fda204beb79a 05-Oct-2006 Chris Lattner <sabre@nondot.org> Use getSectionForFunction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
3ad5e5cf998841681e9d11e08eb82a94ddffd1f8 13-Sep-2006 Rafael Espindola <rafael.espindola@gmail.com> add shifts to addressing mode 1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7cca7c531773f763c1bddc3fefecc99ba56ed10a 11-Sep-2006 Rafael Espindola <rafael.espindola@gmail.com> partial implementation of the ARM Addressing Mode 1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
ff59d22232f47f138ed3d753975153befd1aa0c0 11-Sep-2006 Rafael Espindola <rafael.espindola@gmail.com> call AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f369dd26fbc8e3e174be0773fec6bffa80fb6cd4 10-Sep-2006 Anton Korobeynikov <asl@math.spbu.ru> Removed unnecessary Mangler creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a0f3d17daac73c9c71aad497b298cbe82848f726 08-Sep-2006 Jim Laskey <jlaskey@mac.com> Make target asm info a property of the target machine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
563321a2582851c653d0863e8e0bba3d483734f9 06-Sep-2006 Jim Laskey <jlaskey@mac.com> Separate target specific asm properties from the asm printers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
755be9b3debb5ffdb21759c0213d51116a522e1b 25-Aug-2006 Rafael Espindola <rafael.espindola@gmail.com> use @ for comments
store LR in an arbitrary stack slot
add support for writing varargs functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6f602de3b68cc63d12554ad6ae3c98a4c436c32d 24-Aug-2006 Rafael Espindola <rafael.espindola@gmail.com> create a generic bcond instruction that has a conditional code argument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
687bc49d1ada3fe0a2cd3fb5c044f12d267f259f 24-Aug-2006 Rafael Espindola <rafael.espindola@gmail.com> initial support for branches


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
f3a335cedff423438789c593d58be068b124dc1e 17-Aug-2006 Rafael Espindola <rafael.espindola@gmail.com> add a "load effective address"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
1ed3af11b55becb26a3485494409084a668a9232 01-Aug-2006 Rafael Espindola <rafael.espindola@gmail.com> start comments with #
move the constant pool to .text
correctly print loads of labels
mark R0, R1, R2 and R3 as caller save


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
06c1e7eacb11edd1671eabfc11291b7716be2608 01-Aug-2006 Rafael Espindola <rafael.espindola@gmail.com> implement LowerConstantPool and LowerGlobalAddress


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
6d581e8d1567e4e445e2cc88c790c79eb75c226a 31-Jul-2006 Rafael Espindola <rafael.espindola@gmail.com> handle GlobalValue::InternalLinkage in doFinalization


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
b01c4bbb4573e0007444e218b683840e4519e0c8 27-Jul-2006 Rafael Espindola <rafael.espindola@gmail.com> emit global constants


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
84b19be6ab9544f72eafb11048a1121f5ea77c95 16-Jul-2006 Rafael Espindola <rafael.espindola@gmail.com> skeleton of a lowerCall implementation for ARM


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a4e64359aafaf23e440e9dc171859daef1995f1b 11-Jul-2006 Rafael Espindola <rafael.espindola@gmail.com> add the memri memory operand
this makes it possible for ldr instructions with non-zero immediate


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
a1334cdfb2afb44a1f2b952391e1b2fecb1d4bd8 26-May-2006 Rafael Espindola <rafael.espindola@gmail.com> On ARM, alignment is in bits
Add lr as a hard coded operand of bx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
2f99b6bd9601ae8d4fd248f9bb701283795c38a8 25-May-2006 Rafael Espindola <rafael.espindola@gmail.com> implement initial version of ARMAsmPrinter::printOperand


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
4b442b528a50ef06cd75f0e7c41ad57426175bcc 23-May-2006 Rafael Espindola <rafael.espindola@gmail.com> implement minimal versions of
ARMAsmPrinter::runOnMachineFunction
LowerFORMAL_ARGUMENTS
ARMInstrInfo::isMoveInstr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
7bc59bc3952ad7842b1e079753deb32217a768a3 15-May-2006 Rafael Espindola <rafael.espindola@gmail.com> added a skeleton of the ARM backend


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMAsmPrinter.cpp