aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Mark merged-in VNInfo's as being PHIKilled.Owen Anderson2008-09-301-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56893 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a simple error in renumbering kill markaers, that took an inordinant ↵Owen Anderson2008-09-301-1/+1
| | | | | | amount of time to track down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56889 91177308-0d34-0410-b5e6-96231b3b80d8
* Just don't transform this memset into "bzero" if no-builtin is specified.Bill Wendling2008-09-304-20/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56888 91177308-0d34-0410-b5e6-96231b3b80d8
* add preserversCFG() + preservers(CallGraph)Nuno Lopes2008-09-301-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56887 91177308-0d34-0410-b5e6-96231b3b80d8
* - Initialize "--no-builtin" to "false".Bill Wendling2008-09-302-1/+2
| | | | | | | - Testcase for r56885. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56886 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the new `-no-builtin' flag. This flag is meant to mimic the GCCBill Wendling2008-09-306-30/+39
| | | | | | | | | | `-fno-builtin' flag. Currently, it's used to replace "memset" with "_bzero" instead of "__bzero" on Darwin10+. This arguably violates the meaning of this flag, but is currently sufficient. The meaning of this flag should become more specific over time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56885 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the primary fast-isel top-level comments to FastISel.cpp, whereDan Gohman2008-09-302-24/+34
| | | | | | | they'll be a little more visible. Also, update and reword them a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56877 91177308-0d34-0410-b5e6-96231b3b80d8
* add AU.setPreservesCFG() since this pass only adds and removes function ↵Nuno Lopes2008-09-301-0/+5
| | | | | | attributes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56868 91177308-0d34-0410-b5e6-96231b3b80d8
* Optimize SelectionDAG's AssignTopologicalOrder even further.Dan Gohman2008-09-306-42/+76
| | | | | | | | | | | | | | | | | | | | Completely eliminate the TopOrder std::vector. Instead, sort the AllNodes list in place. This also eliminates the need to call AllNodes.size(), a linear-time operation, before performing the sort. Also, eliminate the Sources temporary std::vector, since it essentially duplicates the sorted result as it is being built. This also changes the direction of the topological sort from bottom-up to top-down. The AllNodes list starts out in roughly top-down order, so this reduces the amount of reordering needed. Top-down is also more convenient for Legalize, and ISel needed only minor adjustments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56867 91177308-0d34-0410-b5e6-96231b3b80d8
* ignore generated filesNuno Lopes2008-09-300-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56866 91177308-0d34-0410-b5e6-96231b3b80d8
* Add runStaticConstructorsDestructors which runs ctors / dtors of a single ↵Evan Cheng2008-09-302-33/+45
| | | | | | module. Patch by David Chisnall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56849 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply 56835 along with header file changes.Evan Cheng2008-09-305-10/+112
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56848 91177308-0d34-0410-b5e6-96231b3b80d8
* Stacker is dead.Duncan Sands2008-09-301-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56844 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert commit 56835 since it breaks the build.Duncan Sands2008-09-304-105/+8
| | | | | | | | | | | "If a re-materializable instruction has a register operand, the spiller will change the register operand's spill weight to HUGE_VAL to avoid it being spilled. However, if the operand is already in the queue ready to be spilled, avoid re-materializing it". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56837 91177308-0d34-0410-b5e6-96231b3b80d8
* If a re-materializable instruction has a register operand, the spiller will ↵Evan Cheng2008-09-304-8/+105
| | | | | | change the register operand's spill weight to HUGE_VAL to avoid it being spilled. However, if the operand is already in the queue ready to be spilled, avoid re-materializing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56835 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix misoptimization of: xor i1 (icmp eq (X, C1), icmp s[lg]t (X, C2))Nick Lewycky2008-09-302-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56834 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix X86FastISel's output for x86-32 PIC constant pool addresses.Dan Gohman2008-09-302-6/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56829 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the GlobalBaseReg field out of X86ISelDAGToDAG.cppDan Gohman2008-09-305-43/+36
| | | | | | | | | and X86FastISel.cpp into X86MachineFunction.h, so that it can be shared, instead of having each selector keep track of its own. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56825 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable all x87 usage, including f32 and f64 when the subtargetDan Gohman2008-09-301-6/+17
| | | | | | | doesn't have SSE(2), with X86FastISel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56823 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove misuse of ReplaceNodeResults for atomics withDale Johannesen2008-09-293-23/+24
| | | | | | | | valid types. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56808 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix FastISel to not initialize the PIC-base register multiple timesDan Gohman2008-09-292-60/+66
| | | | | | | in functions with PIC references from more than one basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56807 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an over-pessimization about GlobalVariable addresses in X86FastISel.Dan Gohman2008-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56802 91177308-0d34-0410-b5e6-96231b3b80d8
* Support inreg, zext and sext as return value attributes.Devang Patel2008-09-298-1705/+1754
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56801 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar.Devang Patel2008-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56796 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammer.Devang Patel2008-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56795 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix sentence.Devang Patel2008-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56794 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2835. Do not change the width of a volatile load.Evan Cheng2008-09-292-2/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56792 91177308-0d34-0410-b5e6-96231b3b80d8
* Speed up these passes when the callgraph hasDuncan Sands2008-09-292-4/+16
| | | | | | | | huge simply connected components. Suggested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56787 91177308-0d34-0410-b5e6-96231b3b80d8
* remove redundant test (mayBeOverriden() includes hasLinkOnceLinkage)Nuno Lopes2008-09-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56786 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak some comments.Duncan Sands2008-09-291-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56784 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some hands-on documentation about which files to create and edit whenMatthijs Kooijman2008-09-291-0/+50
| | | | | | | adding a backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56783 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename isWeakForLinker to mayBeOverridden. Use itDuncan Sands2008-09-2916-30/+35
| | | | | | | | instead of hasWeakLinkage in a bunch of optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56782 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase showing that scalarrepl supports first class structs.Matthijs Kooijman2008-09-291-0/+30
| | | | | | | | I originally made this script to show that scalarrepl didn't support them, but it turned out it does. Better to still add the testcase then. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56781 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the code that handles DAGISel error conditions intoDan Gohman2008-09-271-25/+27
| | | | | | | | | helper functions instead of duplicating it inline each time it is needed. This eliminates a few hundred or so copies of this code in each target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56759 91177308-0d34-0410-b5e6-96231b3b80d8
* Add IRBuilder::{CreateIsNull, CreateIsNonNull} helper methods.Daniel Dunbar2008-09-271-0/+17
| | | | | | | | - I'm open to the idea that these could have better names. I think these read better than CreateEQNull and CreateNENull. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56757 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply 56683 with fixes.Evan Cheng2008-09-2710-15/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56748 91177308-0d34-0410-b5e6-96231b3b80d8
* Update tests.Devang Patel2008-09-272-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56730 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak build. Daniel Dunbar2008-09-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56727 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing #include for asserts.Bill Wendling2008-09-271-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56718 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement function notes as function attributes. Devang Patel2008-09-2617-181/+95
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56716 91177308-0d34-0410-b5e6-96231b3b80d8
* Generated files for warning fix.Dale Johannesen2008-09-262-115/+171
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56715 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a compiler warning.Dale Johannesen2008-09-261-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56714 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement "punpckldq %xmm0, $xmm0" as "pshufd $0x50, %xmm0, %xmm" unless ↵Evan Cheng2008-09-265-9/+60
| | | | | | optimizing for code size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56711 91177308-0d34-0410-b5e6-96231b3b80d8
* Now Attributes are divided in three groupsDevang Patel2008-09-2617-103/+325
| | | | | | | | | | | | | | - return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. This patch requires corresponding changes in llvm-gcc and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily reverting r56683. This is causing a failure during the build of ↵Bill Wendling2008-09-2613-38/+18
| | | | | | | | | | | | | | | | | | llvm-gcc: /Volumes/Gir/devel/llvm/clean/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.obj/./gcc/ -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -mmacosx-version-min=10.4 -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Gir/devel/llvm/clean/llvm.obj/include -I/Volumes/Gir/devel/llvm/clean/llvm.src/include -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c ../../llvm-gcc.src/gcc/unwind-dw2-fde-darwin.c -o libgcc/./unwind-dw2-fde-darwin.o Assertion failed: (TargetRegisterInfo::isVirtualRegister(regA) && TargetRegisterInfo::isVirtualRegister(regB) && "cannot update physical register live information"), function runOnMachineFunction, file /Volumes/Gir/devel/llvm/clean/llvm.src/lib/CodeGen/TwoAddressInstructionPass.cpp, line 311. ../../llvm-gcc.src/gcc/unwind-dw2.c:1527: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. {standard input}:3521:non-relocatable subtraction expression, "_dwarf_reg_size_table" minus "L20$pb" {standard input}:3521:symbol: "_dwarf_reg_size_table" can't be undefined in a subtraction expression {standard input}:3520:non-relocatable subtraction expression, "_dwarf_reg_size_table" minus "L20$pb" ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56703 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix missing whitespace in the printing of function notes.Dan Gohman2008-09-261-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56702 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ConstantSDNode's getSignExtended to getSExtValue, forDan Gohman2008-09-2610-34/+30
| | | | | | | | consistancy with ConstantInt, and re-implement it in terms of ConstantInt's getSExtValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56700 91177308-0d34-0410-b5e6-96231b3b80d8
* Make some minor reorganizations and comment changes to eliminate trivialDan Gohman2008-09-261-15/+23
| | | | | | | differences between the CallInst and InvokeInst classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56699 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark lea fi# as being really rematerializable.Dan Gohman2008-09-261-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56698 91177308-0d34-0410-b5e6-96231b3b80d8
* unpckhps requires sse1, punpckhdq requires sse2.Evan Cheng2008-09-261-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56697 91177308-0d34-0410-b5e6-96231b3b80d8