summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* simplify by using CallSite constructors; virtually eliminates CallSite::get ↵Gabor Greif2010-07-289-26/+26
| | | | | | from the tree llvm-svn: 109687
* Add an erase() method to llvm::ThreadLocal.Owen Anderson2010-07-284-0/+13
| | | | llvm-svn: 109686
* Add more doxygen comments for llvm::ThreadLocal.Owen Anderson2010-07-281-0/+9
| | | | llvm-svn: 109683
* Get rid of LVIQuery as a distinct data structure, so that we don't have to ↵Owen Anderson2010-07-281-93/+66
| | | | | | initialize a new set of maps on every query. llvm-svn: 109679
* Move MaximumAlignment to Value.h, now that GlobalValue.h needs it.Dan Gohman2010-07-282-4/+4
| | | | llvm-svn: 109656
* Make GlobalValue alignment consistent with load, store, and allocaDan Gohman2010-07-283-5/+13
| | | | | | alignment, fixing silent truncation of alignment values. llvm-svn: 109653
* Create a fixed stack object for varargs that is as large as any register.Jakob Stoklund Olesen2010-07-281-1/+4
| | | | | | | | | | The size of this object isn't used for anything - technically it is of variable size. This avoids a false positive from the assert in X86InstrInfo::loadRegFromStackSlot, and fixes PR7735. llvm-svn: 109652
* Added first bit of support for the dwarf .file directive. This patch collectsKevin Enderby2010-07-286-1/+178
| | | | | | | the info from the .file directive and makes file and directory tables that will eventually be put out as part of the dwarf info in the output file. llvm-svn: 109651
* RegionInfo: Make sure to free cached nodes; Tobias, please check!Daniel Dunbar2010-07-281-0/+5
| | | | llvm-svn: 109650
* MC: Put back the MCFragment vtable, so subclasses are destroyed properly (duh).Daniel Dunbar2010-07-282-0/+4
| | | | llvm-svn: 109649
* Regenerate.Eric Christopher2010-07-281-0/+12
| | | | llvm-svn: 109647
* Use a C++ compiler for the atomic builtin check since we'llEric Christopher2010-07-281-0/+4
| | | | | | | | be using a C++ compiler to build. Patch by Török Edwin! llvm-svn: 109646
* Define a maximum supported alignment value for load, store, andDan Gohman2010-07-288-1/+46
| | | | | | | | | alloca instructions (constrained by their internal encoding), and add error checking for it. Fix an instcombine bug which generated huge alignment values (null is infinitely aligned). This fixes undefined behavior noticed by John Regehr. llvm-svn: 109643
* Print out the regclass of any virtual registers used by a machine instruction.Jakob Stoklund Olesen2010-07-281-0/+31
| | | | llvm-svn: 109608
* Fix a warning from gcc-4.0 (from the ppc buildbot).Bob Wilson2010-07-281-0/+2
| | | | llvm-svn: 109605
* Instead of abusing swapProgramIn, just add a Module argument toRafael Espindola2010-07-285-36/+28
| | | | | | EmitProgressBitcode. llvm-svn: 109602
* 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
OpenPOWER on IntegriCloud