summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move X86 assembler printers into separate directory. This allows JIT-only ↵Anton Korobeynikov2008-08-171-597/+0
| | | | | | users not to link it in (use 'x86codegen' llvm-config arg for this) llvm-svn: 54886
* ATT asm printer just print register AsmName's instead of calling tolower on ↵Evan Cheng2008-07-071-2/+2
| | | | | | each charater of Name. This speeds it up by 10%. llvm-svn: 53208
* Make intel asmprinter child of generic asmprinter, not x86 shared asm ↵Anton Korobeynikov2008-06-281-4/+93
| | | | | | printer. This leads to some code duplication, which will be resolved later. llvm-svn: 52858
* CleanupAnton Korobeynikov2008-06-281-10/+5
| | | | llvm-svn: 52857
* Whitespace cleanupAnton Korobeynikov2008-06-281-22/+22
| | | | llvm-svn: 52856
* Use StringSet instead of std::set<std::string>Anton Korobeynikov2008-06-271-8/+8
| | | | llvm-svn: 52836
* Wrap MVT::ValueType in a struct to get type safetyDuncan Sands2008-06-061-1/+1
| | | | | | | | | | | | | | | | and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). llvm-svn: 52044
* Add CommonLinkage; currently tentative definitionsDale Johannesen2008-05-141-0/+1
| | | | | | | | | | 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
* Smaller function alignment when optimizing for size.Evan Cheng2008-03-251-2/+3
| | | | llvm-svn: 48805
* Replace all target specific implicit def instructions with a target ↵Evan Cheng2008-03-151-4/+2
| | | | | | independent one: TargetInstrInfo::IMPLICIT_DEF. llvm-svn: 48380
* Get rid of a pseudo instruction and replace it with subreg based operation ↵Christopher Lamb2008-03-131-8/+0
| | | | | | | on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects. Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes. llvm-svn: 48329
* Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to ↵Evan Cheng2008-02-281-2/+2
| | | | | | 16-byte boundaries. llvm-svn: 47703
* Change "Name" to "AsmName" in the target register info. Gee, a refactoring toolBill Wendling2008-02-261-2/+2
| | | | | | would have been a Godsend here! llvm-svn: 47625
* Remove bunch of gcc 4.3-related warnings from TargetAnton Korobeynikov2008-02-201-1/+2
| | | | llvm-svn: 47369
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-3/+3
| | | | llvm-svn: 46930
* Get rid of the annoying blank lines before labels.Evan Cheng2008-02-021-1/+0
| | | | llvm-svn: 46667
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-3/+3
| | | | | | | | | | | | 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. llvm-svn: 45464
* Use MachineOperand::getImm instead of MachineOperand::getImmedValue. ↵Chris Lattner2007-12-301-4/+4
| | | | | | Likewise setImmedValue -> setImm llvm-svn: 45453
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Much improved pic jumptable codegen:Evan Cheng2007-11-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 43924
* Revert 42908 for now.Evan Cheng2007-10-141-5/+5
| | | | llvm-svn: 42960
* Change the names used for internal labels to use the currentDan Gohman2007-10-121-5/+5
| | | | | | | | | function symbol name instead of a codegen-assigned function number. Thanks Evan! :-) llvm-svn: 42908
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-5/+5
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Change the x86 backend to use extract_subreg for truncation operations. ↵Christopher Lamb2007-07-291-23/+0
| | | | | | Passes DejaGnu, SingleSource and MultiSource. llvm-svn: 40578
* Don't ignore the return value of AsmPrinter::doInitialization andDan Gohman2007-07-251-4/+4
| | | | | | AsmPrinter::doFinalization. llvm-svn: 40487
* Delete the svn:executable property on these files, which aren't executable.Dan Gohman2007-07-231-0/+0
| | | | llvm-svn: 40441
* Comment out usage of write() for now.Jeff Cohen2007-04-201-4/+0
| | | | llvm-svn: 36287
* Make Microsoft assembler and linker happy.Jeff Cohen2007-04-201-0/+4
| | | | llvm-svn: 36265
* rename X86FunctionInfo to X86MachineFunctionInfo to match the header fileChris Lattner2007-04-171-1/+1
| | | | | | it is defined in. llvm-svn: 36196
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-3/+3
| | | | | | confusion with external linkage types. llvm-svn: 33663
* remove dead code, frameindices must be resolve before the asmprinter runs.Chris Lattner2007-01-131-8/+0
| | | | llvm-svn: 33187
* eliminate static ctors for Statistic objects.Chris Lattner2006-12-191-0/+4
| | | | llvm-svn: 32703
* Fix for PR1059: http://llvm.org/PR1059Anton Korobeynikov2006-12-191-2/+9
| | | | llvm-svn: 32685
* Fix PR1061 and CodeGen/X86/2006-12-19-IntelSyntax.llChris Lattner2006-12-191-1/+2
| | | | llvm-svn: 32676
* For PR786:Reid Spencer2006-11-021-1/+0
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* 1. Clean up code due to changes in SwitchTo*Section(2)Anton Korobeynikov2006-10-311-4/+4
| | | | | | | | | | 2. Added partial debug support for mingw\cygwin targets (the same as Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format for storing debug info by default, thus many (runtime) libraries has this information included. These formats shouldn't be mixed in one binary ('stabs' & 'DWARF'), otherwise binutils tools will be confused. llvm-svn: 31311
* Move getPreferredAlignmentLog from AsmPrinter to TargetDataDevang Patel2006-10-241-1/+1
| | | | llvm-svn: 31171
* For PR950:Reid Spencer2006-10-201-1/+1
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Pass the MachineFunction into EmitJumpTableInfo.Chris Lattner2006-10-051-0/+3
| | | | llvm-svn: 30742
* Implement getSectionForFunction, use it when printing function body.Chris Lattner2006-10-051-2/+7
| | | | llvm-svn: 30737
* Various random and minor code cleanups.Chris Lattner2006-09-261-4/+3
| | | | llvm-svn: 30608
* Adding codegeneration for StdCall & FastCall calling conventionsAnton Korobeynikov2006-09-201-6/+35
| | | | llvm-svn: 30549
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-4/+55
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* Committing X86-64 support.Evan Cheng2006-09-081-9/+21
| | | | llvm-svn: 30177
* Make target asm info a property of the target machine.Jim Laskey2006-09-071-0/+2
| | | | llvm-svn: 30162
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-061-32/+8
| | | | llvm-svn: 30126
* Rename ASM modifier trunc8, trunc16 to subreg8, subreg16.Evan Cheng2006-05-311-2/+2
| | | | llvm-svn: 28606
* Remove a couple of bogus casts.Evan Cheng2006-05-261-1/+1
| | | | llvm-svn: 28493
* X86 integer register classes naming changes. Make them consistent with FP, ↵Evan Cheng2006-05-161-4/+4
| | | | | | vector classes. llvm-svn: 28324
* Implement MASM sections correctly, without a "has masm sections flag" and a ↵Chris Lattner2006-05-091-1/+3
| | | | | | bunch of special case code. llvm-svn: 28194
OpenPOWER on IntegriCloud