summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Check the "isSafeToMove" predicate, which has a series of tests to make sureBill Wendling2008-05-281-1/+3
| | | | | | that it's safe to remat an instruction. llvm-svn: 51659
* Remap VNInfo data as well when doing renumbering.Owen Anderson2008-05-281-0/+6
| | | | llvm-svn: 51658
* Factor the numbering computation into a separate method, and add the ↵Owen Anderson2008-05-281-11/+29
| | | | | | slightest attempt at some renumbering logic, which is currently unused. llvm-svn: 51652
* Fix PR2289: vr defined by multiple implicit_def as result of coalescing.Evan Cheng2008-05-281-6/+9
| | | | llvm-svn: 51648
* Teach local register allocator to deal with landing pad MBB's.Evan Cheng2008-05-281-4/+4
| | | | llvm-svn: 51647
* Update some comments noticed in a recent checkinNate Begeman2008-05-281-3/+8
| | | | llvm-svn: 51644
* Implement PR2370: memmove(x,x,size) -> noop.Chris Lattner2008-05-281-0/+4
| | | | llvm-svn: 51636
* Add chain inputs for loads.Chris Lattner2008-05-281-3/+3
| | | | llvm-svn: 51635
* Fix CodeGen/Generic/2005-10-21-longlonggtu.ll on ia64.Chris Lattner2008-05-281-1/+2
| | | | llvm-svn: 51634
* loads should get chains. THis helps but does not solve ↵Chris Lattner2008-05-281-2/+4
| | | | | | | | CodeGen/Generic/2003-05-27-phifcmpd.ll on ia64. llvm-svn: 51633
* Fix 2006-04-28-Sign-extend-bool.ll for ia64.Chris Lattner2008-05-281-0/+2
| | | | llvm-svn: 51632
* reindent.Chris Lattner2008-05-281-77/+77
| | | | llvm-svn: 51631
* Fix the encoding for two more "rm" instructions that were using MRMSrcReg.Dan Gohman2008-05-281-2/+2
| | | | llvm-svn: 51630
* Fixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operandMon P Wang2008-05-281-2/+2
| | | | | | is a memory location llvm-svn: 51626
* Don't attempt to create VZEXT_LOAD out of an extload. This an issue where theNate Begeman2008-05-281-0/+5
| | | | | | | | | | | | | | | | code generator would do something like this: f64 = load f32 <anyext>, f32mem v2f64 = insertelt undef, %0, 0 v2f64 = insertelt %1, 0.0, 1 into v2f64 = vzext_load f32mem which on x86 is movsd, when you really wanted a cvtss2sd/movsd pair. llvm-svn: 51624
* Use Function::getEntryBlock instead of Function::begin, for clarity.Dan Gohman2008-05-271-1/+1
| | | | llvm-svn: 51613
* Print debug output when any edge becomes executable, includingDan Gohman2008-05-271-3/+3
| | | | | | the first visited edge. llvm-svn: 51612
* Incorporated feedback: Check that the implicitly defined operands aren't usedBill Wendling2008-05-271-9/+8
| | | | | | before deleting the instruction. llvm-svn: 51609
* Tidy up whitespace in ConstantRange::print output.Dan Gohman2008-05-271-1/+1
| | | | llvm-svn: 51606
* back out last commit: The .cpp file for a module should include its ↵Gabor Greif2008-05-271-0/+1
| | | | | | corresponding header first, even if redundant. llvm-svn: 51598
* Fix some constructs that gcc-4.4 warns about.Duncan Sands2008-05-276-8/+12
| | | | llvm-svn: 51591
* prune unneeded #includesGabor Greif2008-05-272-2/+0
| | | | llvm-svn: 51590
* remove unneeded reinterpret_castsGabor Greif2008-05-271-2/+2
| | | | llvm-svn: 51589
* We have the correct headers included to know that BB isa Value. No ↵Gabor Greif2008-05-271-6/+6
| | | | | | reinterpret_cast necessary. llvm-svn: 51588
* InequalityGraph::node() can create new nodes, invalidating iterators acrossNick Lewycky2008-05-271-0/+1
| | | | | | | the set of nodes. Fix makeEqual to handle this by creating the new node first then iterating across them second. llvm-svn: 51573
* Grammaro.Nick Lewycky2008-05-261-1/+1
| | | | llvm-svn: 51572
* eliminate calls to deprecated Use::init() interfaceGabor Greif2008-05-265-139/+139
| | | | llvm-svn: 51570
* Factor code to copy global value attributes likeDuncan Sands2008-05-269-42/+47
| | | | | | | | | | | | | | | the section or the visibility from one global value to another: copyAttributesFrom. This is particularly useful for duplicating functions: previously this was done by explicitly copying each attribute in turn at each place where a new function was created out of an old one, with the result that obscure attributes were regularly forgotten (like the collector or the section). Hopefully now everything is uniform and nothing is forgotten. llvm-svn: 51567
* Use a DenseMap instead of an std::map, speeding up the testcase in PR2368 by ↵Owen Anderson2008-05-261-3/+3
| | | | | | about a third. llvm-svn: 51565
* The enabling of remat in 2-address conversion breaks this test:Bill Wendling2008-05-261-23/+30
| | | | | | | | | | | | Running /Users/void/llvm/llvm.src/test/CodeGen/X86/dg.exp ... FAIL: /Users/void/llvm/llvm.src/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll Failed with exit(1) at line 1 while running: llvm-as < /Users/void/llvm/llvm.src/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll | llc -march=x86 -mattr=+sse2 -stats |& grep {1 .*folded into instructions} child process exited abnormally Make this conditional for now. llvm-svn: 51563
* A problem that's exposed when machine LICM is enabled. Consider this code:Bill Wendling2008-05-261-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LBB1_3: # bb ... xorl %ebp, %ebp subl (%ebx), %ebp ... incl %ecx cmpl %edi, %ecx jl LBB1_3 # bb Whe using machine LICM, LLVM converts it into: xorl %esi, %esi LBB1_3: # bb ... movl %esi, %ebp subl (%ebx), %ebp ... incl %ecx cmpl %edi, %ecx jl LBB1_3 # bb Two address conversion inserts the copy instruction. However, it's cheaper to rematerialize it, and remat helps reduce register pressure. llvm-svn: 51562
* Don't treat values as signed when looking at loop steppings in HowForToNonZero.Nick Lewycky2008-05-251-2/+2
| | | | llvm-svn: 51560
* "ret (constexpr)" can't be folded into a Constant. Add a method toNick Lewycky2008-05-252-16/+55
| | | | | | | | | | Analysis/ConstantFolding to fold ConstantExpr's, then make instcombine use it to try to use targetdata to fold constant expressions on void instructions. Also extend the icmp(inttoptr, inttoptr) folding to handle the case where int size != ptr size. llvm-svn: 51559
* Create archives with the same permissions are ar.Owen Anderson2008-05-241-0/+7
| | | | | | Patch by Mikael Lepistö. llvm-svn: 51540
* Add FreeBSD/PPC support, patch by Marcel Moolenaar!Chris Lattner2008-05-241-2/+2
| | | | llvm-svn: 51538
* Fix a serious brain-o. Obviously no-one reviewed my patch :(Chris Lattner2008-05-241-2/+4
| | | | | | This fixes PR2359 llvm-svn: 51536
* Fix PR2358 by resolving calls with undef arguments to overdefined.Chris Lattner2008-05-241-0/+6
| | | | llvm-svn: 51535
* Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq.Evan Cheng2008-05-242-14/+12
| | | | llvm-svn: 51533
* Eliminate x86.sse2.movs.d, x86.sse2.shuf.pd, x86.sse2.unpckh.pd, and ↵Evan Cheng2008-05-242-21/+43
| | | | | | x86.sse2.unpckl.pd intrinsics. These will be lowered into shuffles. llvm-svn: 51531
* Tweak how ConstantFP80Ty constants are outputDuncan Sands2008-05-241-1/+1
| | | | | | so that gcc doesn't warn about them. llvm-svn: 51529
* Put initialized const weak objects into correctDale Johannesen2008-05-241-1/+9
| | | | | | sections on ppc32 darwin. g++.dg/abi/key2.C llvm-svn: 51527
* This is done.Evan Cheng2008-05-241-46/+0
| | | | llvm-svn: 51526
* Autoupgrade x86.sse2.loadh.pd and x86.sse2.loadl.pd.Evan Cheng2008-05-241-19/+50
| | | | llvm-svn: 51523
* Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into ↵Evan Cheng2008-05-241-4/+0
| | | | | | load and shuffle instructions. llvm-svn: 51522
* Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into ↵Evan Cheng2008-05-241-5/+0
| | | | | | load and shuffle instructions. llvm-svn: 51521
* Revert 51440 as it breaks a bunch of PIC tests.Evan Cheng2008-05-231-3/+1
| | | | llvm-svn: 51513
* Don't silently truncate array extents to 32 bits.Dan Gohman2008-05-231-1/+1
| | | | llvm-svn: 51505
* Add a missed CommonLinkage check.Dale Johannesen2008-05-231-0/+1
| | | | llvm-svn: 51503
* Use movlps / movhps to modify low / high half of 16-byet memory location.Evan Cheng2008-05-233-62/+69
| | | | llvm-svn: 51501
* Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places toDan Gohman2008-05-2315-61/+34
| | | | | | use it instead of duplicating its functionality. llvm-svn: 51499
OpenPOWER on IntegriCloud