summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add missing parenEli Bendersky2012-02-051-1/+1
| | | | llvm-svn: 149817
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0513-46/+41
| | | | llvm-svn: 149816
* Begin fleshing out more convenience predicates in llvm::Triple andChandler Carruth2012-02-052-31/+41
| | | | | | | | | | convert at least one client over to use them. Subsequent patches both to LLVM and Clang will try to convert more people over to a common set of predicates. This round of predicates is focused on OS-categorization predicates. llvm-svn: 149815
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0519-41/+41
| | | | llvm-svn: 149814
* Simplify contains tests using 'count'.David Blaikie2012-02-051-2/+1
| | | | llvm-svn: 149813
* BBVectorize.cpp: Get rid of comparision to bool to fix a warning.NAKAMURA Takumi2012-02-051-1/+1
| | | | llvm-svn: 149810
* Convert assert(0) to llvm_unreachable in X86 Target directory.Craig Topper2012-02-058-22/+20
| | | | llvm-svn: 149809
* Convert some assert(0) in default of switch statements to llvm_unreachable.Craig Topper2012-02-051-10/+7
| | | | llvm-svn: 149808
* Add target specific node for PMULUDQ. Change patterns to use it and custom ↵Craig Topper2012-02-054-69/+69
| | | | | | lower intrinsics to it. Use it instead of intrinsic to handle 64-bit vector multiplies. llvm-svn: 149807
* Improve the bitcode reader's handling of constant strings to useChris Lattner2012-02-051-22/+6
| | | | | | | ConstantDataArray::getString direction, instead of "boxing" each byte into a ConstantInt and using ConstantArray::get. llvm-svn: 149805
* Add a test for the miscompilation my recent ConstantDataArray patches ↵Chris Lattner2012-02-051-0/+13
| | | | | | | | introduced, to make sure we don't regress on it in the future. llvm-svn: 149803
* reapply the patches reverted in r149470 that reenable ConstantDataArray,Chris Lattner2012-02-0519-540/+277
| | | | | | | | | but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. llvm-svn: 149800
* Remove most of the intrinsics for XOP VPCMOV instruction. They all aliased ↵Craig Topper2012-02-053-275/+0
| | | | | | to the same instruction with different types. This would be better accomplished with casts in the not yet created xopintrin.h header file. llvm-svn: 149795
* Modified the Enhanced Disassembler to create andSean Callanan2012-02-043-31/+40
| | | | | | | | | | cache disassemblers according to the string value of the target triple, not according to the enum of the triple CPU. The reason for this is that certain attributes of the instruction set are not reflected in the enum, but only in the string. llvm-svn: 149773
* Drop the REDEF_BY_EC VNInfo flag.Jakob Stoklund Olesen2012-02-044-51/+2
| | | | | | | | | | A live range that has an early clobber tied redef now looks like a normal tied redef, except the early clobber def uses the early clobber slot. This is enough to handle any strange interference problems. llvm-svn: 149769
* Correctly terminate a physreg redefined by an early clobber.Jakob Stoklund Olesen2012-02-041-1/+1
| | | | | | | | | | | | | | | | | I don't have a test that fails because of this, but a test case like CodeGen/X86/2009-12-01-EarlyClobberBug.ll exposes the problem. EAX is redefined by a tied early clobber operand on inline asm, and the live range should look like this: %EAX,inf = [48r,64e:0)[64e,80r:1) 0@48r 1@64e Previously, the two values got merged: %EAX,inf = [48r,80r:0) 0@48r With this bug fixed, the REDEF_BY_EC VNInfo flag is no longer needed. llvm-svn: 149768
* Fix a leak!Nick Lewycky2012-02-041-0/+2
| | | | | | | | | | | | Andy, in a previous commit you made this into an ImmutablePass so that you could add it to the PassManager, then in the next commit you left it a Pass but removed the code that added it to the PM. If you do add it to the PM then the PM should take care of deleting it, but it's also true that nothing in codegen needs this object to exist after it's done its work here. It's not clear to me which design you want; this should likely either cease to be a Pass or be added to the PM where other parts of CodeGen will request it. llvm-svn: 149765
* Don't store COPY pointers in VNInfo.Jakob Stoklund Olesen2012-02-049-119/+52
| | | | | | | | | | If a value is defined by a COPY, that instuction can easily and cheaply be found by getInstructionFromIndex(VNI->def). This reduces the size of VNInfo from 24 to 16 bytes, and improves llc compile time by 3%. llvm-svn: 149763
* Boost the effective chain depth of loads and stores.Hal Finkel2012-02-042-0/+32
| | | | | | By default, boost the chain depth contribution of loads and stores. This will allow a load/store pair to vectorize even when it would not otherwise be long enough to satisfy the chain depth requirement. llvm-svn: 149761
* remove the blank line from previous ci.Qirun Zhang2012-02-041-1/+0
| | | | llvm-svn: 149758
* test commit.Qirun Zhang2012-02-041-0/+1
| | | | | | add a blank line. llvm-svn: 149757
* autoconf: put generated clang files in build dirDylan Noblesmith2012-02-042-6/+11
| | | | | | | It was writing generated files to the clang srcdir when '--with-clang-srcdir' was specified. llvm-svn: 149756
* TargetPassConfig: confine the MC configuration to TargetMachine.Andrew Trick2012-02-0426-192/+200
| | | | | | | | | | Passes prior to instructon selection are now split into separate configurable stages. Header dependencies are simplified. The bulk of this diff is simply removal of the silly DisableVerify flags. Sorry for the target header churn. Attempting to stabilize them. llvm-svn: 149754
* Move TargetPassConfig implementation into Passes.cppAndrew Trick2012-02-042-305/+312
| | | | llvm-svn: 149753
* Make TargetPassConfig an ImmutablePass so CodeGenPasses can query optionsAndrew Trick2012-02-045-17/+48
| | | | llvm-svn: 149752
* cmake: update outdated CPack version infoDylan Noblesmith2012-02-041-2/+2
| | | | | | Left over from r116516. llvm-svn: 149751
* Object: avoid undefined behavior when bounds-checkingDylan Noblesmith2012-02-041-8/+22
| | | | | | | | | | Don't form an out of bounds pointer just to test if it would be out of bounds. Also perform the same bounds checking for all the previous mapped structures. llvm-svn: 149750
* autoconf: fix clang detectionDylan Noblesmith2012-02-042-2/+2
| | | | | | | Now this works with and without --with-clang-srcdir, with and without an out-of-tree build. llvm-svn: 149749
* Emit new property tag.Devang Patel2012-02-041-1/+29
| | | | llvm-svn: 149737
* Update llvm debug version to support new structure and tag for Objective-C ↵Devang Patel2012-02-043-3/+16
| | | | | | property's debug info. llvm-svn: 149736
* Introduce DIObjCProperty. This will be used to encode objective-c property.Devang Patel2012-02-044-0/+72
| | | | llvm-svn: 149732
* [fast-isel] HandlePHINodesInSuccessorBlocks() can promite i8 and i16 types too.Chad Rosier2012-02-042-2/+46
| | | | llvm-svn: 149730
* Update to the new EH system...remove OLD EH code.Bill Wendling2012-02-041-88/+4
| | | | llvm-svn: 149728
* Drop ZeroIndex and InvalidIndex.Jakob Stoklund Olesen2012-02-042-13/+0
| | | | | | | They are not used any more. Simply use SlotIndex() to get an invalid index. llvm-svn: 149727
* Add new tag and an attribute to support debug info for objective-c property.Devang Patel2012-02-032-0/+4
| | | | llvm-svn: 149724
* Trim headers.Jakob Stoklund Olesen2012-02-031-8/+0
| | | | llvm-svn: 149722
* Delete some dead code.Jakob Stoklund Olesen2012-02-032-8/+0
| | | | llvm-svn: 149717
* [fast-isel] Add support for URem.Chad Rosier2012-02-031-8/+10
| | | | llvm-svn: 149716
* Handle register mask operands in setPhysRegsDeadExcept().Jakob Stoklund Olesen2012-02-032-0/+15
| | | | | | | | | | | Calls that use register mask operands don't have implicit defs for returned values. The register mask operand handles the call clobber, but it always behaves like a set of dead defs. Add live implicit defs for any implicitly defined physregs that are actually used. llvm-svn: 149715
* [fast-isel] Rename isZExt to isSigned. No functional change intended.Chad Rosier2012-02-031-13/+14
| | | | llvm-svn: 149714
* Increment DFAStateEntryTable index for sentinel entry.Brendon Cahoon2012-02-031-1/+3
| | | | | | | | | When adding the {-1, -1} entry to the DFAStateInputTable, we need to increment the index used to populate the DFAStateEntryTable. Otherwise, the entry table will be off by one for each transition after the {-1, -1} entry. PR11908. llvm-svn: 149713
* [fast-isel] Add support for UDIV.Chad Rosier2012-02-031-8/+10
| | | | llvm-svn: 149712
* ArrayRef'ize MI::setPhysRegsDeadExcept().Jakob Stoklund Olesen2012-02-032-4/+5
| | | | llvm-svn: 149709
* Handle all live physreg defs in the same place.Jakob Stoklund Olesen2012-02-032-44/+47
| | | | | | | | | | | SelectionDAG has 4 different ways of passing physreg defs to users. Collect all of the uses at the same time, and pass all of them to MI->setPhysRegsDeadExcept() to mark the remaining defs dead. The setPhysRegsDeadExcept() function will soon add the required implicit-defs to instructions with register mask operands. llvm-svn: 149708
* [fast-isel] Add support for FPToUI. Also add test cases for FPToSI.Chad Rosier2012-02-032-6/+60
| | | | llvm-svn: 149706
* Initialize all common codegen passes before configuration so we can use ↵Andrew Trick2012-02-032-2/+8
| | | | | | their PassIDs. llvm-svn: 149705
* [fast-isel] Add support for selecting UIToFP.Chad Rosier2012-02-032-6/+102
| | | | llvm-svn: 149704
* Simplify some GEP checks in the verifier.Duncan Sands2012-02-031-4/+2
| | | | llvm-svn: 149698
* The type-legalizer often scalarizes code. One of the common patterns is ↵Nadav Rotem2012-02-033-1/+43
| | | | | | | | | extract-and-truncate. In this patch we optimize this pattern and convert the sequence into extract op of a narrow type. This allows the BUILD_VECTOR dag optimizations to construct efficient shuffle operations in many cases. llvm-svn: 149692
* Remove getShuffleVPERMILPImmediate function, getShuffleSHUFImmediate ↵Craig Topper2012-02-031-30/+1
| | | | | | performs the same calculation. llvm-svn: 149683
OpenPOWER on IntegriCloud