summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* a temporary minimal hack to get clang building after the getStringValue ↵Chris Lattner2008-06-262-7/+18
| | | | | | changes in llvm mainline. llvm-svn: 52753
* Allow for rounding up of stack frame.Dale Johannesen2008-06-261-1/+1
| | | | llvm-svn: 52751
* Fixes the last x86-64 test failure in compat.exp:Dale Johannesen2008-06-264-7/+18
| | | | | | | | | | | | | <16 x float> is 64-byte aligned (for some reason), which gets us into the stack realignment code. The computation changing FP-relative offsets to SP-relative was broken, assiging a spill temp to a location also used for parameter passing. This fixes it by rounding up the stack frame to a multiple of the largest alignment (I concluded it wasn't fixable without doing this, but I'm not very sure.) llvm-svn: 52750
* Remove unused function.Eric Christopher2008-06-261-82/+1
| | | | llvm-svn: 52749
* Move GetConstantStringInfo to lib/Analysis. RemoveEric Christopher2008-06-2610-64/+120
| | | | | | | | | string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. llvm-svn: 52748
* when we know the signbit of an input to uint_to_fp is zero,Chris Lattner2008-06-262-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change it to sint_to_fp on targets where that is cheaper (and visaversa of course). This allows us to compile uint_to_fp to: _test: movl 4(%esp), %eax shrl $23, %eax cvtsi2ss %eax, %xmm0 movl 8(%esp), %eax movss %xmm0, (%eax) ret instead of: .align 3 LCPI1_0: ## double .long 0 ## double least significant word 4.5036e+15 .long 1127219200 ## double most significant word 4.5036e+15 .text .align 4,0x90 .globl _test _test: subl $12, %esp movl 16(%esp), %eax shrl $23, %eax movl %eax, (%esp) movl $1127219200, 4(%esp) movsd (%esp), %xmm0 subsd LCPI1_0, %xmm0 cvtsd2ss %xmm0, %xmm0 movl 20(%esp), %eax movss %xmm0, (%eax) addl $12, %esp ret llvm-svn: 52747
* Updated latest checker build to checker-45.Ted Kremenek2008-06-261-1/+1
| | | | llvm-svn: 52746
* Remember which MachineOperand we were processing, so we don't have to scan ↵Owen Anderson2008-06-252-14/+18
| | | | | | | | the list to find it again later. This speeds up live intervals from 0.37s to 0.30s on instcombine. llvm-svn: 52745
* Fix the text in an assert string.Dan Gohman2008-06-251-1/+1
| | | | llvm-svn: 52744
* CF ref checker:Ted Kremenek2008-06-252-245/+490
| | | | | | | | | | | | | | Tracked objects now have their type information tracked with them. Enhanced summaries for ObjC methods to include the type information of the receiver. Used the enhanced summaries to support the idiom that NSWindow owns itself (it sends a release message to itself upon close). Added some comments. Did some cleanups with the checker logic using operator overloading (reduced redundant code which I was concerned about being the source of bugs). llvm-svn: 52741
* - Fix a x86 vector isel bug: illegal transformation of a vector_shuffle into aEvan Cheng2008-06-254-15/+54
| | | | | | | | shift. - Add a readme entry for a missing vector_shuffle optimization that results in awful codegen. llvm-svn: 52740
* Add support for expanding PPC 128 bit floats.Duncan Sands2008-06-256-13/+221
| | | | | | | | | | | | | | | | | | | | For this it is convenient to permit floats to be used with EXTRACT_ELEMENT, so I tweaked things to allow that. I also added libcalls for ppcf128 to i32 forms of FP_TO_XINT, since they exist in libgcc and this case can certainly occur (and does occur in the testsuite) - before the i64 libcall was being used. Also, the XINT_TO_FP result seemed to be wrong when the argument is an i128: the wrong fudge factor was added (the i32 and i64 cases were handled directly, but the i128 code fell through to some generic softening code which seemed to think it was i64 to f32!). So I fixed it by adding a fudge factor that I found in my breakfast cereal. llvm-svn: 52739
* Implement JIT support for global aliases, patch by David Chisnall!Chris Lattner2008-06-251-0/+2
| | | | llvm-svn: 52738
* Restore DeadArgElim back to 52570. It's breaking 447.dealII.Evan Cheng2008-06-251-527/+374
| | | | llvm-svn: 52736
* Add Profile method to QualType.Ted Kremenek2008-06-251-0/+4
| | | | llvm-svn: 52735
* Switch the PPC backend and target-independent JIT to use the libsystem Chris Lattner2008-06-254-37/+5
| | | | | | | InvalidateInstructionCache method instead of calling through a hook on the JIT. This is a host feature, not a target feature. llvm-svn: 52734
* fix compilation errors in my previous patchChris Lattner2008-06-251-4/+5
| | | | llvm-svn: 52733
* Update VS project files.Ted Kremenek2008-06-251-0/+4
| | | | llvm-svn: 52732
* Add a new InvalidateInstructionCache method to sys::Memory.Chris Lattner2008-06-252-32/+60
| | | | llvm-svn: 52731
* jump threading can introduce allocas, make sure we promote Chris Lattner2008-06-251-0/+2
| | | | | | them back to registers! llvm-svn: 52729
* run mem2reg after the second jump threading pass in llvm-ld.Chris Lattner2008-06-251-1/+2
| | | | llvm-svn: 52728
* remove a bunch of dead options that never did anything.Chris Lattner2008-06-251-28/+0
| | | | llvm-svn: 52727
* remove some dead options.Chris Lattner2008-06-251-29/+0
| | | | llvm-svn: 52726
* SimpleInstructionSelector is here no more.Dan Gohman2008-06-251-1/+0
| | | | llvm-svn: 52725
* Add/complete support for integer and floatDuncan Sands2008-06-253-38/+282
| | | | | | | | select_cc and friends. This code could be factorized a bit but I'm not sure that it's worth it. llvm-svn: 52724
* Pacify gcc-4.3.Duncan Sands2008-06-251-1/+1
| | | | llvm-svn: 52723
* Remove the OrigVT member from AtomicSDNode, as it is redundant withDan Gohman2008-06-257-38/+31
| | | | | | the base SDNode's VTList. llvm-svn: 52722
* simplify shell syntax to work better on solaris, patch byChris Lattner2008-06-251-1/+1
| | | | | | Nathan Keynes! llvm-svn: 52721
* Update Xcode project.Ted Kremenek2008-06-251-0/+4
| | | | llvm-svn: 52720
* The assert at Sema::ObjCActOnStartOfMethodDef should check CurMethodDecl ↵Argyrios Kyrtzidis2008-06-251-1/+1
| | | | | | instead of CurFunctionDecl. llvm-svn: 52719
* Set CXXClassVar to identifier namespace IDNS_Ordinary.Argyrios Kyrtzidis2008-06-251-0/+1
| | | | llvm-svn: 52718
* Updated atomic intrinsic name from llvm r52706. Fixed dropped bit in shufps.Mon P Wang2008-06-251-4/+4
| | | | llvm-svn: 52707
* Added MemOperands to Atomic operations since Atomics touches memory.Mon P Wang2008-06-2526-507/+911
| | | | | | | | Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub llvm-svn: 52706
* Fix a (false) warning on darwin.Matthijs Kooijman2008-06-251-1/+3
| | | | llvm-svn: 52705
* Fix some cosmetics in comments.Matthijs Kooijman2008-06-251-6/+6
| | | | llvm-svn: 52704
* - Use O(1) check of basic block size limit.Evan Cheng2008-06-251-4/+8
| | | | | | - Avoid speculatively execute vector ops. llvm-svn: 52703
* Fix PR2488, a case where we deleted stack restores too aggressively.Chris Lattner2008-06-252-4/+48
| | | | llvm-svn: 52702
* Enable two-address remat by default.Evan Cheng2008-06-254-37/+102
| | | | llvm-svn: 52701
* Use push_back rather than operator[], which is incorrect in this cases. ↵Owen Anderson2008-06-251-1/+1
| | | | | | | | Unfortunately, this slow the testcase down a little bit, but only marginally. llvm-svn: 52700
* Use present tense when talking about User layout. It is implemented now.Gabor Greif2008-06-251-10/+10
| | | | llvm-svn: 52699
* 'Educate' IdentifierResolver about the declaration context of CXXFieldDecls.Argyrios Kyrtzidis2008-06-241-0/+4
| | | | llvm-svn: 52698
* Set CXXMethod to identifier namespace IDNS_Ordinary.Argyrios Kyrtzidis2008-06-241-0/+1
| | | | llvm-svn: 52697
* The only caller of this knows that the current token is l_brace, so this can ↵Argyrios Kyrtzidis2008-06-241-12/+1
| | | | | | be an assert; suggestion by Chris. llvm-svn: 52696
* Add parsing support for C++ classes.Argyrios Kyrtzidis2008-06-2411-3/+578
| | | | | | | Note that Parser::ParseCXXMemberSpecification is temporarily disabled until the Sema support is in place. Once ParseCXXMemberSpecification is enabled, the Parser/cxx-class.cpp test will pass. llvm-svn: 52694
* Append to the ActiveTimers std::vector before looking at the timer insteadDan Gohman2008-06-241-1/+1
| | | | | | | | of after, so that any reallocation it does doesn't get counted for the pass being timed. This probably doesn't account for a timing discrepancy I was looking into, but I'm fixing it anyway. llvm-svn: 52693
* v2f32 is now a valid (MMX) type which breaks thisDale Johannesen2008-06-241-3/+3
| | | | | | | | | test (doesn't work for any MMX vector types, it's not me). Rewritten to use v2i16 which is generic and going to stay that way; I think that preserves the point of the test. llvm-svn: 52692
* Add v2f32 (MMX) type to X86. Support is primitive:Dale Johannesen2008-06-244-8/+29
| | | | | | | load,store,call,return,bitcast. This is enough to make call and return work. llvm-svn: 52691
* In ConstantArray::getAsString(), we know the size of the resultant string in ↵Owen Anderson2008-06-241-1/+2
| | | | | | | | advance so we can pre-allocate it and just fill in the entries. This improves the time for the AsmPrinter on InstructionCombining.cpp from 0.4248s to 0.3370s. llvm-svn: 52690
* Use SmallVector instead of std::vector for a minor compile time improvement.Owen Anderson2008-06-241-11/+11
| | | | llvm-svn: 52689
* Revert 52645, the loop unroller changes. It caused a regression in 252.eon.Dan Gohman2008-06-243-192/+103
| | | | llvm-svn: 52688
OpenPOWER on IntegriCloud