History log of /external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
a4959f3f6eb9b6ab3cbbe085a2797208682e96c6 26-Aug-2013 Craig Topper <craig.topper@gmail.com> First round of fixes for the x86 fixes for the x86 move accumulator from/to memory offset instructions.

-Assembly parser now properly check the size of the memory operation specified in intel syntax. So 'mov word ptr [5], al' is no longer accepted.
-x86-32 disassembly of these instructions no longer sign extends the 32-bit address immediate based on size.
-Intel syntax printing prints the ptr size and places brackets around the address immediate.

Known remaining issues with these instructions:
-Segment override prefix is not supported. PR16962 and PR16961.
-Immediate size should be changed by address size prefix.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
44c8e346c79cc2affa31385df254b85aa0f5c869 01-Aug-2013 Daniel Malea <daniel.malea@intel.com> Fixed the Intel-syntax X86 disassembler to respect the (existing) option for hexadecimal immediates, to match AT&T syntax. This also brings a new option for C-vs-MASM-style hex.

Patch by Richard Mitton
Reviewed: http://llvm-reviews.chandlerc.com/D1243



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
5bd1b815b360e7a5b886f58c7ca62ff124fa89eb 31-Jul-2013 Craig Topper <craig.topper@gmail.com> Remove trailing whitespace and some tab characters.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
14ccc9007a932a23201251ced4be4c898a62d6a5 05-Dec-2012 Kevin Enderby <enderby@apple.com> Added a option to the disassembler to print immediates as hex.

This is for the lldb team so most of but not all of the values are
to be printed as hex with this option. Some small values like the
scale in an X86 address were requested to printed in decimal
without the leading 0x.

There may be some tweaks need to places that may still be in
decimal that they want in hex. Specially for arm. I made my best
guess. Any tweaks from here should be simple.

I also did the best I know now with help from the C++ gurus
creating the cleanest formatImm() utility function and containing
the changes. But if someone has a better idea to make something
cleaner I'm all ears and game for changing the implementation.

rdar://8109283



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.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/X86/InstPrinter/X86ATTInstPrinter.cpp
e1d4a8813427b76c5f59cf5b70a9df734b7e9284 24-Oct-2012 Kevin Enderby <enderby@apple.com> Make branch heavy code for generating marked up disassembly simpler
and easier to read by adding a couple helper functions. Suggestion by
Chandler Carruth and seconded by Meador Inge!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
3ed0316f756e2f1730f46654776fcf77f5ace7aa 23-Oct-2012 Kevin Enderby <enderby@apple.com> Add support for annotated disassembly output for X86 and arm.

Per the October 12, 2012 Proposal for annotated disassembly output sent out by
Jim Grosbach this set of changes implements this for X86 and arm. The llvm-mc
tool now has a -mdis option to produced the marked up disassembly and a couple
of small example test cases have been added.

rdar://11764962


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
ac0740f2442dae01a4c44875f9b936d9ea352636 09-Oct-2012 Craig Topper <craig.topper@gmail.com> Separate AVXCC and SSECC printing for cmpps/pd/ss/sd and add masking before the switch statement. This keeps the unreachable default case from being hit if the instruction was created with an intrinsic with too large of an immediate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
4e9485d7322b6ce925b9390d1459349c1380c9a5 26-Sep-2012 Michael Liao <michael.liao@intel.com> Add 'lock' prefix output support in assembly printer

- Instead of embedding 'lock' into each mnemonic of atomic
instructions except 'xchg', we teach X86 assembly printer to output 'lock'
prefix similar to or consistent with code emitter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
35c688932a3d8f133905280f64f490f61270b2a9 11-Sep-2012 Chad Rosier <mcrosier@apple.com> Update function names to conform to guidelines. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
c97ef618d2d849a272a353c2b4343fc5902cd921 02-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> Move getOpcodeName from the various target InstPrinters into the superclass MCInstPrinter.

All implementations used the same code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
7c0b3c1fb6395475e262d66ee403645f0c67dee2 02-Apr-2012 Craig Topper <craig.topper@gmail.com> Remove getInstructionName from MCInstPrinter implementations in favor of using the instruction name table from MCInstrInfo. Reduces static data in the InstPrinter implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
cef670a3a3fd448edfb38d8b513f5aa775257352 31-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Rip out emission of the regIsInRegClass function for the asm printer.

It's slow, bloated and completely redundant with MCRegisterClass::contains.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
c6449b636f4984be88f128d0375c056ad05e7e8f 05-Mar-2012 Jim Grosbach <grosbach@apple.com> Make MCRegisterInfo available to the the MCInstPrinter.

Used to allow context sensitive printing of super-register or sub-register
references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
b80d571ea85db5d52fafed0523cf59e693502198 23-Feb-2012 Kevin Enderby <enderby@apple.com> Updated the llvm-mc disassembler C API to support for the X86 target.
rdar://10873652

As part of this I updated the llvm-mc disassembler C API to always call the
SymbolLookUp call back even if there is no getOpInfo call back. If there is a
getOpInfo call back that is tried first and then if that gets no information
then the SymbolLookUp is called. I also made the code more robust by
memset(3)'ing to zero the LLVMOpInfo1 struct before then setting
SymbolicOp.Value before for the call to getOpInfo. And also don't use any
values from the LLVMOpInfo1 struct if getOpInfo returns 0. And also don't
use any of the ReferenceType or ReferenceName values from SymbolLookUp if it
returns NULL. rdar://10873563 and rdar://10873683

For the X86 target also fixed bugs so the annotations get printed.

Also fixed a few places in the ARM target that was not producing symbolic
operands for some instructions. rdar://10878166


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
f602040c4900d89bbf55478420769e36604588fb 08-Feb-2012 Elena Demikhovsky <elena.demikhovsky@intel.com> Fixed a bug in printing "cmp" pseudo ops.
> This IR code
> %res = call <8 x float> @llvm.x86.avx.cmp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 14)
> fails with assertion:
>
> llc: X86ATTInstPrinter.cpp:62: void llvm::X86ATTInstPrinter::printSSECC(const llvm::MCInst*, unsigned int, llvm::raw_ostream&): Assertion `0 && "Invalid ssecc argument!"' failed.
> 0 llc 0x0000000001355803
> 1 llc 0x0000000001355dc9
> 2 libpthread.so.0 0x00007f79a30575d0
> 3 libc.so.6 0x00007f79a23a1945 gsignal + 53
> 4 libc.so.6 0x00007f79a23a2f21 abort + 385
> 5 libc.so.6 0x00007f79a239a810 __assert_fail + 240
> 6 llc 0x00000000011858d5 llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) + 119

I added the full testing for all possible pseudo-ops of cmp.
I extended X86AsmPrinter.cpp and X86IntelInstPrinter.cpp.

You'l also see lines alignments (unrelated to this fix) in X86IselLowering.cpp from my previous check-in.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
6d1263acb9704b38a8d90fd6ce94f49193cd4dde 05-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable in X86 Target directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
41a964931a0e0943ceef28b0c691843bf8ca87b7 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add more PRI.64 macros for MSVC and use them throughout the codebase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
317eaf19937813d630166bfec7b933a98ea89aa5 21-Sep-2011 Owen Anderson <resistor@mac.com> In the disassembler C API, be careful not to confuse the comment streamer that the disassembler outputs annotations on with the streamer that the InstPrinter will print them on.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
98c5ddabca1debf935a07d14d0cbc9732374bdb8 16-Sep-2011 Owen Anderson <resistor@mac.com> Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
ede042dc8d59ff48a48ef8e2271f2a7ee8324ba5 15-Sep-2011 Owen Anderson <resistor@mac.com> Add support for stored annotations to MCInst, and provide facilities for MC-based InstPrinters to print them out. Enhance the ARM and X86 InstPrinter's to do so in verbose mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
d5705fe50d58dd2b686b26d1683315f785246ce0 02-Sep-2011 Kevin Enderby <enderby@apple.com> Change X86 disassembly to print immediates values as signed by default. Special
case those instructions that the immediate is not sign-extend. radr://8795217


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
ed5e3552147830159a1d48d067dfbb49ac9cccfd 07-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename files for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.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/X86/InstPrinter/X86ATTInstPrinter.cpp
68ae5b4beab17542b15817815e802475ad1a841f 06-Jul-2011 Evan Cheng <evan.cheng@apple.com> Remove the AsmWriterEmitter (unused) feature that rely on TargetSubtargetInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
22fee2dff4c43b551aefa44a96ca74fcade6bfac 28-Jun-2011 Evan Cheng <evan.cheng@apple.com> Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.inc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
73f50d9bc3bd46cc0abeba9bb0d46977ba1aea42 27-Jun-2011 Evan Cheng <evan.cheng@apple.com> Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.inc
into XXXGenRegisterInfo.inc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
cde4ce411b1ace4a80ea1dd38df97e8508aed0c9 02-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't hardcode the %reg format in the streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
6e032942cf58d1c41f88609a1cec74eb74940ecd 30-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Use the dwarf->llvm mapping to print register names in the cfi
directives.

Fixes PR9826.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
721ef66d17978a7474bc2bde5a0ce2996615a7ce 18-Apr-2011 Eric Christopher <echristo@apple.com> Invert the meaning of printAliasInstr's return value. It now returns
true on success and false on failure. Update callers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
c6df9883da99915d1cfa491b381ffa703c61ed90 14-Apr-2011 Bill Wendling <isanbard@gmail.com> Have the X86 back-end emit the alias instead of what's being aliased. In most
cases, it's much nicer and more informative reading the alias.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
44dcfd36253570ccd5f00189eb918604473135e0 07-Apr-2011 Bill Wendling <isanbard@gmail.com> Replace the old algorithm that emitted the "print the alias for an instruction"
with the newer, cleaner model. It uses the IAPrinter class to hold the
information that is needed to match an instruction with its alias. This also
takes into account the available features of the platform.

There is one bit of ugliness. The way the logic determines if a pattern is
unique is O(N**2), which is gross. But in reality, the number of items it's
checking against isn't large. So while it's N**2, it shouldn't be a massive time
sink.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.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/X86/InstPrinter/X86ATTInstPrinter.cpp