summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trickDan Gohman2008-03-211-1/+1
| | | | | | | | to avoid using constructor calls for static objects. This reduces the number of objects requiring static constructors in a typical LLVM build by around 20%. llvm-svn: 48665
* Fix -view-sunit-dags to support cross-rc-copy nodes.Dan Gohman2008-03-211-1/+4
| | | | llvm-svn: 48664
* the size of a smallvector shouldn't be part of the interface to these methods.Chris Lattner2008-03-211-20/+18
| | | | llvm-svn: 48662
* make gvn marginally faster by reallocating the lastSeenLoad map forChris Lattner2008-03-211-3/+4
| | | | | | each basic block. llvm-svn: 48660
* Minor cleanups and shrinkification.Chris Lattner2008-03-211-186/+114
| | | | llvm-svn: 48658
* Handle getresult instructions in different basic blocksDan Gohman2008-03-211-0/+9
| | | | | | | from their aggregate operands by moving the getresult instructions. llvm-svn: 48657
* Restore this assert now that the livevar bug is fixed.Chris Lattner2008-03-211-2/+7
| | | | | | This verifies kill info for "ret" fp operands is right. llvm-svn: 48656
* A couple of kill marker maintainence bug.Evan Cheng2008-03-212-1/+5
| | | | llvm-svn: 48653
* FunctionExtractorPass has been superceded by GVExtractorPassAndrew Lenharth2008-03-211-147/+0
| | | | llvm-svn: 48648
* Make it possible to get an empty struct usingDuncan Sands2008-03-211-2/+3
| | | | | | | | the new StructType::get method. The second NULL is to pacify the gcc warning mechanism. This patch compiles but is otherwise untested. llvm-svn: 48645
* Introduce a new node for holding call argumentDuncan Sands2008-03-219-134/+145
| | | | | | | | | | | | | | | | | flags. This is needed by the new legalize types infrastructure which wants to expand the 64 bit constants previously used to hold the flags on 32 bit machines. There are two functional changes: (1) in LowerArguments, if a parameter has the zext attribute set then that is marked in the flags; before it was being ignored; (2) PPC had some bogus code for handling two word arguments when using the ELF 32 ABI, which was hard to convert because of the bogusness. As suggested by the original author (Nicolas Geoffray), I've disabled it for the moment. Tested with "make check" and the Ada ACATS testsuite. llvm-svn: 48640
* Fix the build for gcc-4.2.Duncan Sands2008-03-211-1/+2
| | | | llvm-svn: 48639
* remove Evan's "ugly hack" that sorta attempted to get Chris Lattner2008-03-215-174/+2
| | | | | | | x86-64 return conventions correct, but was never enabled. We can now do the "right thing" with multiple return values. llvm-svn: 48635
* Add support for calls that return two FP values inChris Lattner2008-03-213-5/+52
| | | | | | ST(0)/ST(1). llvm-svn: 48634
* disable a bogus assertion.Chris Lattner2008-03-211-2/+2
| | | | llvm-svn: 48633
* Enable support for returning two long-double values in ST(0)/ST(1).Chris Lattner2008-03-212-7/+4
| | | | | | | | | | | | | | This allows us to compile fp-stack-2results.ll into: _test: fldz fld1 ret which returns 1 in ST(0) and 0 in ST(1). This is needed for x86-64 _Complex long double. llvm-svn: 48632
* Teach masked value is zero about add and sub, and use MVIZ toChris Lattner2008-03-211-34/+87
| | | | | | | | simplify things like (X & 4) >> 1 == 2 --> (X & 4) == 4. since it is obvious that the shift doesn't remove any bits. llvm-svn: 48631
* Undo 48570. Correctly match mmx shift instructions with an immediate operand.Evan Cheng2008-03-212-18/+25
| | | | llvm-svn: 48627
* These passes preserve CFG.Devang Patel2008-03-204-5/+5
| | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623
* Incorporate feedback.Devang Patel2008-03-201-24/+24
| | | | | | | | - Fix loop nest. - Use RetVals.size() - Check for null return value. llvm-svn: 48605
* C and Objective Caml bindings for mem2reg and reg2mem.Gordon Henriksen2008-03-201-0/+8
| | | | | | Patch by Erick Tryzelaar. llvm-svn: 48602
* enable -analyze for andersensAndrew Lenharth2008-03-201-19/+39
| | | | llvm-svn: 48601
* Take the old function's name.Zhou Sheng2008-03-201-0/+1
| | | | llvm-svn: 48588
* add a note.Chris Lattner2008-03-201-0/+8
| | | | llvm-svn: 48583
* Check even more carefully before applying this DAGCombine transform.Christopher Lamb2008-03-201-13/+19
| | | | llvm-svn: 48580
* Restore isCFGOnly property of various analysis passes.Devang Patel2008-03-2020-25/+25
| | | | llvm-svn: 48579
* Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, ↵Evan Cheng2008-03-202-3/+5
| | | | | | result_size - n - m))) llvm-svn: 48578
* detabify llvm, patch by Mike Stump!Chris Lattner2008-03-206-76/+76
| | | | llvm-svn: 48577
* Keep track of analysis information inherited from Module pass manager.Devang Patel2008-03-201-0/+4
| | | | llvm-svn: 48576
* Add more patterns to match in the integer comparison test harnesses.Scott Michel2008-03-203-9/+8
| | | | | | | | Fix bugs encountered, mostly due to range matching for immediates; the CellSPU's 10-bit immediates are sign extended, covering a larger range of unsigned values. llvm-svn: 48575
* 80 col violation.Evan Cheng2008-03-201-1/+2
| | | | llvm-svn: 48573
* Add intrinsics to match mmx shift builtin's with immediate operand.Evan Cheng2008-03-192-12/+13
| | | | llvm-svn: 48569
* Add comment.Devang Patel2008-03-191-0/+4
| | | | llvm-svn: 48567
* #if 1 .. #endif markers do not add any value.Devang Patel2008-03-191-2/+0
| | | | llvm-svn: 48560
* Remove dead options.Evan Cheng2008-03-192-20/+4
| | | | llvm-svn: 48556
* PassInfo keep tracks whether a pass is an analysis pass or not.Devang Patel2008-03-1923-41/+47
| | | | llvm-svn: 48554
* Add support for multiple return values for the PPC target byDan Gohman2008-03-192-146/+23
| | | | | | | converting call result lowering to use the CallingConvLowering infastructure. llvm-svn: 48552
* Don't loose incoming argument registers. Fix documentation style.Arnold Schwaighofer2008-03-193-9/+9
| | | | llvm-svn: 48545
* Fix X86's isTruncateFree to not claim that truncate to i1 is free. This ↵Christopher Lamb2008-03-193-46/+27
| | | | | | fixes Bill's testcase that failed for r48491. llvm-svn: 48542
* add some convenience methods for creating GEP instructions and Chris Lattner2008-03-191-0/+11
| | | | | | struct types. Patch by David Chisnall, with some tweaks. llvm-svn: 48531
* C bindings for Module-, Function-, and BasicBlock::iterator.Gordon Henriksen2008-03-191-0/+135
| | | | llvm-svn: 48528
* Fixed a coalescer bug caused by a typo.Evan Cheng2008-03-191-1/+1
| | | | llvm-svn: 48526
* C and Objective Caml bindings for the various getParent methods of the IR.Gordon Henriksen2008-03-191-23/+47
| | | | | | Based on Erick Tryzelaar's patch. llvm-svn: 48523
* Fix live variables issues:Evan Cheng2008-03-191-6/+43
| | | | | | | | | | | 1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue. 2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register: = EAX, AX<imp-use,kill> ... AX = In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things. llvm-svn: 48521
* Do not use virtual function to identify an analysis pass.Devang Patel2008-03-1911-54/+13
| | | | llvm-svn: 48520
* On Darwin, GCC issues a ".globl" for something that has a "visibility protected"Bill Wendling2008-03-181-0/+1
| | | | | | attribute instead of ".protected". llvm-svn: 48516
* Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs ↵Evan Cheng2008-03-181-6/+10
| | | | | | function implicitly reads X86::AL, don't clobber it! llvm-svn: 48515
* Temporarily revert r48491. It's breaking test/CodeGen/X86/xorl.ll.Bill Wendling2008-03-181-26/+0
| | | | llvm-svn: 48510
* Fix PR 2160 by making sure arguments to external functions get marked as ↵Daniel Berlin2008-03-181-18/+36
| | | | | | pointing to anything llvm-svn: 48509
* Make conversions of i8/i16 to ppcf128 work.Dale Johannesen2008-03-181-10/+13
| | | | llvm-svn: 48493
OpenPOWER on IntegriCloud