summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
Commit message (Collapse)AuthorAgeFilesLines
* Per discussion with Sanjiv, remove the PIC16 target from mainline. When/ifChris Lattner2010-10-111-88/+0
| | | | | | | it comes back, it will be largely a rewrite, so keeping the old codebase in tree isn't helping anyone. llvm-svn: 116190
* I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename itDuncan Sands2010-05-111-1/+1
| | | | | | | to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is the opposite, for future use by dragonegg. llvm-svn: 103495
* Add const qualifiers to TargetLoweringObjectFile usage.Dan Gohman2010-04-171-3/+3
| | | | llvm-svn: 101640
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-171-1/+0
| | | | | | | | | | | | | const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-2/+1
| | | | | | | | | | "asm printering" happens through MCStreamer. This also Streamerizes PIC16 debug info, which escaped my attention. This removes a leak from LLVMTargetMachine of the 'legacy' output stream. llvm-svn: 100327
* change a ton of code to not implicitly use the "O" raw_ostreamChris Lattner2010-04-041-3/+3
| | | | | | member of AsmPrinter. Instead, pass it in explicitly. llvm-svn: 100306
* PIC16: Simplify code by using a std::set<std::string> instead of a sorted & ↵Benjamin Kramer2010-03-201-1/+2
| | | | | | uniqued std::list of leaked char*. llvm-svn: 99061
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-131-2/+1
| | | | | | | | | | | and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
* rename printMachineInstruction -> EmitInstructionChris Lattner2010-02-031-1/+1
| | | | llvm-svn: 95184
* refactor code so that LLVMTargetMachine creates the asmstreamer and Chris Lattner2010-02-021-1/+2
| | | | | | | mccontext instead of having AsmPrinter do it. This allows other types of MCStreamer's to be passed in. llvm-svn: 95155
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
* Reapply 85006 with a minor fix.Sanjiv Gupta2009-10-251-0/+1
| | | | llvm-svn: 85052
* Revert back 85006 for now as it breaks PIC16 tests.Sanjiv Gupta2009-10-241-1/+0
| | | | llvm-svn: 85008
* Adding support for placing global objects in shared data memory.Sanjiv Gupta2009-10-241-0/+1
| | | | llvm-svn: 85006
* Add a pass to overlay pic16 data sections for function frame and automaticSanjiv Gupta2009-10-211-0/+1
| | | | | | | | variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph to detect what function frames and their automatic variables can be overlaid. Currently this builds an archive , but needs to be changed to a loadable module. llvm-svn: 84753
* Cleaned up some code. No functionality change.Sanjiv Gupta2009-10-161-0/+3
| | | | llvm-svn: 84251
* Re-apply 84180 with the fixed test case.Sanjiv Gupta2009-10-151-2/+6
| | | | llvm-svn: 84195
* Revert "Complete Rewrite of AsmPrinter, TargetObjectFile based on newDaniel Dunbar2009-10-151-6/+2
| | | | | | PIC16Section class", it breaks globals.ll. llvm-svn: 84184
* Complete Rewrite of AsmPrinter, TargetObjectFile based on new PIC16Section classSanjiv Gupta2009-10-151-2/+6
| | | | | | derived from MCSection. llvm-svn: 84180
* 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
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-1/+1
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-4/+3
| | | | llvm-svn: 79763
* revert r79562 + r79563Chris Lattner2009-08-211-1/+0
| | | | llvm-svn: 79690
* revert 79631Chris Lattner2009-08-211-1/+1
| | | | llvm-svn: 79685
* Add a pass to do call graph analyis to overlay the autos and frame sections of Sanjiv Gupta2009-08-211-1/+1
| | | | | | | leaf functions. This pass will be extended to color other nodes of the call tree as well in future. llvm-svn: 79631
* Implement support for ISRs. Sanjiv Gupta2009-08-201-0/+1
| | | | | | | | | 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
* Move PIC16 AsmPrinter to PIC16/AsmPrinter directory.Sanjiv Gupta2009-08-131-0/+79
Remove CooperTargetMachine, as currently only one is supported. llvm-svn: 78914
OpenPOWER on IntegriCloud