summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PIC16
Commit message (Collapse)AuthorAgeFilesLines
* Add a DebugLoc argument to TargetInstrInfo::copyRegToReg, so that itDan Gohman2010-05-062-4/+4
| | | | | | doesn't have to guess. llvm-svn: 103194
* Add argument TargetRegisterInfo to loadRegFromStackSlot and storeRegToStackSlot.Evan Cheng2010-05-062-4/+8
| | | | llvm-svn: 103193
* fix some inconsistent line endings, patch by Jakub Staszak!Chris Lattner2010-05-011-7/+7
| | | | llvm-svn: 102852
* Get rid of the EdgeMapping map. Instead, just check for BasicBlockDan Gohman2010-05-012-10/+5
| | | | | | changes before doing phi lowering for switches. llvm-svn: 102809
* Add const qualifiers to TargetLoweringObjectFile usage.Dan Gohman2010-04-173-5/+5
| | | | llvm-svn: 101640
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-178-98/+99
| | | | | | | | | | | | | 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
* Move per-function state out of TargetLowering subclasses and intoDan Gohman2010-04-175-36/+95
| | | | | | MachineFunctionInfo subclasses. llvm-svn: 101634
* Add skeleton target-specific SelectionDAGInfo files.Dan Gohman2010-04-163-0/+52
| | | | llvm-svn: 101564
* Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman2010-04-153-4/+4
| | | | llvm-svn: 101334
* Fix memory leaks for external symbol name strings.Sanjiv Gupta2010-04-073-20/+38
| | | | llvm-svn: 100601
* prune some #includes.Chris Lattner2010-04-051-2/+0
| | | | llvm-svn: 100399
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-044-31/+33
| | | | | | | | | | "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
* streamerize the rest of PIC16 asm printer.Chris Lattner2010-04-041-41/+63
| | | | llvm-svn: 100317
* change a ton of code to not implicitly use the "O" raw_ostreamChris Lattner2010-04-042-8/+8
| | | | | | member of AsmPrinter. Instead, pass it in explicitly. llvm-svn: 100306
* rename NewDebugLoc -> DebugLoc, prune #includes in DebugLoc.h.Chris Lattner2010-04-021-1/+1
| | | | | | | This keeps around temporary typedef for clang/llvm-gcc so the build won't break when I commit this :) llvm-svn: 100218
* use DebugLoc default ctor instead of DebugLoc::getUnknownLoc()Chris Lattner2010-04-021-4/+4
| | | | llvm-svn: 100214
* Switch the code generator (except the JIT) onto the new DebugLocChris Lattner2010-04-022-9/+5
| | | | | | | | | | | | | | | representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen. This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next. I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC. llvm-svn: 100209
* Teach AnalyzeBranch, RemoveBranch and the branchDale Johannesen2010-04-021-0/+5
| | | | | | | folder to be tolerant of debug info following the branch(es) at the end of a block. llvm-svn: 100168
* XFAIL some PIC16 tests when running under valgrind-leaks. I don't expect theseBenjamin Kramer2010-03-301-0/+2
| | | | | | to be fixed any time soon. llvm-svn: 99888
* PIC16: Plug a leak in PIC16Section by allocating name & address strings in theBenjamin Kramer2010-03-302-13/+20
| | | | | | MCContext. There is still one leak left in PIC16Section (the Items vector). llvm-svn: 99887
* PIC16: Simplify code by using a std::set<std::string> instead of a sorted & ↵Benjamin Kramer2010-03-202-20/+6
| | | | | | uniqued std::list of leaked char*. llvm-svn: 99061
* Initialize Size member to appease valgrind.Benjamin Kramer2010-03-171-1/+1
| | | | llvm-svn: 98763
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-131-1/+1
| | | | llvm-svn: 98451
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-132-6/+4
| | | | | | | | | | | 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
* Fix LLVM build when the user specifies CPPFLAGS on the make command line.Jeffrey Yasskin2010-03-121-1/+1
| | | | llvm-svn: 98394
* inline GetGlobalValueSymbol into the rest its callers andChris Lattner2010-03-121-6/+7
| | | | | | remove it. llvm-svn: 98390
* Change the Value argument to eliminateFrameIndex to a type-tagged value. ThisJim Grosbach2010-03-092-2/+2
| | | | | | | | | | is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g., whether the value is stack-pointer relative or frame-pointer relative). No functionality change. llvm-svn: 98086
* Avoid using DIDescriptor.isNull(). Devang Patel2010-03-081-1/+1
| | | | | | This is a first step towards eliminating checks in Descriptor constructors. llvm-svn: 97975
* Revert r97947.Devang Patel2010-03-081-1/+1
| | | | llvm-svn: 97963
* Avoid using DIDescriptor.isNull().Devang Patel2010-03-081-1/+1
| | | | | | This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers. llvm-svn: 97947
* Teach the pic16 target to recognize pic16-*-* triples.John McCall2010-03-041-1/+2
| | | | llvm-svn: 97691
* Sink InstructionSelect() out of each target into SDISel, and rename itChris Lattner2010-03-022-9/+0
| | | | | | | | | | | | DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader. Sink some other stuff out of DAGISelHeader into SDISel. Eliminate the various 'Indent' stuff from various targets, which dates to when isel was recursive. 17 files changed, 114 insertions(+), 430 deletions(-) llvm-svn: 97555
* Remove dead parameter passing.Bill Wendling2010-03-021-2/+1
| | | | llvm-svn: 97536
* The cloner has nothing to do if any of the main or ISR entrypoints are not Sanjiv Gupta2010-02-261-0/+3
| | | | | | present in the module. llvm-svn: 97232
* Reapply things reverted back in 97220, with the fixed test case.Sanjiv Gupta2010-02-264-18/+69
| | | | llvm-svn: 97228
* Revert r97211 and r97213 to get the build green again.Chandler Carruth2010-02-264-69/+16
| | | | llvm-svn: 97220
* Currently in LLVM, names of libcalls are assigned during TargetLoweringSanjiv Gupta2010-02-263-12/+51
| | | | | | | | object construction. There is no provision to change them when the code for a function generated. So we have to change these names while printing assembly. llvm-svn: 97213
* Before converting an operand to mem, check if it is legal to do so.Sanjiv Gupta2010-02-261-4/+18
| | | | llvm-svn: 97211
* Each field of auxiliary debug entry is only 1 byte long.Sanjiv Gupta2010-02-251-1/+1
| | | | llvm-svn: 97108
* remove dupes now.Chris Lattner2010-02-221-2/+0
| | | | llvm-svn: 96811
* move #includes earlier.Chris Lattner2010-02-222-2/+3
| | | | llvm-svn: 96810
* Remap the call sites of a shared function in interrupt line functions.Sanjiv Gupta2010-02-182-0/+27
| | | | llvm-svn: 96591
* Re-factoring.Sanjiv Gupta2010-02-182-67/+90
| | | | llvm-svn: 96589
* Added routine to clone the body of a function and maintain a map of alreadySanjiv Gupta2010-02-172-0/+45
| | | | | | cloned functions. llvm-svn: 96485
* Added a function to clone locals of a function.( which for pic16 are globalsSanjiv Gupta2010-02-172-1/+47
| | | | | | with mangled names). llvm-svn: 96465
* Removed header files from .h by adding forward decls.Sanjiv Gupta2010-02-172-22/+27
| | | | | | | Renamed PIC16FrameOverlay namespace to PIC16OVERLAY. Renamed PIC16FrameOverlay class to PIC16Overlay. llvm-svn: 96463
* Initial implementation of PIC16 Cloner pass.Sanjiv Gupta2010-02-172-0/+254
| | | | | | | | | | | | | This pass is supposed to be run on the linked .bc module. It traveses the module call graph twice. Once starting from the main function and marking each reached function as "ML". Again, starting from the ISR and cloning any reachable function that was marked as "ML". After cloning the function, it remaps all the call sites in IL functions to call the cloned functions. Currently only marking is being done. llvm-svn: 96435
* The code section for an ISR has a specific address.Sanjiv Gupta2010-02-164-4/+23
| | | | | | Currently, whether a function is ISR or not is encoded in the section attribute for that function. llvm-svn: 96322
* Split SelectionDAGISel::IsLegalAndProfitableToFold toEvan Cheng2010-02-151-2/+1
| | | | | | | | IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use. This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses. llvm-svn: 96255
* Remove an assumption of default arguments. This is in anticipation of aDavid Greene2010-02-151-2/+2
| | | | | | change to SelectionDAG build APIs. llvm-svn: 96235
OpenPOWER on IntegriCloud