summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR3411. When replacing values, nodes are analyzedDuncan Sands2009-02-031-5/+7
| | | | | | | | | in any old order. Since analyzing a node analyzes its operands also, this can mean that when we pop a node off the list of nodes to be analyzed, it may already have been analyzed. llvm-svn: 63632
* APInt'fy SimplifyDemandedVectorElts so it can analyze vectors with more than ↵Evan Cheng2009-02-031-49/+54
| | | | | | 64 elements. llvm-svn: 63631
* add another case of undefined behavior without crashing, PR3466.Chris Lattner2009-02-031-2/+3
| | | | llvm-svn: 63620
* Revert r63600. It didn't fix the bug, it just moved it a bit.Nick Lewycky2009-02-031-7/+2
| | | | llvm-svn: 63618
* Teach AliasAnalysis that a bunch of the atomic intrinsics only dereference ↵Owen Anderson2009-02-031-0/+22
| | | | | | their arguments. llvm-svn: 63616
* Update the callgraph when replacing InvokeInst with CallInst when inlining.Nick Lewycky2009-02-031-3/+8
| | | | llvm-svn: 63600
* Explicitly pass in debug location information to BuildMI.Bill Wendling2009-02-034-4/+6
| | | | llvm-svn: 63599
* Pass in something sensible for the debug location information when creating theBill Wendling2009-02-033-6/+52
| | | | | | initial PHI nodes of the machine function. llvm-svn: 63598
* fix a bitcode reader bug where it can't handle extractelement correctly:Chris Lattner2009-02-031-2/+1
| | | | | | the index of the value being extracted is always an i32. This fixes PR3465 llvm-svn: 63597
* Teach ConvertUsesToScalar to handle memset, allowing it to handle Chris Lattner2009-02-031-21/+55
| | | | | | | | | | | | | | crazy cases like: struct f { int A, B, C, D, E, F; }; short test4() { struct f A; A.A = 1; memset(&A.B, 2, 12); return A.C; } llvm-svn: 63596
* Fill in some missing DL propagation in getNode()s.Dale Johannesen2009-02-031-22/+24
| | | | llvm-svn: 63595
* Use SDL->getCurDebugLoc() instead of unknown loc for landing pads.Bill Wendling2009-02-031-1/+1
| | | | llvm-svn: 63594
* Explicitly pass in the "unknown" debug location. This is probably notBill Wendling2009-02-032-2/+3
| | | | | | | correct. We need more infrastructure before we can get the DebugLoc info for these instructions. llvm-svn: 63593
* Alphabetize includes.Bill Wendling2009-02-031-1/+1
| | | | llvm-svn: 63591
* rearrange how SRoA handles promotion of allocas to vectors.Chris Lattner2009-02-031-93/+120
| | | | | | | | | | With the new world order, it can handle cases where the first store into the alloca is an element of the vector, instead of requiring the first analyzed store to have the vector type itself. This allows us to un-xfail test/CodeGen/X86/vec_ins_extract.ll. llvm-svn: 63590
* Move isIdentifiedObject and isNoAliasCall into AliasAnalysis.cpp sinceDan Gohman2009-02-032-24/+24
| | | | | | | | they are useful to analyses other than BasicAliasAnalysis.cpp. Include the full comment for isIdentifiedObject in the header file. Thanks to Chris for suggeseting this. llvm-svn: 63589
* Propagate debug loc info during SDNode -> machine instr creation.Bill Wendling2009-02-031-6/+9
| | | | llvm-svn: 63585
* Create DebugLoc information in FastISel. Several temporary methods wereBill Wendling2009-02-035-34/+47
| | | | | | | created. Specifically, those BuildMIs which use "DebugLoc::getUnknownLoc()". I'll remove them soon. llvm-svn: 63584
* Propagation in TargetLowering. Includes passing a DLDale Johannesen2009-02-035-113/+132
| | | | | | into SimplifySetCC which gets called elsewhere. llvm-svn: 63583
* Use the SubclassData field to hold ExtType, isTrunc, and MemIndexedModeDan Gohman2009-02-031-45/+40
| | | | | | | | information. This eliminates the need for the Flags field in MemSDNode, so this makes LoadSDNode and StoreSDNode smaller. Also, it makes FoldingSetNodeIDs for loads and stores two AddIntegers smaller. llvm-svn: 63577
* Change Feature64Bit to not imply FeatureSSE2. All x86-64 hardware hasDan Gohman2009-02-032-17/+22
| | | | | | | | | | | | | | SSE2, however it's possible to disable SSE2, and the subtarget support code thinks that if 64-bit implies SSE2 and SSE2 is disabled then 64-bit should also be disabled. Instead, just mark all the 64-bit subtargets as explicitly supporting SSE2. Also, move the code that makes -march=x86-64 enable 64-bit support by default to only apply when there is no explicit subtarget. If you need to specify a subtarget and you want 64-bit code, you'll need to select a subtarget that supports 64-bit code. llvm-svn: 63575
* Last DebugLoc propagation for this file.Dale Johannesen2009-02-021-180/+204
| | | | llvm-svn: 63574
* More DebugLoc propagation. This should be everythingDale Johannesen2009-02-021-100/+112
| | | | | | except LegalizeOp itself. llvm-svn: 63560
* Improve -fno-opt style option processing to not require an extraMike Stump2009-02-021-19/+2
| | | | | | | option to make the -fno- form on the option. We also document the new form in the CommandLine documentation. llvm-svn: 63559
* MergeValueInto is too smart: it might choose to do the merge the opposite ↵Owen Anderson2009-02-022-3/+21
| | | | | | | | | direction. Live interval reconstruction needs to account for this, and scour its maps to prevent dangling references. llvm-svn: 63558
* DebugLoc propagation. ExpandOp and PromoteOp,Dale Johannesen2009-02-021-307/+330
| | | | | | among others. llvm-svn: 63555
* Only force SSE level if it is not correct.Torok Edwin2009-02-021-3/+10
| | | | | | Add an assert to check HasX86_64 status. llvm-svn: 63552
* Commit missing files.Dale Johannesen2009-02-021-0/+14
| | | | llvm-svn: 63545
* inline SROA::ConvertToScalar, no functionality change.Chris Lattner2009-02-021-20/+14
| | | | llvm-svn: 63544
* More DebugLoc propagation.Dale Johannesen2009-02-021-109/+127
| | | | llvm-svn: 63543
* remove #if 0 code on Bill's request.Torok Edwin2009-02-021-4/+0
| | | | llvm-svn: 63542
* Remove trailing spaces.Duncan Sands2009-02-023-15/+15
| | | | llvm-svn: 63540
* DebugLoc propagation for int<->fp conversions.Dale Johannesen2009-02-021-74/+89
| | | | llvm-svn: 63537
* Refactor PerformPHIConstruction, no functionality changes.Evan Cheng2009-02-021-125/+165
| | | | llvm-svn: 63536
* Fix a bug which caused us to miscompile a couple of AdaChris Lattner2009-02-021-1/+6
| | | | | | tests. Thanks for the beautiful reduced testcase Duncan! llvm-svn: 63529
* Do not add redundant arguments in a method definition DIE.Devang Patel2009-02-021-11/+18
| | | | llvm-svn: 63527
* Duncan's patch. Further to 64382. Takes care of illegal types for shift amount.Sanjiv Gupta2009-02-022-0/+28
| | | | llvm-svn: 63523
* Made the common case of default address space directive as non-virtual for ↵Sanjiv Gupta2009-02-022-26/+22
| | | | | | performance reasons. Provide a single virtual interface for directives of all sizes in non-default address spaces. llvm-svn: 63521
* Fix a comment (bytes -> bits), reformat a commentDuncan Sands2009-02-021-29/+29
| | | | | | | and remove trailing whitespace. No functionality change. llvm-svn: 63511
* Fix an obvious thinko.Duncan Sands2009-02-021-1/+1
| | | | llvm-svn: 63510
* ADD / SUB / SMUL / UMUL with overflow second result top bits must be zero.Evan Cheng2009-02-021-0/+8
| | | | llvm-svn: 63509
* Add comment.Evan Cheng2009-02-021-0/+2
| | | | llvm-svn: 63506
* Teach LowerBRCOND to recognize (xor (setcc x), 1). The xor inverts the ↵Evan Cheng2009-02-021-0/+21
| | | | | | condition. It's normally transformed by the dag combiner, unless the condition is set by a arithmetic op with overflow. llvm-svn: 63505
* reject things like: zext <4 x i32> %tmp to i256Chris Lattner2009-02-021-0/+10
| | | | llvm-svn: 63504
* Fix PR3372Chris Lattner2009-02-021-2/+3
| | | | llvm-svn: 63501
* reduce indentation, (~XorCST->getValue()).isSignBit() -> isMaxSignedValue()Chris Lattner2009-02-021-20/+19
| | | | llvm-svn: 63500
* Preserve more SourceValue information.Mon P Wang2009-02-022-8/+18
| | | | llvm-svn: 63498
* Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack forTorok Edwin2009-02-013-5/+24
| | | | | | var-args, and don't allow FP return values llvm-svn: 63495
* Fix PR3453 and probably a bunch of other potentialDuncan Sands2009-02-014-23/+24
| | | | | | | | | crashes or wrong code with codegen of large integers: eliminate the legacy getIntegerVTBitMask and getIntegerVTSignBit methods, which returned their value as a uint64_t, so couldn't handle huge types. llvm-svn: 63494
* Forgot some more DebugLoc propagations.Bill Wendling2009-02-011-17/+22
| | | | llvm-svn: 63493
OpenPOWER on IntegriCloud