| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Allow insertelement, extractelement, and shufflevector to be hoisted/sunk | Dan Gohman | 2007-06-05 | 1 | -1/+3 |
| | | | | | | | by LICM. llvm-svn: 37435 | ||||
| * | PIC label asm printing cosmetic changes. | Evan Cheng | 2007-06-05 | 1 | -0/+9 |
| | | | | | llvm-svn: 37434 | ||||
| * | I had a senior moment. | Evan Cheng | 2007-06-05 | 1 | -3/+4 |
| | | | | | llvm-svn: 37433 | ||||
| * | Commit first round work of PR1373. "noalias" is now fully supported in | Zhou Sheng | 2007-06-05 | 3 | -5/+9 |
| | | | | | | | | VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll updated also. llvm-svn: 37432 | ||||
| * | If the predicated block requires an early exit, end the block there and add ↵ | Evan Cheng | 2007-06-05 | 1 | -2/+3 |
| | | | | | | | a unconditional branch to false block. AnalyzeBranch() does not understand early exits. llvm-svn: 37430 | ||||
| * | Fix some subtle bugs: bug during succeessor copying; incorrectly updating ↵ | Evan Cheng | 2007-06-05 | 1 | -20/+19 |
| | | | | | | | states of ifcvted blocks. llvm-svn: 37429 | ||||
| * | Patches by Chuck Rose to unbreak V Studio builds. | Bill Wendling | 2007-06-04 | 1 | -0/+15 |
| | | | | | | | Thanks Chuck! llvm-svn: 37428 | ||||
| * | Tail merging wasn't working for predecessors of landing pads. PR 1496. | Dale Johannesen | 2007-06-04 | 1 | -0/+22 |
| | | | | | llvm-svn: 37427 | ||||
| * | s/ETNode::getChildren/ETNode::getETNodeChildren/g | Devang Patel | 2007-06-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 37426 | ||||
| * | Don't use std::set_difference when the two sets are sorted differently. Compute | Owen Anderson | 2007-06-04 | 1 | -7/+6 |
| | | | | | | | | | | the difference manually instead. This allows GVNPRE to produce correct analysis for the example in the GVNPRE paper. llvm-svn: 37425 | ||||
| * | Fix a bunch of small bugs, and improve the debugging output significantly. | Owen Anderson | 2007-06-04 | 1 | -26/+44 |
| | | | | | llvm-svn: 37424 | ||||
| * | When rebuilding constant structs, make sure to honor the isPacked bit. | Chris Lattner | 2007-06-04 | 1 | -1/+1 |
| | | | | | | | This fixes PR1491 and GlobalOpt/2007-06-04-PackedStruct.ll llvm-svn: 37423 | ||||
| * | Global ctors / dtors alignment shouldn't be hard-coded at 4. e.g. It could ↵ | Evan Cheng | 2007-06-04 | 1 | -2/+4 |
| | | | | | | | be 8 for 64-bit targets. llvm-svn: 37421 | ||||
| * | Forgot to check for if iterator reached the end. | Evan Cheng | 2007-06-04 | 1 | -1/+2 |
| | | | | | llvm-svn: 37420 | ||||
| * | Misuse of hasExternalLinkage(), should be checking isDeclaration(). | Evan Cheng | 2007-06-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 37419 | ||||
| * | Make phi_translate correct. | Owen Anderson | 2007-06-04 | 1 | -47/+50 |
| | | | | | llvm-svn: 37418 | ||||
| * | Add FIXMEs. | Devang Patel | 2007-06-04 | 1 | -0/+2 |
| | | | | | llvm-svn: 37417 | ||||
| * | s/DominatorTree::createNewNode/DominatorTree::addNewBlock/g | Devang Patel | 2007-06-04 | 3 | -4/+3 |
| | | | | | llvm-svn: 37415 | ||||
| * | Add basic block level interface to change immediate dominator | Devang Patel | 2007-06-04 | 1 | -2/+2 |
| | | | | | | | and create new node. llvm-svn: 37414 | ||||
| * | Pass the DAG to SDNode::dump to let it do more detailed dumps in some cases. | Dan Gohman | 2007-06-04 | 1 | -5/+5 |
| | | | | | llvm-svn: 37413 | ||||
| * | Resolve implicit alignment before computing the FoldingSet information so | Dan Gohman | 2007-06-04 | 1 | -50/+49 |
| | | | | | | | | | | | | | that the CSE map always contains explicit alignment information. This allows more loads to be CSE'd when there is a mix of explicit-alignment loads and implicit-alignment loads. Also, in SelectionDAG::FindModifiedNodeSlot, add the operands to the FoldingSetNodeID before the load/store information instead of after, so that it matches what is done elsewhere. llvm-svn: 37411 | ||||
| * | Fix LLVM build on NetBSD. Patch by Neil Booth. | Devang Patel | 2007-06-04 | 1 | -0/+2 |
| | | | | | llvm-svn: 37410 | ||||
| * | Let IfConverter loose. Allow more aggressive subsumptions; reorder basic ↵ | Evan Cheng | 2007-06-04 | 1 | -196/+264 |
| | | | | | | | blocks to expose more ifcvt opportunities; code clean up and fixes. llvm-svn: 37409 | ||||
| * | Move ReplaceUsesOfBlockWith() out of BranchFolding into a MachineBasicBlock ↵ | Evan Cheng | 2007-06-04 | 2 | -40/+29 |
| | | | | | | | general facility. llvm-svn: 37408 | ||||
| * | s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g | Devang Patel | 2007-06-04 | 10 | -65/+65 |
| | | | | | llvm-svn: 37407 | ||||
| * | Don't use the custom comparator where it's not necessary. | Owen Anderson | 2007-06-03 | 1 | -13/+22 |
| | | | | | llvm-svn: 37406 | ||||
| * | Add comments to fallsthrough cases. Also, this fixes PR1492 | Anton Korobeynikov | 2007-06-03 | 1 | -0/+3 |
| | | | | | llvm-svn: 37405 | ||||
| * | Check arguments & return types of main(). Abort in case of no match. | Anton Korobeynikov | 2007-06-03 | 1 | -0/+32 |
| | | | | | llvm-svn: 37404 | ||||
| * | s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g | Devang Patel | 2007-06-03 | 10 | -82/+82 |
| | | | | | llvm-svn: 37403 | ||||
| * | Remove an unused method. | Owen Anderson | 2007-06-03 | 1 | -5/+0 |
| | | | | | llvm-svn: 37402 | ||||
| * | There's no need to have an Expression class... Value works just as well! ↵ | Owen Anderson | 2007-06-03 | 1 | -285/+166 |
| | | | | | | | This simplifies a lot of code. llvm-svn: 37401 | ||||
| * | update this entry, now that Anton implemented shift/and lowering for | Chris Lattner | 2007-06-02 | 1 | -17/+66 |
| | | | | | | | | switches. There is one really easy isel thing here with tst we are not getting. llvm-svn: 37400 | ||||
| * | The semantics of invoke require that we always jump to the unwind block | Duncan Sands | 2007-06-02 | 1 | -0/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | (landing pad) when an exception unwinds through the call. This doesn't quite match the way the dwarf unwinder works: by default it only jumps to the landing pad if the catch or filter specification matches, and otherwise it keeps on unwinding. There are two ways of specifying to the unwinder that it should "always" (more on why there are quotes here later) jump to the landing pad: follow the specification by a 0 typeid, or follow it by the typeid for the NULL typeinfo. GCC does the first, and this patch makes LLVM do the same as gcc. However there is a problem: the unwinder performs optimizations based on C++ semantics (it only expects destructors to be run if the 0 typeid fires - known as "cleanups"), meaning it assumes that no exceptions will be raised and that the raised exception will be reraised at the end of the cleanup code. So if someone writes their own LLVM code using the exception intrinsics they will get a nasty surprise if they don't follow these rules. The other possibility of using the typeid corresponding to NULL (catch-all) causes the unwinder to make no assumptions, so this is probably what we should use in the long-run. However since we are still having trouble getting exception handling working properly, for the moment it seems best to closely imitate GCC. llvm-svn: 37399 | ||||
| * | Integrate exception filter support and exception catch support. This | Duncan Sands | 2007-06-02 | 3 | -60/+48 |
| | | | | | | | | | simplifies the code in DwarfWriter, allows for multiple filters and makes it trivial to specify filters accompanied by cleanups or catch-all specifications (see next patch). What a deal! Patch blessed by Anton. llvm-svn: 37398 | ||||
| * | Make LowerCTPOP() support arbitrary bitwidth integer type. | Zhou Sheng | 2007-06-02 | 1 | -10/+23 |
| | | | | | llvm-svn: 37397 | ||||
| * | Fix CorrectExtraCFGEdges to allow for multiple LandingPad targets. | Dale Johannesen | 2007-06-02 | 1 | -9/+6 |
| | | | | | llvm-svn: 37394 | ||||
| * | Fancier algorithm in tail-merge comment implemented, so remove comment. | Dale Johannesen | 2007-06-01 | 1 | -18/+0 |
| | | | | | llvm-svn: 37393 | ||||
| * | Implement smarter algorithm for choosing which blocks to tail-merge. | Dale Johannesen | 2007-06-01 | 1 | -28/+43 |
| | | | | | | | | | See test/CodeGen/X86/test-pic-jtbl.ll for a case where it works well; shaves another 10K off our favorite benchmark. I was hesitant about this because of compile speed, but seems to do OK on a bootstrap. llvm-svn: 37392 | ||||
| * | For PR1486: | Reid Spencer | 2007-06-01 | 2 | -2/+2 |
| | | | | | | | | Avoid overwriting the APInt instance with 0 bytes which causes the bitwidth to be set to 0 (illegal) producing a subsequent assert. llvm-svn: 37391 | ||||
| * | Insert new instructions in AliasSet. | Devang Patel | 2007-06-01 | 1 | -1/+5 |
| | | | | | llvm-svn: 37390 | ||||
| * | clean() needs to process things in topological order. | Owen Anderson | 2007-06-01 | 1 | -26/+19 |
| | | | | | llvm-svn: 37389 | ||||
| * | Opcode modifier s comes after condition code. e.g. addlts, not addslt. | Evan Cheng | 2007-06-01 | 1 | -20/+20 |
| | | | | | llvm-svn: 37388 | ||||
| * | Correctly mark early-exit on the false path. | Evan Cheng | 2007-06-01 | 1 | -8/+9 |
| | | | | | llvm-svn: 37387 | ||||
| * | Fix Expression comparison, which in turn fixes a value numbering error. | Owen Anderson | 2007-06-01 | 1 | -12/+11 |
| | | | | | llvm-svn: 37386 | ||||
| * | Set ARM ifcvt duplication limit to 3 for now. | Evan Cheng | 2007-06-01 | 1 | -0/+1 |
| | | | | | llvm-svn: 37385 | ||||
| * | Since TypeInfos are passed as i8 pointers, a NULL TypeInfo should be passed | Duncan Sands | 2007-06-01 | 1 | -4/+2 |
| | | | | | | | as a null i8 pointer not as a 0 i32. llvm-svn: 37383 | ||||
| * | Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't ↵ | Evan Cheng | 2007-06-01 | 1 | -3/+18 |
| | | | | | | | merge 'false' BB if it has other predecessors. llvm-svn: 37382 | ||||
| * | Make jumptable non-predicable for now. | Evan Cheng | 2007-06-01 | 1 | -11/+10 |
| | | | | | llvm-svn: 37381 | ||||
| * | Remove a bogus check. Even terminators in a ifcvt need to be predicated. ↵ | Evan Cheng | 2007-06-01 | 1 | -3/+1 |
| | | | | | | | Unconditional branches can usually be converted to conditional ones. llvm-svn: 37380 | ||||
| * | Allow multiple ifcvt candidates to share children blocks; add some debugging ↵ | Evan Cheng | 2007-06-01 | 1 | -7/+20 |
| | | | | | | | code. llvm-svn: 37379 | ||||

