Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add the ability to lower return instructions to TargetLowering. This | Nate Begeman | 2005-10-18 | 1 | -2/+7 |
| | | | | | | | allows us to lower legal return types to something else, to meet ABI requirements (such as that i64 be returned in two i32 regs on Darwin/ppc). llvm-svn: 23802 | ||||
* | Fix Generic/2005-10-18-ZeroSizeStackObject.ll by not requesting a zero | Chris Lattner | 2005-10-18 | 1 | -0/+1 |
| | | | | | | sized stack object if either the array size or the type size is zero. llvm-svn: 23801 | ||||
* | remove hack | Chris Lattner | 2005-10-18 | 1 | -3/+1 |
| | | | | llvm-svn: 23797 | ||||
* | Enable Nate's excellent DAG combiner work by default. This allows the | Chris Lattner | 2005-10-10 | 1 | -16/+4 |
| | | | | | | removal of a bunch of ad-hoc and crufty code from SelectionDAG.cpp. llvm-svn: 23682 | ||||
* | make sure that -view-isel-dags is the input to the isel, not the input to | Chris Lattner | 2005-10-05 | 1 | -2/+2 |
| | | | | | | the second phase of dag combining llvm-svn: 23631 | ||||
* | Fix VC++ warnings. | Jeff Cohen | 2005-10-01 | 1 | -4/+4 |
| | | | | llvm-svn: 23579 | ||||
* | Add FP versions of the binary operators, keeping the int and fp worlds seperate. | Chris Lattner | 2005-09-28 | 1 | -12/+35 |
| | | | | | | | | Though I have done extensive testing, it is possible that this will break things in configs I can't test. Please let me know if this causes a problem and I'll fix it ASAP. llvm-svn: 23504 | ||||
* | If the target prefers it, use _setjmp/_longjmp should be used instead of ↵ | Chris Lattner | 2005-09-27 | 1 | -2/+6 |
| | | | | | | setjmp/longjmp for llvm.setjmp/llvm.longjmp. llvm-svn: 23481 | ||||
* | If a function has liveins, and if the target requested that they be plopped | Chris Lattner | 2005-09-13 | 1 | -0/+15 |
| | | | | | | into particular vregs, emit copies into the entry MBB. llvm-svn: 23331 | ||||
* | Add an option to the DAG Combiner to enable it for beta runs, and turn on | Nate Begeman | 2005-09-07 | 1 | -0/+19 |
| | | | | | | that option for PowerPC's beta. llvm-svn: 23253 | ||||
* | Don't create zero sized stack objects even for array allocas with a zero | Chris Lattner | 2005-09-02 | 1 | -1/+2 |
| | | | | | | number of elements. llvm-svn: 23219 | ||||
* | Fix the release build, noticed by Eric van Riet Paap | Chris Lattner | 2005-09-02 | 1 | -1/+1 |
| | | | | llvm-svn: 23215 | ||||
* | For values that are live across basic blocks and need promotion, use ANY_EXTEND | Chris Lattner | 2005-09-02 | 1 | -10/+5 |
| | | | | | | | | instead of ZERO_EXTEND to eliminate extraneous extensions. This eliminates dead zero extensions on formal arguments and other cases on PPC, implementing the newly tightened up test/Regression/CodeGen/PowerPC/small-arguments.ll test. llvm-svn: 23205 | ||||
* | It is NDEBUG not _NDEBUG | Chris Lattner | 2005-09-01 | 1 | -1/+1 |
| | | | | llvm-svn: 23186 | ||||
* | Disable this code, which broke many tests last night | Chris Lattner | 2005-08-27 | 1 | -1/+1 |
| | | | | llvm-svn: 23114 | ||||
* | Don't copy regs that are only used in the entry block into a vreg. This | Chris Lattner | 2005-08-26 | 1 | -3/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes the code generated for: short %test(short %A) { %B = xor short %A, -32768 ret short %B } to: _test: xori r2, r3, 32768 xoris r2, r2, 65535 extsh r3, r2 blr instead of: _test: rlwinm r2, r3, 0, 16, 31 xori r2, r3, 32768 xoris r2, r2, 65535 extsh r3, r2 blr llvm-svn: 23109 | ||||
* | Call the InsertAtEndOfBasicBlock hook if the usesCustomDAGSchedInserter | Chris Lattner | 2005-08-26 | 1 | -0/+14 |
| | | | | | | flag is set on an instruction. llvm-svn: 23098 | ||||
* | Make -view-isel-dags show the dag before instruction selecting, in case | Chris Lattner | 2005-08-24 | 1 | -2/+2 |
| | | | | | | the target isel crashes due to unimplemented features like calls :) llvm-svn: 22997 | ||||
* | Fix a problem where constant expr shifts would not have their shift amount | Chris Lattner | 2005-08-22 | 1 | -5/+5 |
| | | | | | | promoted to the right type. This fixes: IA64/2005-08-22-LegalizerCrash.ll llvm-svn: 22969 | ||||
* | Enable critical edge splitting by default | Chris Lattner | 2005-08-18 | 1 | -16/+10 |
| | | | | llvm-svn: 22863 | ||||
* | Add a new beta option for critical edge splitting, to avoid a problem that | Chris Lattner | 2005-08-17 | 1 | -0/+23 |
| | | | | | | | | | Nate noticed in yacr2 (and I know occurs in other places as well). This is still rough, as the critical edge blocks are not intelligently placed but is added to get some idea to see if this improves performance. llvm-svn: 22825 | ||||
* | Fix a regression on X86, where FP values can be promoted too. | Chris Lattner | 2005-08-17 | 1 | -1/+4 |
| | | | | llvm-svn: 22822 | ||||
* | Eliminate the RegSDNode class, which 3 nodes (CopyFromReg/CopyToReg/ImplicitDef) | Chris Lattner | 2005-08-16 | 1 | -4/+43 |
| | | | | | | | | | | | | | | used to tack a register number onto the node. Instead of doing this, make a new node, RegisterSDNode, which is a leaf containing a register number. These three operations just become normal DAG nodes now, instead of requiring special handling. Note that with this change, it is no longer correct to make illegal CopyFromReg/CopyToReg nodes. The legalizer will not touch them, and this is bad, so don't do it. :) llvm-svn: 22806 | ||||
* | Eliminate the SetCCSDNode in favor of a CondCodeSDNode class. This pulls the | Chris Lattner | 2005-08-09 | 1 | -4/+4 |
| | | | | | | | | CC out of the SetCC operation, making SETCC a standard ternary operation and CC's a standard DAG leaf. This will make it possible for other node to use CC's as operands in the future... llvm-svn: 22728 | ||||
* | Eliminate all remaining tabs and trailing spaces. | Jeff Cohen | 2005-07-27 | 1 | -2/+2 |
| | | | | llvm-svn: 22523 | ||||
* | Remove unnecessary FP_EXTEND. This causes worse codegen for SSE. | Nate Begeman | 2005-07-19 | 1 | -3/+0 |
| | | | | llvm-svn: 22469 | ||||
* | Make several cleanups to Andrews varargs change: | Chris Lattner | 2005-07-05 | 1 | -22/+25 |
| | | | | | | | | | | 1. Pass Value*'s into lowering methods so that the proper pointers can be added to load/stores from the valist 2. Intrinsics that return void should only return a token chain, not a token chain/retval pair. 3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone. llvm-svn: 22338 | ||||
* | restore old srcValueNode behavior and try to to work around it | Andrew Lenharth | 2005-06-29 | 1 | -2/+2 |
| | | | | llvm-svn: 22315 | ||||
* | tracking the instructions causing loads and stores provides more information ↵ | Andrew Lenharth | 2005-06-29 | 1 | -2/+2 |
| | | | | | | than just the pointer being loaded or stored llvm-svn: 22311 | ||||
* | If we support structs as va_list, we must pass pointers to them to va_copy | Andrew Lenharth | 2005-06-22 | 1 | -4/+5 |
| | | | | | | See last commit for LangRef, this implements it on all targets. llvm-svn: 22273 | ||||
* | core changes for varargs | Andrew Lenharth | 2005-06-18 | 1 | -18/+12 |
| | | | | llvm-svn: 22254 | ||||
* | Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx | Chris Lattner | 2005-05-14 | 1 | -4/+10 |
| | | | | llvm-svn: 22026 | ||||
* | Eliminate special purpose hacks for dynamic_stack_alloc. | Chris Lattner | 2005-05-14 | 1 | -3/+8 |
| | | | | llvm-svn: 22015 | ||||
* | LowerOperation takes a dag | Chris Lattner | 2005-05-14 | 1 | -1/+1 |
| | | | | llvm-svn: 22004 | ||||
* | Align doubles on 8-byte boundaries if possible. | Chris Lattner | 2005-05-13 | 1 | -0/+9 |
| | | | | llvm-svn: 21993 | ||||
* | Add an isTailCall flag to LowerCallTo | Chris Lattner | 2005-05-13 | 1 | -3/+4 |
| | | | | llvm-svn: 21958 | ||||
* | Emit function entry code after lowering hte arguments. | Chris Lattner | 2005-05-13 | 1 | -2/+2 |
| | | | | llvm-svn: 21931 | ||||
* | Allow targets to emit code into the entry block of each function | Chris Lattner | 2005-05-13 | 1 | -0/+2 |
| | | | | llvm-svn: 21930 | ||||
* | Pass calling convention to use into lower call to | Chris Lattner | 2005-05-12 | 1 | -3/+4 |
| | | | | llvm-svn: 21900 | ||||
* | wrap long line | Chris Lattner | 2005-05-11 | 1 | -1/+2 |
| | | | | llvm-svn: 21870 | ||||
* | The semantics of cast X to bool are a comparison against zero, not a truncation! | Chris Lattner | 2005-05-09 | 1 | -0/+5 |
| | | | | llvm-svn: 21833 | ||||
* | Add support for matching the READPORT, WRITEPORT, READIO, WRITEIO intrinsics | Chris Lattner | 2005-05-09 | 1 | -14/+28 |
| | | | | llvm-svn: 21825 | ||||
* | Don't use the load/store instruction as the source pointer, use the pointer | Chris Lattner | 2005-05-09 | 1 | -2/+2 |
| | | | | | | being stored/loaded through! llvm-svn: 21806 | ||||
* | wrap long lines | Chris Lattner | 2005-05-09 | 1 | -2/+4 |
| | | | | llvm-svn: 21804 | ||||
* | When hitting an unsupported intrinsic, actually print it | Chris Lattner | 2005-05-05 | 1 | -0/+10 |
| | | | | | | Lower debug info to noops. llvm-svn: 21698 | ||||
* | Implement count leading zeros (ctlz), count trailing zeros (cttz), and count | Andrew Lenharth | 2005-05-03 | 1 | -0/+15 |
| | | | | | | | | | population (ctpop). Generic lowering is implemented, however only promotion is implemented for SelectionDAG at the moment. More coming soon. llvm-svn: 21676 | ||||
* | Codegen and legalize sin/cos/llvm.sqrt as FSIN/FCOS/FSQRT calls. This patch | Chris Lattner | 2005-04-30 | 1 | -0/+25 |
| | | | | | | | was contributed by Morten Ofstad, with some minor tweaks and bug fixes added by me. llvm-svn: 21636 | ||||
* | Implement Value* tracking for loads and stores in the selection DAG. This ↵ | Andrew Lenharth | 2005-04-27 | 1 | -2/+3 |
| | | | | | | | | enables one to use alias analysis in the backends. (TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*. Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null. llvm-svn: 21599 | ||||
* | Convert tabs to spaces | Misha Brukman | 2005-04-22 | 1 | -5/+4 |
| | | | | llvm-svn: 21439 | ||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -28/+28 |
| | | | | llvm-svn: 21420 |