summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert r78914, as it was breaking the build.Owen Anderson2009-08-133-15/+19
| | | | llvm-svn: 78916
* Move PIC16 AsmPrinter to PIC16/AsmPrinter directory.Sanjiv Gupta2009-08-137-19/+599
| | | | | | Remove CooperTargetMachine, as currently only one is supported. llvm-svn: 78914
* make PIC16 unique its own sections instead of having mcontext do it.Chris Lattner2009-08-133-10/+14
| | | | llvm-svn: 78871
* some compiler don't get string from TLOF.h implicitly or something.Chris Lattner2009-08-121-0/+1
| | | | llvm-svn: 78864
* This void is implicit in C++.Dan Gohman2009-08-122-2/+2
| | | | llvm-svn: 78848
* Change TargetAsmInfo to be constructed via TargetRegistry from a Target+TripleChris Lattner2009-08-125-10/+8
| | | | | | | | 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
* Add contexts to some of the MVT APIs. No functionality change yet, just the ↵Owen Anderson2009-08-121-3/+3
| | | | | | infrastructure work needed to get the contexts to where they need to be first. llvm-svn: 78759
* Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵Owen Anderson2009-08-112-190/+190
| | | | | | | | 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
* Fixed more problems caused by 78142.Sanjiv Gupta2009-08-112-2/+5
| | | | | | Passing of indirect arguments starts after return value on the callee's frame. llvm-svn: 78635
* Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵Owen Anderson2009-08-102-201/+201
| | | | | | own struct type. llvm-svn: 78610
* Do not rely on magic "llvm.dbg.*" global variable name to find debug info.Devang Patel2009-08-102-45/+48
| | | | | | PIC16 developers, please verify. llvm-svn: 78603
* Start moving TargetLowering away from using full MVTs and towards ↵Owen Anderson2009-08-102-2/+3
| | | | | | SimpleValueType, which will simplify the privatization of IntegerType in the future. llvm-svn: 78584
* fix some warnings for the MSVC build, by Yonggang Luo!Chris Lattner2009-08-101-1/+1
| | | | llvm-svn: 78571
* sink the 'name' and 'isdirective' state out of MCSection into its derived ↵Chris Lattner2009-08-084-53/+63
| | | | | | | | classes. This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
* 1. Make MCSection an abstract class.Chris Lattner2009-08-082-3/+8
| | | | | | | | | 2. Move section switch printing to MCSection virtual method which takes a TAI. This eliminates textual formatting stuff from TLOF. 3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and TLOFELF::AtIsCommentChar. llvm-svn: 78510
* add new PIC16Section class, this time hopefully not breaking the build :)Chris Lattner2009-08-083-2/+40
| | | | llvm-svn: 78505
* Revert r78501, it doesn't build.Daniel Dunbar2009-08-082-37/+1
| | | | | | | | --- Reverse-merging r78501 into '.': U lib/Target/PIC16/PIC16TargetObjectFile.cpp D lib/Target/PIC16/PIC16Section.h llvm-svn: 78503
* make PIC16 create its own custom MCSection.Chris Lattner2009-08-082-1/+37
| | | | llvm-svn: 78501
* give pic16 a target-specific section creation name tooChris Lattner2009-08-082-35/+33
| | | | llvm-svn: 78496
* sink getOrCreateSection down into all the object file implementations,Chris Lattner2009-08-082-0/+13
| | | | | | now that they create *all* the sections. llvm-svn: 78494
* 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
* Minor fixes to avoid using invalid debugloc.Sanjiv Gupta2009-08-071-5/+9
| | | | llvm-svn: 78383
* Simplify code and avoid allocations.Benjamin Kramer2009-08-071-10/+3
| | | | llvm-svn: 78382
* Run memsel inserter just before emit assembly to avoid tinkering by other ↵Sanjiv Gupta2009-08-072-2/+2
| | | | | | passes. llvm-svn: 78369
* Use DebugInfoFinderDevang Patel2009-08-061-15/+9
| | | | llvm-svn: 78334
* Fix several fixmes and clean up code by sinking *all* sectionChris Lattner2009-08-062-23/+19
| | | | | | | | | | | | | | | | | creation activity into the target-specific subclasses of TLOF. Before this, globals with explicit sections could be created by the base class. 1. make getOrCreateSection protected, add a new getExplicitSectionGlobal pure virtual method to assign sections to globals with a specified section. 2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific. 3. eliminate the getKindForNamedSection virtual method, which is now just a static method for ELF. 4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16. They are now all detangled and understandable, woo! :) llvm-svn: 78319
* go through PIC16TargetObjectFile to make sections instead of Chris Lattner2009-08-064-12/+26
| | | | | | creating them directly in the pic16 asmprinter. llvm-svn: 78317
* Fix a bug in the PIC16 backend.Dan Gohman2009-08-051-1/+1
| | | | llvm-svn: 78211
* Major calling convention code refactoring.Dan Gohman2009-08-053-181/+128
| | | | | | | | | | | | | | | | | | | 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
* Legalize i64 store operations generated by inst-combine.Sanjiv Gupta2009-08-041-2/+20
| | | | llvm-svn: 78082
* Avoid compiler warning (in -Asserts mode)Daniel Dunbar2009-08-041-2/+2
| | | | llvm-svn: 78070
* Move most targets TargetMachine constructor to only taking a target triple.Daniel Dunbar2009-08-022-8/+8
| | | | | | - 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
* PIC16 TAI doesn't need TMChris Lattner2009-08-023-12/+7
| | | | llvm-svn: 77867
* 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
* Fix a possible crash on delete of an uninitialized variable.Daniel Dunbar2009-08-022-1/+7
| | | | llvm-svn: 77846
* Don't call SectionForGlobal for hasAvailableExternallyLinkage()Dan Gohman2009-08-021-1/+1
| | | | | | variables either. llvm-svn: 77844
* don't call SectionForGlobal on declarations, you can't tell the section aChris Lattner2009-08-021-1/+3
| | | | | | declaration will end up in. llvm-svn: 77843
* Make SectionKind::get() private.Chris Lattner2009-08-022-14/+14
| | | | llvm-svn: 77835
* fix a fixme by sinking various target-specific directives down into Chris Lattner2009-08-011-2/+2
| | | | | | the appropriate subclasses. llvm-svn: 77815
* it turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/Chris Lattner2009-08-012-6/+6
| | | | llvm-svn: 77812
* Change SectionKind to be a property that is true of a *section*, itChris Lattner2009-08-013-20/+23
| | | | | | | | | | | | | | | | | | 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-314-63/+62
| | | | | | MCSection subclasses yet, but this is a step in the right direction. llvm-svn: 77708
* define target names for std libcalls.Sanjiv Gupta2009-07-312-12/+34
| | | | llvm-svn: 77667
* Keep track of references to mem(cpy,move,set) and then print only one externSanjiv Gupta2009-07-302-2/+41
| | | | | | declaration for them. llvm-svn: 77578
* Move types back to the 2.5 API.Owen Anderson2009-07-291-2/+2
| | | | llvm-svn: 77516
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-293-7/+12
| | | | | | No functionality change. llvm-svn: 77432
* fix a casting problem on the llvm-x86_64-linux testerChris Lattner2009-07-281-1/+1
| | | | llvm-svn: 77295
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-288-483/+551
| | | | | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud