| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | FastISel support for unreachable. | Dan Gohman | 2008-09-05 | 1 | -0/+4 |
| | | | | | llvm-svn: 55818 | ||||
| * | In FastISel mode, the scheduler may be invoked multiple times | Dan Gohman | 2008-09-05 | 1 | -1/+3 |
| | | | | | | | | in the same block. Fix the entry-block handling to only run at at the beginning of the entry block, and not any other times. llvm-svn: 55817 | ||||
| * | X86FastISel support for conditional branches. | Dan Gohman | 2008-09-05 | 1 | -1/+39 |
| | | | | | llvm-svn: 55816 | ||||
| * | Add initial support for selecting constant materializations that require ↵ | Owen Anderson | 2008-09-05 | 3 | -2/+96 |
| | | | | | | | | | constant pool loads on X86 in fast isel. This isn't actually used yet. llvm-svn: 55814 | ||||
| * | X86FastISel support for ICmpInst and FCmpInst. | Dan Gohman | 2008-09-04 | 1 | -0/+139 |
| | | | | | llvm-svn: 55811 | ||||
| * | update. | Devang Patel | 2008-09-04 | 1 | -1/+3 |
| | | | | | llvm-svn: 55809 | ||||
| * | Document function notes. | Devang Patel | 2008-09-04 | 1 | -1/+37 |
| | | | | | llvm-svn: 55808 | ||||
| * | For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing ↵ | Evan Cheng | 2008-09-04 | 7 | -16/+53 |
| | | | | | | | scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. llvm-svn: 55807 | ||||
| * | A loop may be unswitched multiple times. Reconstruct dom info. at the end. | Devang Patel | 2008-09-04 | 1 | -5/+8 |
| | | | | | llvm-svn: 55806 | ||||
| * | Adjust tests to expect new math intrinsics to be | Dale Johannesen | 2008-09-04 | 3 | -3/+9 |
| | | | | | | | emitted only when errno is not in use. llvm-svn: 55797 | ||||
| * | If function notes say optimize for size, then adjust alignment. | Devang Patel | 2008-09-04 | 2 | -0/+4 |
| | | | | | llvm-svn: 55794 | ||||
| * | Add an include of SmallSet.h. | Dan Gohman | 2008-09-04 | 1 | -0/+1 |
| | | | | | llvm-svn: 55793 | ||||
| * | Initialize loop data first. | Devang Patel | 2008-09-04 | 1 | -2/+1 |
| | | | | | llvm-svn: 55792 | ||||
| * | Neaten this up a bit. No functionality change. | Duncan Sands | 2008-09-04 | 1 | -15/+14 |
| | | | | | llvm-svn: 55789 | ||||
| * | Do not unswitch if the function notes say we're optimizing this function for ↵ | Devang Patel | 2008-09-04 | 1 | -1/+7 |
| | | | | | | | size. llvm-svn: 55786 | ||||
| * | try to seperate the mechanism into something others can use | Andrew Lenharth | 2008-09-04 | 1 | -20/+70 |
| | | | | | llvm-svn: 55785 | ||||
| * | Adjust libcalls tests to expect intrinsic for exp2 | Dale Johannesen | 2008-09-04 | 3 | -1/+28 |
| | | | | | llvm-svn: 55784 | ||||
| * | Add intrinsic forms of pow and exp2. The non-intrinsic | Dale Johannesen | 2008-09-04 | 1 | -0/+10 |
| | | | | | | | forms remain to handle older IR files, but will go away soon. llvm-svn: 55781 | ||||
| * | Tidy up several unbeseeming casts from pointer to intptr_t. | Dan Gohman | 2008-09-04 | 137 | -169/+170 |
| | | | | | llvm-svn: 55779 | ||||
| * | Fix the ordering of operands to the store (inverted relative to LLVM IR), ↵ | Owen Anderson | 2008-09-04 | 2 | -3/+5 |
| | | | | | | | and fix the testcase. llvm-svn: 55777 | ||||
| * | Clean up uses of TargetLowering::getTargetMachine. | Dan Gohman | 2008-09-04 | 5 | -8/+8 |
| | | | | | llvm-svn: 55769 | ||||
| * | cleanup as per Duncan's review | Andrew Lenharth | 2008-09-04 | 1 | -33/+42 |
| | | | | | llvm-svn: 55766 | ||||
| * | Add a first attempt at implementing stores for X86 fast isel using target hooks. | Owen Anderson | 2008-09-04 | 2 | -1/+89 |
| | | | | | | | Dan or Evan, please review. llvm-svn: 55764 | ||||
| * | Load from GV stub should be locally CSE'd. | Evan Cheng | 2008-09-04 | 3 | -8/+14 |
| | | | | | llvm-svn: 55763 | ||||
| * | Fix an overly strict assertion. Source register of a copy may not be killed, ↵ | Evan Cheng | 2008-09-04 | 1 | -1/+2 |
| | | | | | | | it may be killed by an implicit super-register use. llvm-svn: 55762 | ||||
| * | Remove code that pad number of bytes to pop for X86_FastCall CC. The code ↵ | Evan Cheng | 2008-09-04 | 2 | -16/+1 |
| | | | | | | | doesn't do the "aligning" for Cygwin, Mingw, and Windows. But aligning it on Darwin and Linux breaks gcc compatibility. That ruled out all the platforms we support! llvm-svn: 55756 | ||||
| * | Add intrinsics for log, log2, log10, exp, exp2. | Dale Johannesen | 2008-09-04 | 14 | -1/+438 |
| | | | | | | | No functional change (and no FE change to generate them). llvm-svn: 55753 | ||||
| * | Do trivial local CSE for constants and other non-Instruction values | Dan Gohman | 2008-09-03 | 2 | -12/+16 |
| | | | | | | | in FastISel. llvm-svn: 55748 | ||||
| * | Put RegsForValue in the llvm namespace to avoid warnings about | Dan Gohman | 2008-09-03 | 1 | -1/+1 |
| | | | | | | | | classes in the llvm namespace having members with types from anonymous namespaces. llvm-svn: 55747 | ||||
| * | Create HandlePHINodesInSuccessorBlocksFast, a version of | Dan Gohman | 2008-09-03 | 9 | -249/+294 |
| | | | | | | | | | | | | | | HandlePHINodesInSuccessorBlocks that works FastISel-style. This allows PHI nodes to be updated correctly while using FastISel. This also involves some code reorganization; ValueMap and MBBMap are now members of the FastISel class, so they needn't be passed around explicitly anymore. Also, SelectInstructions is changed to SelectInstruction, and only does one instruction at a time. llvm-svn: 55746 | ||||
| * | Update inline threshold for current function if the notes say, optimize for ↵ | Devang Patel | 2008-09-03 | 1 | -2/+9 |
| | | | | | | | size. llvm-svn: 55745 | ||||
| * | Fix a bug that prevented PRE from applying in some cases. | Owen Anderson | 2008-09-03 | 1 | -3/+5 |
| | | | | | llvm-svn: 55744 | ||||
| * | Avoid extra comma. | Devang Patel | 2008-09-03 | 1 | -3/+4 |
| | | | | | llvm-svn: 55742 | ||||
| * | Parse and print opt_size note. | Devang Patel | 2008-09-03 | 2 | -3/+12 |
| | | | | | llvm-svn: 55740 | ||||
| * | Initial version of a Partial Specialization IPO pass. It triggers a couple ↵ | Andrew Lenharth | 2008-09-03 | 3 | -0/+134 |
| | | | | | | | hundred times on 176.gcc. I don't know the performance impact yet, the heuristic is quite simple still. llvm-svn: 55734 | ||||
| * | Do not emit a UsedDirective for things in the llvm.used | Dale Johannesen | 2008-09-03 | 2 | -3/+33 |
| | | | | | | | | | | list that have internal linkage; the linker doesn't need or want this. (These objects must still be preserved at compile time, so just removing them from the llvm.used list doesn't work.) Should affect only Darwin. llvm-svn: 55722 | ||||
| * | Fix typo in a comment. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55720 | ||||
| * | Add missing decls. | Devang Patel | 2008-09-03 | 2 | -0/+6 |
| | | | | | llvm-svn: 55719 | ||||
| * | Add parentheses to make code more readable. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55717 | ||||
| * | Fix comments. | Devang Patel | 2008-09-03 | 1 | -2/+3 |
| | | | | | llvm-svn: 55716 | ||||
| * | Testcase for commits 55700 and 55714. | Duncan Sands | 2008-09-03 | 1 | -0/+1104 |
| | | | | | llvm-svn: 55715 | ||||
| * | If a SCC has a node without a function, then the SCC | Duncan Sands | 2008-09-03 | 1 | -9/+14 |
| | | | | | | | | | | | analysis would bail out without removing function records for other members of the SCC (which may exist if those functions read or wrote global variables). Since these are initialized to "readnone", this resulted in incorrect alias analysis results. llvm-svn: 55714 | ||||
| * | Add custom inliner that handles only functions that are marked as always_inline. | Devang Patel | 2008-09-03 | 1 | -0/+70 |
| | | | | | llvm-svn: 55713 | ||||
| * | Handle "always inline" note during inline cost analysis. | Devang Patel | 2008-09-03 | 2 | -6/+4 |
| | | | | | llvm-svn: 55712 | ||||
| * | Check noinline note and ignore other notes. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55711 | ||||
| * | Handle "noinline" note inside the simple inliner. | Devang Patel | 2008-09-03 | 2 | -4/+7 |
| | | | | | llvm-svn: 55708 | ||||
| * | Oops, I accidentally broke the fallback case with my last commit. | Owen Anderson | 2008-09-03 | 1 | -0/+2 |
| | | | | | llvm-svn: 55704 | ||||
| * | Fix an issue where we were reusing materializations of constants in blocks ↵ | Owen Anderson | 2008-09-03 | 1 | -9/+15 |
| | | | | | | | | | | not dominated by the materialization. This is the simple fix, materializing the constant before every use. It might be better to either track domination of uses or to materialize all constants and the beginning of the function and let remat sort when to do materialization at uses. llvm-svn: 55703 | ||||
| * | Update test to check call instruction. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55702 | ||||
| * | Split the SelectionDAG-building code, including the FunctionLoweringInfo | Dan Gohman | 2008-09-03 | 4 | -5134/+5317 |
| | | | | | | | | and SelectionDAGLowering classes, out of SelectionDAGISel.cpp and put it in a separate file, SelectionDAGBuild.cpp. llvm-svn: 55701 | ||||

