summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/XCore
Commit message (Collapse)AuthorAgeFilesLines
...
* Get rid of the EdgeMapping map. Instead, just check for BasicBlockDan Gohman2010-05-012-9/+5
| | | | | | changes before doing phi lowering for switches. llvm-svn: 102809
* further simplify EmitAlignment by eliminating the Chris Lattner2010-04-281-1/+1
| | | | | | ForcedAlignBits argument, tweaking the single client of it. llvm-svn: 102484
* Implement -disable-non-leaf-fp-elim which disable frame pointer eliminationEvan Cheng2010-04-211-1/+1
| | | | | | | optimization for non-leaf functions. This will be hooked up to gcc's -momit-leaf-frame-pointer option. rdar://7886181 llvm-svn: 101984
* Use const qualifiers with TargetLowering. This eliminates severalDan Gohman2010-04-174-55/+57
| | | | | | | | | | | | | 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
* 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-152-5/+5
| | | | llvm-svn: 101334
* move elf section uniquing to MCContext. Along the wayChris Lattner2010-04-084-119/+26
| | | | | | merge XCore's section into MCSectionELF llvm-svn: 100812
* Use twines to simplify calls to report_fatal_error. For code size and ↵Benjamin Kramer2010-04-081-36/+13
| | | | | | readability. llvm-svn: 100756
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-072-8/+8
| | | | llvm-svn: 100709
* remove the MMI pointer from MachineFrameInfo.Chris Lattner2010-04-051-7/+3
| | | | llvm-svn: 100415
* simplify code.Chris Lattner2010-04-051-7/+4
| | | | llvm-svn: 100412
* implement EmitFunctionEntryLabel to emit the .cc_top directive,Chris Lattner2010-04-051-61/+7
| | | | | | | allowing xcore to use the normal runOnMachineFunction implementation. llvm-svn: 100402
* Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field.Jakob Stoklund Olesen2010-04-051-4/+1
| | | | | | | | | | | | | | | | | | | When a target instruction wants to set target-specific flags, it should simply set bits in the TSFlags bit vector defined in the Instruction TableGen class. This works well because TableGen resolves member references late: class I : Instruction { AddrMode AM = AddrModeNone; let TSFlags{3-0} = AM.Value; } let AM = AddrMode4 in def ADD : I; TSFlags gets the expected bits from AddrMode4 in this example. llvm-svn: 100384
* just have all targets create the DwarfWriter.Chris Lattner2010-04-051-5/+0
| | | | llvm-svn: 100377
* simplify various getAnalysisUsage implementations.Chris Lattner2010-04-051-2/+0
| | | | llvm-svn: 100376
* eliminate the magic AbsoluteDebugSectionOffsets MAI hook,Chris Lattner2010-04-041-1/+0
| | | | | | | | | which is really a property of the section being referenced. Add a predicate to MCSection to replace it. Yay for reduction in magic. llvm-svn: 100367
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-6/+3
| | | | | | | | | | "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
* mc'ize the remaining uses of O.Chris Lattner2010-04-041-13/+18
| | | | llvm-svn: 100322
* mcize a bunch more stuff, using EmitRawText for things weChris Lattner2010-04-041-21/+16
| | | | | | don't have mcstreamer support for yet. llvm-svn: 100319
* convert the non-MCInstPrinter'ized EmitInstruction Chris Lattner2010-04-041-2/+5
| | | | | | | implementations to use EmitRawText instead of writing directly to "O". llvm-svn: 100318
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-3/+4
| | | | | | raw_ostream to print to. llvm-svn: 100313
* change a ton of code to not implicitly use the "O" raw_ostreamChris Lattner2010-04-041-15/+16
| | | | | | member of AsmPrinter. Instead, pass it in explicitly. llvm-svn: 100306
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-041-1/+1
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100304
* use DebugLoc default ctor instead of DebugLoc::getUnknownLoc()Chris Lattner2010-04-022-7/+6
| | | | llvm-svn: 100214
* Revert r100191 since it breaks objc in clang Mon P Wang2010-04-021-1/+1
| | | | llvm-svn: 100199
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-021-1/+1
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100191
* Teach AnalyzeBranch, RemoveBranch and the branchDale Johannesen2010-04-021-1/+14
| | | | | | | folder to be tolerant of debug info following the branch(es) at the end of a block. llvm-svn: 100168
* Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.Bob Wilson2010-03-301-1/+1
| | | | llvm-svn: 99948
* Added support for address spaces and added a isVolatile field to memcpy, ↵Mon P Wang2010-03-301-1/+1
| | | | | | | | | memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
* fix a type contradition: XCoreISD::RETSP has one argument, not zero.Chris Lattner2010-03-281-1/+1
| | | | llvm-svn: 99760
* set SDNPVariadic on nodes throughout the rest of the targets thatChris Lattner2010-03-191-1/+2
| | | | | | need them. llvm-svn: 98937
* get MMI out of the label uniquing business, just go to MCContextChris Lattner2010-03-142-5/+5
| | | | | | to get unique assembler temporary labels. llvm-svn: 98489
* Now that DBG_LABEL is updated, we can finally make MachineMove Chris Lattner2010-03-143-28/+20
| | | | | | contain an MCSymbol instead of a label index. llvm-svn: 98482
* change the DBG_LABEL MachineInstr to always be createdChris Lattner2010-03-142-5/+10
| | | | | | with an MCSymbol instead of an immediate. llvm-svn: 98481
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-131-2/+2
| | | | llvm-svn: 98451
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-131-3/+2
| | | | | | | | | | | 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-2/+3
| | | | | | remove it. llvm-svn: 98390
* Remove dead code. (S|U)MUL_LO is now lowered to LMUL or MACC(S|U)Richard Osborne2010-03-111-23/+0
| | | | llvm-svn: 98269
* Add dag combine to simplify lmul(x, 0, a, b)Richard Osborne2010-03-111-0/+27
| | | | llvm-svn: 98258
* Switch XCore over to using inline jump table entries.Richard Osborne2010-03-112-0/+6
| | | | llvm-svn: 98256
* The backend now makes a reasonable job of targeting lmul / maccRichard Osborne2010-03-101-1/+0
| | | | llvm-svn: 98169
* Handle MVT::i64 type in DAG combine for ISD::ADD. Fold 64 bitRichard Osborne2010-03-101-2/+29
| | | | | | | expression add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if all operands are zero extended. llvm-svn: 98168
* Fix checking of intermediates having one use in isADDADDMULRichard Osborne2010-03-101-2/+3
| | | | llvm-svn: 98164
* Extract recognition of patterns such as add(add(mul(x,y),a),b)Richard Osborne2010-03-101-48/+66
| | | | | | into a seperate function. llvm-svn: 98162
* Fix thinko.Richard Osborne2010-03-102-5/+7
| | | | llvm-svn: 98158
* Fold add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if the intermediateRichard Osborne2010-03-101-0/+56
| | | | | | results are unused elsewhere. llvm-svn: 98157
* Prefer LMUL to MACCU as LMUL has no tied operands.Richard Osborne2010-03-103-3/+13
| | | | llvm-svn: 98153
* Custom lower (S|U)MUL_LOHI -> MACC(S|U)Richard Osborne2010-03-102-0/+40
| | | | llvm-svn: 98152
* Fix indentationRichard Osborne2010-03-101-1/+1
| | | | llvm-svn: 98151
OpenPOWER on IntegriCloud