summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16
Commit message (Collapse)AuthorAgeFilesLines
* revert 79631Chris Lattner2009-08-2110-197/+8
| | | | llvm-svn: 79685
* Fix a problem noticed by gcc-4.4:Duncan Sands2009-08-211-1/+1
| | | | | | warning: comparison is always true due to limited range of data type. llvm-svn: 79642
* Fix -Asserts warning.Daniel Dunbar2009-08-211-2/+2
| | | | llvm-svn: 79636
* Add a pass to do call graph analyis to overlay the autos and frame sections of Sanjiv Gupta2009-08-2110-8/+202
| | | | | | | leaf functions. This pass will be extended to color other nodes of the call tree as well in future. llvm-svn: 79631
* Remove #include <iostream>.Bill Wendling2009-08-211-1/+0
| | | | llvm-svn: 79603
* part of the previous commit for PIC16 ISR implementation.Sanjiv Gupta2009-08-202-0/+178
| | | | llvm-svn: 79563
* Implement support for ISRs. Sanjiv Gupta2009-08-2010-280/+528
| | | | | | | | | Clone functions that are shared between the Main thread and Interrupt thread. CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets. Also, cloing of automatic variables is done AsmPrinter, a better approach would be to use the ValueMap in CloneFunction itself. llvm-svn: 79562
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-7/+8
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Revert a few changes that were done in 78603.Sanjiv Gupta2009-08-152-14/+15
| | | | | | | | PIC16DebugInfo currently rely on NameStr of composite type descriptors to uniquely identify debug info for two aggregate type decls with same name. This implementation will change when we have MDNodes based debug info implemenatation in place llvm-svn: 79097
* update for rename.Chris Lattner2009-08-151-2/+2
| | | | llvm-svn: 79082
* rename PIC16Section.h -> MCSectionPIC16.h for consistency withChris Lattner2009-08-153-2/+2
| | | | | | the class it defines. llvm-svn: 79081
* Reapply pieces of 78914 reverted in 78916, this has been fixed.Daniel Dunbar2009-08-133-19/+15
| | | | llvm-svn: 78921
* Remove obsoleted files (from AsmPrinter move)Daniel Dunbar2009-08-133-566/+0
| | | | llvm-svn: 78917
* 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
OpenPOWER on IntegriCloud