summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Alpha
Commit message (Collapse)AuthorAgeFilesLines
...
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-2/+4
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Delete an unused field.Dan Gohman2009-08-161-3/+0
| | | | llvm-svn: 79206
* Simplify a few more things, eliminating a few more dependencies onDan Gohman2009-08-151-2/+0
| | | | | | "the current basic block". llvm-svn: 79069
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-1/+2
| | | | llvm-svn: 78948
* Change TargetAsmInfo to be constructed via TargetRegistry from a Target+TripleChris Lattner2009-08-124-10/+5
| | | | | | | | 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
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-113-189/+189
| | | | | | | | while the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
* pass the TargetTriple down from each target ctor to theChris Lattner2009-08-111-1/+1
| | | | | | LLVMTargetMachine ctor. It is currently unused. llvm-svn: 78711
* split "JumpTableDirective" (an existing hack) into a PIC and nonPICChris Lattner2009-08-111-1/+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
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-103-195/+195
| | | | | | own struct type. llvm-svn: 78610
* Start moving TargetLowering away from using full MVTs and towards ↵Owen Anderson2009-08-102-2/+2
| | | | | | SimpleValueType, which will simplify the privatization of IntegerType in the future. llvm-svn: 78584
* Use abs64 instead abs; some platforms don't have a 64-bit abs overload. ↵Benjamin Kramer2009-08-091-1/+1
| | | | | | Noticed by Yonggang Luo! llvm-svn: 78543
* move this fp select into a patternAndrew Lenharth2009-08-082-22/+9
| | | | llvm-svn: 78464
* make printInstruction return void since its result is omitted. Make the Chris Lattner2009-08-081-1/+1
| | | | | | error condition get trapped with an assert. llvm-svn: 78449
* don't check the result of printInstruction anymore.Chris Lattner2009-08-081-3/+1
| | | | llvm-svn: 78444
* avoid this libcall with long inline expansionAndrew Lenharth2009-08-071-1/+30
| | | | llvm-svn: 78420
* These should be expandedAndrew Lenharth2009-08-071-0/+3
| | | | llvm-svn: 78365
* Use elf Object File directlyAndrew Lenharth2009-08-051-18/+1
| | | | llvm-svn: 78220
* Remove dead code. MDNode and MDString are not Constant anymore.Devang Patel2009-08-051-3/+0
| | | | llvm-svn: 78207
* Alpha: Get section directives rightAndrew Lenharth2009-08-051-3/+3
| | | | llvm-svn: 78189
* Major calling convention code refactoring.Dan Gohman2009-08-052-85/+93
| | | | | | | | | | | | | | | | | | | Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. llvm-svn: 78142
* Move most targets TargetMachine constructor to only taking a target triple.Daniel Dunbar2009-08-022-4/+4
| | | | | | - The C, C++, MSIL, and Mips backends still need the module. llvm-svn: 77927
* Normalize Subtarget constructors to take a target triple string instead ofDaniel Dunbar2009-08-023-5/+4
| | | | | | | | | | Module*. Also, dropped uses of TargetMachine where unnecessary. The only target which still takes a TargetMachine& is Mips, I would appreciate it if someone would normalize this to match other targets. llvm-svn: 77918
* alpha TAI doesn't need TM.Chris Lattner2009-08-023-8/+3
| | | | llvm-svn: 77872
* remove TargetAsmInfo::TM, which is now dead. The basic TAI class now Chris Lattner2009-08-021-2/+1
| | | | | | no longer depends on TM! llvm-svn: 77863
* Make SectionKind::get() private.Chris Lattner2009-08-021-3/+3
| | | | llvm-svn: 77835
* give alpha its readonly section. This optimizes alpha, and prevents aChris Lattner2009-08-011-0/+2
| | | | | | testsuite regression with a coming patch. llvm-svn: 77832
* no need to override the default with the default.Chris Lattner2009-08-011-1/+0
| | | | llvm-svn: 77826
* Change SectionKind to be a property that is true of a *section*, itChris Lattner2009-08-011-2/+4
| | | | | | | | | | | | | | | | | | should have no state that is specific to particular globals in the section. In this case, it means the removal of the "isWeak" and "ExplicitSection" bits. MCSection uses the new form of SectionKind. To handle isWeak, I introduced a new SectionInfo class, which is SectionKind + isWeak, and it is used by the part of the code generator that does classification of a specific global. The ExplicitSection disappears. It is moved onto MCSection as a new "IsDirective" bit. Since the Name of a section is either a section or directive, it makes sense to keep this bit in MCSection. Ultimately the creator of MCSection should canonicalize (e.g.) .text to whatever the actual section is. llvm-svn: 77803
* switch off of 'Section' onto MCSection. We're not properly usingChris Lattner2009-07-311-2/+4
| | | | | | MCSection subclasses yet, but this is a step in the right direction. llvm-svn: 77708
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-291-2/+2
| | | | | | No functionality change. llvm-svn: 77432
* Rename MDNode.h header. It defines MDnode and other metadata classes.Devang Patel2009-07-281-1/+1
| | | | | | New name is Metadata.h. llvm-svn: 77370
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-283-6/+17
| | | | | | | | | | | | | | | | | | | | 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
* Apparently alpha doesn't use ElfTargetAsmInfo (?)Chris Lattner2009-07-271-0/+3
| | | | llvm-svn: 77202
* Factor commonality in triple match routines into helper template for registeringDaniel Dunbar2009-07-261-13/+2
| | | | | | classes, and migrate existing targets over. llvm-svn: 77126
* Kill Target specific ModuleMatchQuality stuff.Daniel Dunbar2009-07-261-19/+0
| | | | | | - This was overkill and inconsistently implemented. llvm-svn: 77114
* Simplify JIT target selection.Daniel Dunbar2009-07-251-10/+2
| | | | | | | | | | - Instead of requiring targets to define a JIT quality match function, we just have them specify if they support a JIT. - Target selection for the JIT just gets the host triple and looks for the best target which matches the triple and has a JIT. llvm-svn: 77060
* Add new helpers for registering targets.Daniel Dunbar2009-07-253-23/+6
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-1/+1
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Remove unused member functions.Eli Friedman2009-07-242-53/+0
| | | | llvm-svn: 76960
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-2/+2
| | | | llvm-svn: 76702
* alpha doesn't need to redefine this: it only supports PIC codegen anyway.Chris Lattner2009-07-212-7/+0
| | | | llvm-svn: 76682
* make AsmPrinter::doFinalization iterate over the global variablesChris Lattner2009-07-211-12/+3
| | | | | | | and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
* Add plumbing for the `linker_private' linkage type. This type is meant forBill Wendling2009-07-201-0/+2
| | | | | | | | | "private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
* Unbreak buildDaniel Dunbar2009-07-192-1/+2
| | | | llvm-svn: 76354
* Switch Alpha over to the new call lowering style. New code mostly Eli Friedman2009-07-195-159/+220
| | | | | | | | | | | | | copied from the SystemZ target. I don't think this causes any significant changes to the output (I compared the assembly, and the results appeared to be essentially unchanged), although I don't actually have an Alpha to test on. I would appreciate if anyone with the appropriate hardware could test this. I'm not sure if that includes anyone subscribed to llvm-commits, though. llvm-svn: 76353
* Add dependencies from TargetInfo onto .td generation.Daniel Dunbar2009-07-191-0/+1
| | | | | | | - Shouldn't really be necessary, but currently .inc files get included into some main target headers. llvm-svn: 76349
* Put Target definitions inside Target specific header, and llvm namespace.Daniel Dunbar2009-07-184-3/+4
| | | | llvm-svn: 76344
* r76102 added the MachineCodeEmitter::processDebugLoc call and called it fromJeffrey Yasskin2009-07-171-4/+1
| | | | | | | the X86 Emitter. This patch extends that to the rest of the targets that can write to a MachineCodeEmitter: ARM, Alpha, and PPC. llvm-svn: 76211
* Set an operation expansion, noticed while running Eli Friedman2009-07-171-0/+2
| | | | | | llc over test/CodeGen/Generic with -march=alpha. llvm-svn: 76154
* Lift addAssemblyEmitter into LLVMTargetMachine.Daniel Dunbar2009-07-152-13/+0
| | | | | | - No functionality change. llvm-svn: 75859
OpenPOWER on IntegriCloud