summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Undo most of r54519.Evan Cheng2008-08-081-3/+2
| | | | llvm-svn: 54534
* It's not legal to output a GV in a coalesced section if it's used in an ARM ↵Evan Cheng2008-08-081-9/+23
| | | | | | PIC relative constantpool. llvm-svn: 54519
* Switch ARM to new section handling stuffAnton Korobeynikov2008-08-071-152/+113
| | | | llvm-svn: 54458
* Emit debug info for data-only files. ARM version.Dale Johannesen2008-07-091-3/+8
| | | | llvm-svn: 53360
* Back out 53254. It broke ppc debug info codegen.Evan Cheng2008-07-091-8/+3
| | | | llvm-svn: 53280
* Make debug info come out in data-only files.Dale Johannesen2008-07-081-3/+8
| | | | | | | | | | | 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. llvm-svn: 53254
* Minor const-correctness fixes.Dan Gohman2008-07-071-1/+1
| | | | llvm-svn: 53196
* Handle quoted names when constructing $stub's,Dale Johannesen2008-05-191-14/+27
| | | | | | $non_lazy_ptr's and $lazy_ptr's. llvm-svn: 51277
* Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to ↵Evan Cheng2008-02-281-3/+3
| | | | | | 16-byte boundaries. llvm-svn: 47703
* Change "Name" to "AsmName" in the target register info. Gee, a refactoring toolBill Wendling2008-02-261-17/+17
| | | | | | would have been a Godsend here! llvm-svn: 47625
* Handle \n's in value names for more targets. The asm printers Chris Lattner2008-02-151-3/+15
| | | | | | really really really need refactoring :( llvm-svn: 47171
* __DATA not __DATA__ is the right segment name on darwin.Dale Johannesen2008-02-121-1/+1
| | | | | | Spotted by Nick Kledzik. llvm-svn: 47037
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-6/+6
| | | | llvm-svn: 46930
* Get rid of the annoying blank lines before labels.Evan Cheng2008-02-021-1/+0
| | | | llvm-svn: 46667
* If the function has no machine instructions, then emit a "nop" so thatBill Wendling2008-01-281-0/+10
| | | | | | the function label isn't associated with something it shouldn't be. llvm-svn: 46449
* Honor explicit section information on Darwin.Dale Johannesen2008-01-231-0/+4
| | | | llvm-svn: 46267
* Revert the part of 45849 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: 46147
* Weak zeroes don't go in bss on Darwin.Dale Johannesen2008-01-111-3/+4
| | | | llvm-svn: 45849
* Add new shorter predicates for testing machine operands for various types: Chris Lattner2007-12-301-5/+5
| | | | | | | | | | | | 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-13/+13
| | | | | | Likewise setImmedValue -> setImm llvm-svn: 45453
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+1
| | | | llvm-svn: 45418
* Much improved pic jumptable codegen:Evan Cheng2007-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [ARM] Fix code generation for:Lauro Ramos Venancio2007-11-051-1/+1
| | | | | | | | | static __thread struct { int a; int b; } teste = {0, 0}; llvm-svn: 43722
* Eliminate the remaining uses of getTypeSize. ThisDuncan Sands2007-11-051-1/+1
| | | | | | | | | | | | | | 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. llvm-svn: 43688
* Revert 42908 for now.Evan Cheng2007-10-141-13/+12
| | | | llvm-svn: 42960
* Change the names used for internal labels to use the currentDan Gohman2007-10-121-12/+13
| | | | | | | | | 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-1/+1
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* AsmPrinters overriding getAnalysisUsage should call super.Gordon Henriksen2007-09-301-0/+1
| | | | | | And not super's super, either. llvm-svn: 42482
* Honor user-defined section specification of a global, ignores whether its ↵Evan Cheng2007-09-211-4/+3
| | | | | | initializer is null. llvm-svn: 42182
* Don't ignore the return value of AsmPrinter::doInitialization andDan Gohman2007-07-251-4/+3
| | | | | | AsmPrinter::doFinalization. llvm-svn: 40487
* Print the s bit if the instruction is toggled to its CPSR setting form.Evan Cheng2007-07-061-0/+9
| | | | llvm-svn: 37932
* Quote complex names for Darwin X86 and ARM.Dale Johannesen2007-06-221-1/+7
| | | | llvm-svn: 37700
* Print predicate of the second instruction of the two-piece constant MI.Evan Cheng2007-06-051-1/+3
| | | | llvm-svn: 37437
* PIC label asm printing cosmetic changes.Evan Cheng2007-06-051-0/+9
| | | | llvm-svn: 37434
* Fix the asmprinter so that a globalvalue can specify an explicit alignmentChris Lattner2007-05-311-1/+1
| | | | | | | | 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. llvm-svn: 37373
* Add PredicateOperand to all ARM instructions that have the condition field.Evan Cheng2007-05-151-2/+3
| | | | llvm-svn: 37066
* Switch BCC, MOVCCr, etc. to PredicateOperand.Evan Cheng2007-05-081-2/+2
| | | | llvm-svn: 36948
* Should never see an indexed load / store with zero offset.Evan Cheng2007-05-031-5/+7
| | | | llvm-svn: 36714
* Debug support for arm-linux.Lauro Ramos Venancio2007-05-031-15/+10
| | | | | | Patch by Raul Herbster. llvm-svn: 36690
* add support for printing offset from globalChris Lattner2007-05-031-0/+6
| | | | llvm-svn: 36669
* Enable protected visibility on ARM.Lauro Ramos Venancio2007-04-301-4/+15
| | | | llvm-svn: 36583
* ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.Lauro Ramos Venancio2007-04-271-4/+12
| | | | llvm-svn: 36506
* remember to emit weak reference in one more case.Lauro Ramos Venancio2007-04-251-1/+6
| | | | llvm-svn: 36438
* add Align field, and use when generating function alignmentDale Johannesen2007-04-231-1/+1
| | | | llvm-svn: 36371
* Implement PIC for arm-linux.Lauro Ramos Venancio2007-04-221-1/+7
| | | | llvm-svn: 36324
* Implement inline asm modifier P.Evan Cheng2007-04-041-0/+1
| | | | llvm-svn: 35640
* Add support for hidden visibility to darwin/arm.Evan Cheng2007-03-291-0/+4
| | | | llvm-svn: 35448
* Make two piece constant generation as a single instruction. It's ↵Evan Cheng2007-03-201-8/+29
| | | | | | re-materialized as a load from constantpool. llvm-svn: 35207
* Implement inline asm modifier c.Evan Cheng2007-03-081-0/+3
| | | | llvm-svn: 35035
* Putting more constants which do not contain relocations into .literal{4|8|16}Evan Cheng2007-03-081-5/+6
| | | | llvm-svn: 35026
OpenPOWER on IntegriCloud