summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsTargetAsmInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-27/+0
| | | | llvm-svn: 79763
* Change TargetAsmInfo to be constructed via TargetRegistry from a Target+TripleChris Lattner2009-08-121-1/+1
| | | | | | | | pair instead of from a virtual method on TargetMachine. This cuts the final ties of TargetAsmInfo to TargetMachine, meaning that MC can now use TargetAsmInfo. llvm-svn: 78802
* now that JumpTableDirective can differentate picness itself, MIPS TAI Chris Lattner2009-08-111-2/+1
| | | | | | no longer needs a targetmachine to initialize itself. llvm-svn: 78710
* split "JumpTableDirective" (an existing hack) into a PIC and nonPICChris Lattner2009-08-111-3/+1
| | | | | | | | | | version. This allows TAI implementations to specify the directive to use based on the mode being codegen'd for. The real fix for this is to remove JumpTableDirective, but I don't feel like diving into the jumptable snarl just now. llvm-svn: 78709
* Remove -disable-mips-abicall and -enable-mips-absolute-call command-line Eli Friedman2009-08-031-3/+1
| | | | | | | | | | | | | options, which don't appear to be useful. -enable-mips-absolute-call is completely unused (and unless I'm mistaken, is supposed to have the same effect that -relocation-model=dynamic-no-pic should have), and -disable-mips-abicall appears to be effectively a synonym for -relocation-model=static. Adjust the few users of hasABICall to checks which seem more appropriate. Update MipsSubtarget, MipsTargetMachine, and MipselTargetMachine to synchronize with recent changes. llvm-svn: 77938
* remove TargetAsmInfo::TM, which is now dead. The basic TAI class now Chris Lattner2009-08-021-3/+1
| | | | | | no longer depends on TM! llvm-svn: 77863
* .rdata == .rodata on mips.Chris Lattner2009-08-011-1/+0
| | | | llvm-svn: 77827
* REmove dead fields of TAI.Chris Lattner2009-08-011-2/+0
| | | | llvm-svn: 77820
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-2/+0
| | | | | | | | | | | | | | | | | | | | it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. llvm-svn: 77294
* Eliminate getNamed/getUnnamedSection, adding a new and unified ↵Chris Lattner2009-07-271-1/+1
| | | | | | | | getOrCreateSection instead. llvm-svn: 77186
* Eliminate SectionFlags, just embed a SectionKind into SectionChris Lattner2009-07-271-2/+1
| | | | | | instead and drive things based off of that. llvm-svn: 77184
* untangle a TargetAsmInfo hack where ELFTargetAsmInfo would create aChris Lattner2009-07-261-2/+3
| | | | | | | | | 'unnamed' bss section, but some impls would want a named one. Since they don't have consistent behavior, just make each target do their own thing, instead of doing something "sortof common" then having targets change immutable objects later. llvm-svn: 77165
* remove more bits of small section support.Chris Lattner2009-07-241-9/+4
| | | | llvm-svn: 76937
* Remove SectionKind::Small*. This was only used on mips, and is apparentlyChris Lattner2009-07-241-48/+2
| | | | | | a sad mistake that is regretted. :) llvm-svn: 76935
* remove SectionFlags::Small: it is only used on Xcore, and we'll findChris Lattner2009-07-221-8/+0
| | | | | | a better solution for it in the future. llvm-svn: 76818
* Rename PaddedSize to AllocSize, in the hope that thisDuncan Sands2009-05-091-1/+1
| | | | | | | will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349
* Introduce new linkage types linkonce_odr, weak_odr, common_odrDuncan Sands2009-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. llvm-svn: 66339
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-121-1/+1
| | | | | | suggested by Chris. llvm-svn: 62099
* Refactor various TargetAsmInfo subclasses' TargetMachine members awayDan Gohman2008-11-031-1/+1
| | | | | | adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
* Rename isWeakForLinker to mayBeOverridden. Use itDuncan Sands2008-09-291-1/+1
| | | | | | | instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782
* Get rid of ReadOnlySection duplicateAnton Korobeynikov2008-09-241-3/+3
| | | | llvm-svn: 56582
* Get rid of now unused {Four,Eight,Sixteen}ByteConstantSectionAnton Korobeynikov2008-09-241-1/+0
| | | | llvm-svn: 56580
* Undo most of r54519.Evan Cheng2008-08-081-1/+1
| | | | 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-1/+1
| | | | | | PIC relative constantpool. llvm-svn: 54519
* Provide convenient helpersAnton Korobeynikov2008-08-071-2/+2
| | | | llvm-svn: 54451
* Trim #includes.Dan Gohman2008-08-051-0/+1
| | | | llvm-svn: 54350
* Removed small section flag for mips, the assembler doesnt support this flagBruno Cardoso Lopes2008-07-301-4/+12
| | | | llvm-svn: 54214
* Added floating point lowering for setcc and brcond.Bruno Cardoso Lopes2008-07-281-2/+1
| | | | | | | Fixed COMM asm directive usage. ConstantPool using custom FourByteConstantSection. llvm-svn: 54139
* Minor fixes.Bruno Cardoso Lopes2008-07-231-9/+12
| | | | | | Added ConstantPool support. llvm-svn: 53951
* simplified small section logic Bruno Cardoso Lopes2008-07-221-35/+19
| | | | llvm-svn: 53912
* Added small section asm emition logic for mips.Bruno Cardoso Lopes2008-07-221-0/+63
| | | | | | Fixed small bug. llvm-svn: 53908
* Added initial support for small sections on Mips.Bruno Cardoso Lopes2008-07-211-0/+1
| | | | | | | Added gp_rel relocations to support addressing small section contents. Added command line to specify small section threshold in bytes. llvm-svn: 53869
* Switch MIPS to new ELFTargetAsmInfo. Add few FIXMEs.Anton Korobeynikov2008-07-191-2/+3
| | | | llvm-svn: 53790
* Fixed call stack alignment. Improved AsmPrinter alignment issues.Bruno Cardoso Lopes2008-07-151-1/+1
| | | | llvm-svn: 53585
* Added Subtarget support into RegisterInfoBruno Cardoso Lopes2008-07-141-11/+13
| | | | | | | | | | | | Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and -mno-shared). HasAbsoluteCall is not implemented but HasABICall is the default for o32 ABI. Now, both should help into a more accurate relocation types implementation. Added IsLinux is needed to choose between asm directives. Instruction name strings cleanup. AsmPrinter improved. llvm-svn: 53551
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Setting GlobalDirective in TargetAsmInfo by default rather thanGordon Henriksen2007-12-231-1/+0
| | | | | | | providing a misleading facility. It's used once in the MIPS backend and hardcoded as "\t.globl\t" everywhere else. llvm-svn: 45338
* Added JumpTable supportBruno Cardoso Lopes2007-11-121-3/+19
| | | | | | | Fixed some AsmPrinter issues Added GLOBAL_OFFSET_TABLE Node handle. llvm-svn: 44024
* Initial Mips support, here we go! =)Bruno Cardoso Lopes2007-06-061-0/+22
- Modifications from the last patch included (issues pointed by Evan Cheng are now fixed). - Added more MipsI instructions. - Added more patterns to match branch instructions. llvm-svn: 37461
OpenPOWER on IntegriCloud