summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MSP430
Commit message (Collapse)AuthorAgeFilesLines
...
* Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵Evan Cheng2009-09-182-2/+4
| | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
* Allow symbols to start from the digit if target requests it. This allows, ↵Anton Korobeynikov2009-09-181-0/+1
| | | | | | | | | e.g. pinning variables to specified absolute address. Make use of this feature for MSP430. This unbreaks PR4776. llvm-svn: 82227
* remove all but one reference to TargetRegisterDesc::AsmName.Chris Lattner2009-09-131-3/+1
| | | | llvm-svn: 81714
* the tblgen produced 'getRegisterName' method does not accessChris Lattner2009-09-131-1/+1
| | | | | | the object, make it static instead of const. llvm-svn: 81711
* make tblgen produce a function that returns the name for a physreg.Chris Lattner2009-09-131-0/+2
| | | | | | Nothing is using this info yet. llvm-svn: 81707
* replace printBasicBlockLabel with EmitBasicBlockStart,Chris Lattner2009-09-131-1/+1
| | | | | | | now that printBasicBlockLabel is only used for starting a MBB. This allows elimination of a bunch of arguments. llvm-svn: 81684
* convert some uses of printBasicBlockLabel to use GetMBBSymbolChris Lattner2009-09-131-1/+2
| | | | | | instead. llvm-svn: 81677
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-091-0/+6
| | | | | | | | | | | | | the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. llvm-svn: 81396
* Remove some unused variables and methods warned about byDuncan Sands2009-09-061-1/+0
| | | | | | icc (#177, partial). Patch by Erick Tryzelaar. llvm-svn: 81106
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-022-12/+12
| | | | llvm-svn: 80773
* Normalize makefile comments and sort cmake file lists.Benjamin Kramer2009-08-312-4/+4
| | | | llvm-svn: 80584
* Add dummy inline asm handling for 'r' constraint. This fixes PR4778Anton Korobeynikov2009-08-263-0/+59
| | | | llvm-svn: 80085
* Provide dynamic_stackalloc lowering for MSP430.Anton Korobeynikov2009-08-252-1/+12
| | | | | | This fixes PR4769 llvm-svn: 80001
* Fix some refactos for iostream changes (in -Asserts mode).Daniel Dunbar2009-08-231-4/+4
| | | | | | - The world needs better C++ refactoring tools, can I get an Amen!? llvm-svn: 79843
* eliminate uses of cerr()Chris Lattner2009-08-231-2/+3
| | | | llvm-svn: 79834
* eliminate the last DOUTs from the targets.Chris Lattner2009-08-231-19/+9
| | | | llvm-svn: 79833
* Forgot to update some CMakeLists.Benjamin Kramer2009-08-221-1/+1
| | | | llvm-svn: 79780
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-4/+4
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-224-14/+14
| | | | llvm-svn: 79763
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-1/+2
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Cleanup the mess in msp430 target registration and hopefully unbreak the buildAnton Korobeynikov2009-08-142-5/+10
| | | | llvm-svn: 79024
* Hopefully unbreak cmake buildsAnton Korobeynikov2009-08-141-3/+2
| | | | llvm-svn: 79015
* Give MSP430 a separate asmprinter libAnton Korobeynikov2009-08-144-2/+23
| | | | llvm-svn: 79012
* Change TargetAsmInfo to be constructed via TargetRegistry from a Target+TripleChris Lattner2009-08-125-9/+6
| | | | | | | | 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-112-93/+93
| | | | | | | | 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
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-102-93/+93
| | | | | | own struct type. llvm-svn: 78610
* 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-4/+1
| | | | llvm-svn: 78444
* Special constants as destinations does not work as expected - drop the patterns.Anton Korobeynikov2009-08-051-53/+0
| | | | llvm-svn: 78191
* Major calling convention code refactoring.Dan Gohman2009-08-052-91/+124
| | | | | | | | | | | | | | | | | | | 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
* Don't flush the raw_ostream between each MachineFunction. These flushDan Gohman2009-08-051-2/+0
| | | | | | | | | | | calls were originally put in place because errs() at one time was not unbuffered, and these print routines are commonly used with errs() for debugging. However, errs() is now properly unbuffered, so the flush calls are no longer needed. This significantly reduces the number of write(2) calls for regular asm printing when there are many small functions. llvm-svn: 78137
* 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-9/+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
* MSP430 TAI doesn't need TM.Chris Lattner2009-08-023-4/+3
| | | | llvm-svn: 77871
* remove TargetAsmInfo::TM, which is now dead. The basic TAI class now Chris Lattner2009-08-022-4/+4
| | | | | | no longer depends on TM! llvm-svn: 77863
* Give getPointerRegClass() a "kind" value so that targets can Chris Lattner2009-07-292-5/+5
| | | | | | support multiple different pointer register classes. llvm-svn: 77501
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-291-1/+1
| | | | | | No functionality change. llvm-svn: 77432
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-283-4/+5
| | | | | | | | | | | | | | | | | | | | 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-262-9/+5
| | | | | | | | | '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
* Factor commonality in triple match routines into helper template for registeringDaniel Dunbar2009-07-261-12/+2
| | | | | | classes, and migrate existing targets over. llvm-svn: 77126
* Kill Target specific ModuleMatchQuality stuff.Daniel Dunbar2009-07-261-13/+1
| | | | | | - This was overkill and inconsistently implemented. llvm-svn: 77114
* Simplify JIT target selection.Daniel Dunbar2009-07-251-6/+1
| | | | | | | | | | - 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-27/+8
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-4/+4
| | | | llvm-svn: 76702
* make AsmPrinter::doFinalization iterate over the global variablesChris Lattner2009-07-211-0/+4
| | | | | | | and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
* fix Sparc, SystemZ, and MSP430 to not override AsmPrinter::doInitialization.Chris Lattner2009-07-211-7/+0
| | | | | | | This eliminates redundancy setting up the mangler and adds support to them for module-level inline asm and a .file directive. llvm-svn: 76592
* Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match theChris Lattner2009-07-211-1/+1
| | | | | | LLVM IR concept. llvm-svn: 76590
OpenPOWER on IntegriCloud