summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Change getX86SubSuperRegister to take an MVT::SimpleValueType rather than an ↵Craig Topper2012-09-301-1/+1
| | | | | | EVT and add llvm_unreachable to the switches. Helps it compile to dramatically better code. llvm-svn: 164919
* Update function names to conform to guidelines. No functional change intended.Chad Rosier2012-09-101-3/+3
| | | | llvm-svn: 163561
* Revert r163556. Missed updates to tablegen files.Chad Rosier2012-09-101-3/+3
| | | | llvm-svn: 163557
* Update function names to conform to guidelines. No functional change intended.Chad Rosier2012-09-101-3/+3
| | | | llvm-svn: 163556
* [ms-inline asm] Pass the correct AsmVariant to the PrintAsmOperand() functionChad Rosier2012-09-101-3/+5
| | | | | | and update the printOperand() function accordingly. llvm-svn: 163544
* Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp andBill Wendling2012-06-281-1/+1
| | | | | | | | | 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. llvm-svn: 159312
* There are a number of generic inline asm operand modifiers thatJack Carter2012-06-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 159203
* Implement the local-dynamic TLS model for x86 (PR3985)Hans Wennborg2012-06-011-0/+3
| | | | | | | | | This implements codegen support for accesses to thread-local variables using the local-dynamic model, and adds a clean-up pass so that the base address for the TLS block can be re-used between local-dynamic access on an execution path. llvm-svn: 157818
* Implement initial-exec TLS model for 32-bit PIC x86Hans Wennborg2012-05-111-0/+1
| | | | | | | This fixes a TODO from 2007 :) Previously, LLVM would emit the wrong code here (see the update to test/CodeGen/X86/tls-pie.ll). llvm-svn: 156611
* Add support for AVX enhanced comparison predicates. Patch from Kay Tiong Khoo.Craig Topper2012-04-031-2/+1
| | | | llvm-svn: 153935
* Reorder includes in Target backends to following coding standards. Remove ↵Craig Topper2012-03-171-2/+2
| | | | | | some superfluous forward declarations. llvm-svn: 152997
* Properly emit _fltused with FastISel. Refactor to share code with SDAG.Michael J. Spencer2012-02-221-1/+1
| | | | | | Patch by Joe Groff! llvm-svn: 151183
* Add support for implicit TLS model used with MS VC runtime.Anton Korobeynikov2012-02-111-0/+1
| | | | | | Patch by Kai Nacke! llvm-svn: 150307
* Fixed a bug in printing "cmp" pseudo ops.Elena Demikhovsky2012-02-081-8/+32
| | | | | | | | | | | | | | | | | | | | | | > 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. llvm-svn: 150068
* Fix C++0x narrowing errors when char is unsigned.Jeffrey Yasskin2011-08-301-2/+2
| | | | | | | In the case of EDInstInfo, this would actually cause a bug when -1 became 255 and was then compared >=0 in llvm-mc/Disassembler.cpp. llvm-svn: 138825
* Move TargetRegistry and TargetSelect from Target to Support where they belong.Evan Cheng2011-08-241-3/+3
| | | | | | These are strictly utilities for registering targets and components. llvm-svn: 138450
* Separate MCInstPrinter registration from AsmPrinter registration.Evan Cheng2011-07-251-13/+0
| | | | llvm-svn: 135974
* createMCInstPrinter doesn't need TargetMachine anymore.Evan Cheng2011-07-061-3/+2
| | | | llvm-svn: 134525
* We need to pass the TargetMachine object to the InstPrinter if we are printingBill Wendling2011-03-211-2/+3
| | | | | | | | | 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. llvm-svn: 127986
* Patches to build EFI with Clang/LLVM. By Carl Norum.Evan Cheng2011-02-011-4/+4
| | | | llvm-svn: 124639
* Add support for the 'H' modifier.Rafael Espindola2011-01-011-0/+6
| | | | llvm-svn: 122667
* move the pic base symbol stuff up to MachineFunctionChris Lattner2010-11-141-16/+5
| | | | | | | since it is trivial and will be shared between ppc and x86. This substantially simplifies the X86 backend also. llvm-svn: 119089
* simplify getPICBaseSymbol a bit.Chris Lattner2010-11-141-2/+1
| | | | llvm-svn: 119088
* tidy up.Chris Lattner2010-11-121-3/+2
| | | | llvm-svn: 118896
* X86: Emit _fltused instead of __fltused on Windows x64.Michael J. Spencer2010-10-231-1/+2
| | | | llvm-svn: 117205
* CodeGen-Windows: Only emit _fltused if a VarArg function is called with ↵Michael J. Spencer2010-10-211-1/+1
| | | | | | | | floating point args. This should be the minimum set of functions that could possibly need it. llvm-svn: 116978
* X86-Windows: Emit an undefined global __fltused symbol when targeting WindowsMichael J. Spencer2010-10-161-0/+7
| | | | | | if any floating point arguments are passed to an external function. llvm-svn: 116665
* Rename the AsmPrinter directory to InstPrinter for those targets that haveJim Grosbach2010-10-011-2/+2
| | | | | | | 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. llvm-svn: 115360
* trailing whitespaceJim Grosbach2010-09-151-25/+25
| | | | llvm-svn: 113915
* Add DEBUG message.Devang Patel2010-08-041-0/+4
| | | | llvm-svn: 110224
* move two asmprinter methods into the asmprinter .cpp file.Chris Lattner2010-07-201-0/+39
| | | | llvm-svn: 108945
* fix a layering problem by moving the x86 implementationChris Lattner2010-07-191-0/+684
| | | | | | | | of AsmPrinter and InstLowering into libx86 and out of the asmprinter subdirectory. Now X86/AsmPrinter just depends on MC stuff, not all of codegen and LLVM IR. llvm-svn: 108782
* Move X86 assembler printers into separate directory. This allows JIT-only ↵Anton Korobeynikov2008-08-171-35/+0
| | | | | | users not to link it in (use 'x86codegen' llvm-config arg for this) llvm-svn: 54886
* Remove X86SharedAsmPrinterAnton Korobeynikov2008-06-281-435/+0
| | | | llvm-svn: 52860
* whitespace cleanupAnton Korobeynikov2008-06-281-1/+1
| | | | llvm-svn: 52859
* Use StringSet instead of std::set<std::string>Anton Korobeynikov2008-06-271-14/+14
| | | | llvm-svn: 52836
* Put const weak stuff in appropriate section on Darwin.Dale Johannesen2008-05-231-1/+9
| | | | | | g++.dg/abi/key2.C llvm-svn: 51458
* Handle quoted names when constructing $stub's,Dale Johannesen2008-05-191-4/+8
| | | | | | $non_lazy_ptr's and $lazy_ptr's. llvm-svn: 51277
* Treat common as distinct from weak global on Darwin x86.Dale Johannesen2008-05-161-0/+10
| | | | llvm-svn: 51172
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-141-1/+2
| | | | | | | | | | are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. llvm-svn: 51118
* Recommitting EH patch; this should answer most of theDale Johannesen2008-04-021-2/+2
| | | | | | | | | | | | | | | review feedback. -enable-eh is still accepted but doesn't do anything. EH intrinsics use Dwarf EH if the target supports that, and are handled by LowerInvoke otherwise. The separation of the EH table and frame move data is, I think, logically figured out, but either one still causes full EH info to be generated (not sure how to split the metadata correctly). MachineModuleInfo::needsFrameInfo is no longer used and is removed. llvm-svn: 49064
* Revert 49006 for the moment.Dale Johannesen2008-04-011-2/+2
| | | | llvm-svn: 49046
* Emit exception handling info for functions which areDale Johannesen2008-03-311-2/+2
| | | | | | | | | | | not marked nounwind, or for all functions when -enable-eh is set, provided the target supports Dwarf EH. llvm-gcc generates nounwind in the right places; other FEs will need to do so also. Given such a FE, -enable-eh should no longer be needed. llvm-svn: 49006
* s/isReturnStruct()/hasStructRetAttr()/gDevang Patel2008-03-031-2/+2
| | | | llvm-svn: 47857
* Handle \n's in value names for more targets. The asm printers Chris Lattner2008-02-151-4/+4
| | | | | | really really really need refactoring :( llvm-svn: 47171
* If the llvm name contains an unprintable character, don't print it inChris Lattner2008-02-151-3/+15
| | | | | | | | | | | the global comment. This prevents printing things like: ... # foo bar when the name is "foo\nbar". llvm-svn: 47170
* __DATA not __DATA__ is the right segment name on darwin.Dale Johannesen2008-02-121-1/+1
| | | | | | Spotted by Nick Kledzik. llvm-svn: 47037
* Honor explicit section information on Darwin.Dale Johannesen2008-01-231-1/+4
| | | | llvm-svn: 46267
* Honour ByVal parameter attribute for name decorationAnton Korobeynikov2008-01-201-3/+12
| | | | llvm-svn: 46200
* Revert the part of 45848 that treated weak globalsDale Johannesen2008-01-171-3/+2
| | | | | | | | 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. llvm-svn: 46144
OpenPOWER on IntegriCloud