summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Unbreak my CMake build, say you'll compile for me again...Douglas Gregor2010-07-281-0/+1
| | | | llvm-svn: 109598
* Fix this code to avoid decrementing an iterator past the beginningDan Gohman2010-07-281-5/+2
| | | | | | of a std::vector. llvm-svn: 109597
* When user code intentionally dereferences null, the alignment of theDan Gohman2010-07-281-2/+7
| | | | | | | dereference is theoretically infinite. Put a cap on the computed alignment to avoid overflow, noticed by John Regehr. llvm-svn: 109596
* Do GEP offset calculations with unsigned math rather than signed mathDan Gohman2010-07-281-1/+1
| | | | | | to avoid undefined behavior on overflow, noticed by John Regehr. llvm-svn: 109594
* Add some extra friend declarations to fix a gcc-4.0 compile error.Dan Gohman2010-07-282-0/+3
| | | | | | This is a temporary fix, until more elaborate changes are ready. llvm-svn: 109593
* simplifyGabor Greif2010-07-281-2/+2
| | | | llvm-svn: 109589
* Support: Add CrashRecoveryContext helper object.Daniel Dunbar2010-07-282-0/+170
| | | | | | | | | - Designed as a simple wrapper to allow clients to attempt to catch crashes (memory errors, assertion violations, etc.) and do some kind of recovery. - Currently doesn't actually attempt to catch crashes. llvm-svn: 109586
* simplifyGabor Greif2010-07-281-4/+2
| | | | llvm-svn: 109585
* use Value* constructor of CallSite to create potentially improper site, and ↵Gabor Greif2010-07-281-2/+1
| | | | | | test that llvm-svn: 109581
* use Value* constructor of CallSite to create potentially improper site, and ↵Gabor Greif2010-07-281-3/+3
| | | | | | test that llvm-svn: 109580
* use Value* constructor of CallSite to create potentially improper siteGabor Greif2010-07-281-2/+2
| | | | llvm-svn: 109579
* simplifyGabor Greif2010-07-281-1/+1
| | | | llvm-svn: 109578
* simplifyGabor Greif2010-07-281-2/+1
| | | | llvm-svn: 109577
* we are supposed to only create proper CallSites from an instruction (esp. ↵Gabor Greif2010-07-281-2/+2
| | | | | | CallInst and InvokeInst) llvm-svn: 109576
* Filter out patterns that have PredicateOperands.Eric Christopher2010-07-281-0/+12
| | | | llvm-svn: 109572
* Make SCEVCallbackVH::allUsesReplacedWith update the old SCEVUnknownDan Gohman2010-07-281-22/+39
| | | | | | | | | | | | object, as it may still be referenced by SCEVs not cleaned up by the use list traversal. Also, in ScalarEvolution::forgetValue, only check for a SCEVUnknown object for the original value, not for any value in the use list, because other SCEVUnknown values aren't necessary obsolete at that point. llvm-svn: 109570
* Make SCEVCallbackVH::allUsesReplacedWith unconditionally deleteDan Gohman2010-07-281-12/+6
| | | | | | the old value. llvm-svn: 109567
* Implement a vectorized algorithm for <16 x i8> << <16 x i8>Nate Begeman2010-07-282-22/+85
| | | | | | This is about 4x faster and smaller than the existing scalarization. llvm-svn: 109566
* Add a comment.Dan Gohman2010-07-281-0/+2
| | | | llvm-svn: 109565
* Rearrange several datastructures in LazyValueInfo to improve compile time.Owen Anderson2010-07-271-69/+35
| | | | | | This is still not perfect, but better than it was before. llvm-svn: 109563
* Fill out the interface of DenseSet a bit.Owen Anderson2010-07-271-0/+6
| | | | llvm-svn: 109562
* Testcase for r109556. Radar 8198362.Stuart Hastings2010-07-271-0/+18
| | | | llvm-svn: 109557
* reintroduce original (asserting) semantics of CallSite(Instruction *II)Gabor Greif2010-07-272-1/+3
| | | | | | | add instead a CallSite(Value* V) constructor that is consistent with ImmutableCallSize and use that one in client code llvm-svn: 109553
* ~40% faster vector shl <4 x i32> on SSE 4.1 Larger improvements for smaller ↵Nate Begeman2010-07-273-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types coming in future patches. For: define <2 x i64> @shl(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp { entry: %shl = shl <4 x i32> %r, %a ; <<4 x i32>> [#uses=1] %tmp2 = bitcast <4 x i32> %shl to <2 x i64> ; <<2 x i64>> [#uses=1] ret <2 x i64> %tmp2 } We get: _shl: ## @shl pslld $23, %xmm1 paddd LCPI0_0, %xmm1 cvttps2dq %xmm1, %xmm1 pmulld %xmm1, %xmm0 ret Instead of: _shl: ## @shl pshufd $3, %xmm0, %xmm2 movd %xmm2, %eax pshufd $3, %xmm1, %xmm2 movd %xmm2, %ecx shll %cl, %eax movd %eax, %xmm2 pshufd $1, %xmm0, %xmm3 movd %xmm3, %eax pshufd $1, %xmm1, %xmm3 movd %xmm3, %ecx shll %cl, %eax movd %eax, %xmm3 punpckldq %xmm2, %xmm3 movd %xmm0, %eax movd %xmm1, %ecx shll %cl, %eax movd %eax, %xmm2 movhlps %xmm0, %xmm0 movd %xmm0, %eax movhlps %xmm1, %xmm1 movd %xmm1, %ecx shll %cl, %eax movd %eax, %xmm0 punpckldq %xmm0, %xmm2 movdqa %xmm2, %xmm0 punpckldq %xmm3, %xmm0 ret llvm-svn: 109549
* recommit simplification (originally r109504, backed out in r109508) now that ↵Gabor Greif2010-07-271-3/+2
| | | | | | problem in CallSiteBase is fixed llvm-svn: 109547
* remove bogus assert, use static_cast for additional checkingGabor Greif2010-07-271-5/+4
| | | | | | left two new asserts commented out, because they would fire in clang, have to hunt those down first llvm-svn: 109544
* It is FE's responsibility to emit proper directory name.Devang Patel2010-07-271-4/+1
| | | | llvm-svn: 109538
* make lookup failures not fatal.Chris Lattner2010-07-271-1/+6
| | | | llvm-svn: 109530
* GrammarJim Grosbach2010-07-271-3/+3
| | | | llvm-svn: 109525
* Update tests to not rely on input file's absolute path.Devang Patel2010-07-273-4/+4
| | | | llvm-svn: 109521
* Fix a crash in the dag combiner caused by ↵Nate Begeman2010-07-272-2/+16
| | | | | | | | ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself recursively and returning a SCALAR_TO_VECTOR node, but assuming the input was always a BUILD_VECTOR. llvm-svn: 109519
* 80 columnJim Grosbach2010-07-271-4/+4
| | | | llvm-svn: 109513
* fix typoJim Grosbach2010-07-271-1/+1
| | | | llvm-svn: 109511
* recommit simplification (r109502, backed out r109509); seems to innocentGabor Greif2010-07-271-1/+1
| | | | llvm-svn: 109510
* back out this too to restore the botsGabor Greif2010-07-271-1/+1
| | | | llvm-svn: 109509
* back out r109504, breaks the botsGabor Greif2010-07-271-2/+3
| | | | llvm-svn: 109508
* simplify: CallSite::get --> CallSite constructorGabor Greif2010-07-271-4/+4
| | | | llvm-svn: 109506
* simplifyGabor Greif2010-07-271-3/+2
| | | | llvm-svn: 109504
* use ImmutableCallSite for const-corrgoodnessGabor Greif2010-07-271-4/+4
| | | | llvm-svn: 109503
* simplifyGabor Greif2010-07-271-1/+1
| | | | llvm-svn: 109502
* Fix silent failure with no input files.Mikhail Glushenkov2010-07-271-0/+7
| | | | llvm-svn: 109500
* Return -1 only on failure to execute a program.Mikhail Glushenkov2010-07-276-48/+59
| | | | | | Also fix some comments. llvm-svn: 109499
* In commit 91421, isPod was changed from false to true for these value handles.Duncan Sands2010-07-271-6/+0
| | | | | | Change it back again: destructors and constructors need to be run. llvm-svn: 109498
* Make coff-dump.py executable and add python as executable for this script.Tobias Grosser2010-07-271-0/+1
| | | | | | This fixes the MC/COFF/basic-coff.ll test case. llvm-svn: 109497
* RegionInfo: Add getMaxRegionExit()Tobias Grosser2010-07-272-0/+45
| | | | | | | getMaxRegionExit returns the exit of the maximal refined region starting at a specific basic block. llvm-svn: 109496
* After updating value handles for RAUW, check that no weak or tracking handlesDuncan Sands2010-07-271-1/+19
| | | | | | | | are still on the list. This might happen if a CallbackVH created some new value handles for the old value when doing RAUW. Barf if it occurs, since it is almost certainly a mistake. llvm-svn: 109495
* Make MC use Windows COFF on Windows and add tests.Michael J. Spencer2010-07-276-0/+711
| | | | llvm-svn: 109494
* Add function to query RegionInfo about loops.Tobias Grosser2010-07-272-10/+98
| | | | | | | * contains(Loop), * getOutermostLoop() * Improve getNameStr() to return a sensible name, if basic blocks are not named. llvm-svn: 109490
* The isLoadFromStackSlot and isStoreToStackSlot have no way of reportingJakob Stoklund Olesen2010-07-271-2/+3
| | | | | | | | | | | | | subregister operands like this: %reg1040:sub_32bit<def> = MOV32rm <fi#-2>, 1, %reg0, 0, %reg0, %reg1040<imp-def>; mem:LD4[FixedStack-2](align=8) Make them return false when subreg operands are present. VirtRegRewriter is making bad assumptions otherwise. This fixes PR7713. llvm-svn: 109489
* Add assertions that expose the PR7713 miscompilation: Accessing a stack slotJakob Stoklund Olesen2010-07-271-0/+4
| | | | | | with a too-big register class. llvm-svn: 109488
OpenPOWER on IntegriCloud