Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Get rid of the EdgeMapping map. Instead, just check for BasicBlock | Dan Gohman | 2010-05-01 | 2 | -9/+5 | |
| | | | | | | changes before doing phi lowering for switches. llvm-svn: 102809 | |||||
* | further simplify EmitAlignment by eliminating the | Chris Lattner | 2010-04-28 | 1 | -1/+1 | |
| | | | | | | ForcedAlignBits argument, tweaking the single client of it. llvm-svn: 102484 | |||||
* | Implement -disable-non-leaf-fp-elim which disable frame pointer elimination | Evan Cheng | 2010-04-21 | 1 | -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 several | Dan Gohman | 2010-04-17 | 4 | -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 Gohman | 2010-04-16 | 3 | -0/+52 | |
| | | | | llvm-svn: 101564 | |||||
* | Add const qualifiers to CodeGen's use of LLVM IR constructs. | Dan Gohman | 2010-04-15 | 2 | -5/+5 | |
| | | | | llvm-svn: 101334 | |||||
* | move elf section uniquing to MCContext. Along the way | Chris Lattner | 2010-04-08 | 4 | -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 Kramer | 2010-04-08 | 1 | -36/+13 | |
| | | | | | | readability. llvm-svn: 100756 | |||||
* | rename llvm::llvm_report_error -> llvm::report_fatal_error | Chris Lattner | 2010-04-07 | 2 | -8/+8 | |
| | | | | llvm-svn: 100709 | |||||
* | remove the MMI pointer from MachineFrameInfo. | Chris Lattner | 2010-04-05 | 1 | -7/+3 | |
| | | | | llvm-svn: 100415 | |||||
* | simplify code. | Chris Lattner | 2010-04-05 | 1 | -7/+4 | |
| | | | | llvm-svn: 100412 | |||||
* | implement EmitFunctionEntryLabel to emit the .cc_top directive, | Chris Lattner | 2010-04-05 | 1 | -61/+7 | |
| | | | | | | | allowing xcore to use the normal runOnMachineFunction implementation. llvm-svn: 100402 | |||||
* | Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. | Jakob Stoklund Olesen | 2010-04-05 | 1 | -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 Lattner | 2010-04-05 | 1 | -5/+0 | |
| | | | | llvm-svn: 100377 | |||||
* | simplify various getAnalysisUsage implementations. | Chris Lattner | 2010-04-05 | 1 | -2/+0 | |
| | | | | llvm-svn: 100376 | |||||
* | eliminate the magic AbsoluteDebugSectionOffsets MAI hook, | Chris Lattner | 2010-04-04 | 1 | -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 Lattner | 2010-04-04 | 1 | -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 Lattner | 2010-04-04 | 1 | -13/+18 | |
| | | | | llvm-svn: 100322 | |||||
* | mcize a bunch more stuff, using EmitRawText for things we | Chris Lattner | 2010-04-04 | 1 | -21/+16 | |
| | | | | | | don't have mcstreamer support for yet. llvm-svn: 100319 | |||||
* | convert the non-MCInstPrinter'ized EmitInstruction | Chris Lattner | 2010-04-04 | 1 | -2/+5 | |
| | | | | | | | implementations to use EmitRawText instead of writing directly to "O". llvm-svn: 100318 | |||||
* | fix PrintAsmOperand and PrintAsmMemoryOperand to pass down | Chris Lattner | 2010-04-04 | 1 | -3/+4 | |
| | | | | | | raw_ostream to print to. llvm-svn: 100313 | |||||
* | change a ton of code to not implicitly use the "O" raw_ostream | Chris Lattner | 2010-04-04 | 1 | -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 Wang | 2010-04-04 | 1 | -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 Lattner | 2010-04-02 | 2 | -7/+6 | |
| | | | | llvm-svn: 100214 | |||||
* | Revert r100191 since it breaks objc in clang | Mon P Wang | 2010-04-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 100199 | |||||
* | Reapply address space patch after fixing an issue in MemCopyOptimizer. | Mon P Wang | 2010-04-02 | 1 | -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 branch | Dale Johannesen | 2010-04-02 | 1 | -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 Wilson | 2010-03-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 99948 | |||||
* | Added support for address spaces and added a isVolatile field to memcpy, ↵ | Mon P Wang | 2010-03-30 | 1 | -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 Lattner | 2010-03-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 99760 | |||||
* | set SDNPVariadic on nodes throughout the rest of the targets that | Chris Lattner | 2010-03-19 | 1 | -1/+2 | |
| | | | | | | need them. llvm-svn: 98937 | |||||
* | get MMI out of the label uniquing business, just go to MCContext | Chris Lattner | 2010-03-14 | 2 | -5/+5 | |
| | | | | | | to get unique assembler temporary labels. llvm-svn: 98489 | |||||
* | Now that DBG_LABEL is updated, we can finally make MachineMove | Chris Lattner | 2010-03-14 | 3 | -28/+20 | |
| | | | | | | contain an MCSymbol instead of a label index. llvm-svn: 98482 | |||||
* | change the DBG_LABEL MachineInstr to always be created | Chris Lattner | 2010-03-14 | 2 | -5/+10 | |
| | | | | | | with an MCSymbol instead of an immediate. llvm-svn: 98481 | |||||
* | eliminate the now-unneeded context argument of MBB::getSymbol() | Chris Lattner | 2010-03-13 | 1 | -2/+2 | |
| | | | | llvm-svn: 98451 | |||||
* | rearrange MCContext ownership. Before LLVMTargetMachine created it | Chris Lattner | 2010-03-13 | 1 | -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 Yasskin | 2010-03-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 98394 | |||||
* | inline GetGlobalValueSymbol into the rest its callers and | Chris Lattner | 2010-03-12 | 1 | -2/+3 | |
| | | | | | | remove it. llvm-svn: 98390 | |||||
* | Remove dead code. (S|U)MUL_LO is now lowered to LMUL or MACC(S|U) | Richard Osborne | 2010-03-11 | 1 | -23/+0 | |
| | | | | llvm-svn: 98269 | |||||
* | Add dag combine to simplify lmul(x, 0, a, b) | Richard Osborne | 2010-03-11 | 1 | -0/+27 | |
| | | | | llvm-svn: 98258 | |||||
* | Switch XCore over to using inline jump table entries. | Richard Osborne | 2010-03-11 | 2 | -0/+6 | |
| | | | | llvm-svn: 98256 | |||||
* | The backend now makes a reasonable job of targeting lmul / macc | Richard Osborne | 2010-03-10 | 1 | -1/+0 | |
| | | | | llvm-svn: 98169 | |||||
* | Handle MVT::i64 type in DAG combine for ISD::ADD. Fold 64 bit | Richard Osborne | 2010-03-10 | 1 | -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 isADDADDMUL | Richard Osborne | 2010-03-10 | 1 | -2/+3 | |
| | | | | llvm-svn: 98164 | |||||
* | Extract recognition of patterns such as add(add(mul(x,y),a),b) | Richard Osborne | 2010-03-10 | 1 | -48/+66 | |
| | | | | | | into a seperate function. llvm-svn: 98162 | |||||
* | Fix thinko. | Richard Osborne | 2010-03-10 | 2 | -5/+7 | |
| | | | | llvm-svn: 98158 | |||||
* | Fold add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if the intermediate | Richard Osborne | 2010-03-10 | 1 | -0/+56 | |
| | | | | | | results are unused elsewhere. llvm-svn: 98157 | |||||
* | Prefer LMUL to MACCU as LMUL has no tied operands. | Richard Osborne | 2010-03-10 | 3 | -3/+13 | |
| | | | | llvm-svn: 98153 | |||||
* | Custom lower (S|U)MUL_LOHI -> MACC(S|U) | Richard Osborne | 2010-03-10 | 2 | -0/+40 | |
| | | | | llvm-svn: 98152 | |||||
* | Fix indentation | Richard Osborne | 2010-03-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 98151 |