aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use a SmallSet when we can to reduce memory allocations.Owen Anderson2008-06-271-1/+2
| | | | | | | This speeds up a particular testcase from 0.0302s to 0.0222s in LiveVariables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52819 91177308-0d34-0410-b5e6-96231b3b80d8
* Cache subregister relationships in a set in TargetRegisterInfo to allow ↵Owen Anderson2008-06-272-3/+13
| | | | | | | | | faster lookups. This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52818 91177308-0d34-0410-b5e6-96231b3b80d8
* fix the regressions from Eric's patch by making GetConstantStringInfoChris Lattner2008-06-272-30/+35
| | | | | | | | tolerate a non-nul-terminated string, and handling a direct global reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52813 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify this check, GetConstantStringInfo validates that aChris Lattner2008-06-271-5/+3
| | | | | | | global is constant already. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52812 91177308-0d34-0410-b5e6-96231b3b80d8
* test doesn't need eh infoChris Lattner2008-06-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52811 91177308-0d34-0410-b5e6-96231b3b80d8
* when linking globals, make sure to preserve the address space of the global.Chris Lattner2008-06-272-4/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52810 91177308-0d34-0410-b5e6-96231b3b80d8
* More cruft from revert...Bill Wendling2008-06-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52809 91177308-0d34-0410-b5e6-96231b3b80d8
* Cruft left from patch revert...sorry. :-(Bill Wendling2008-06-271-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52808 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting broken patch r52803.Bill Wendling2008-06-273-91/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52806 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't perform expensive queries checking for super and sub registers when we ↵Owen Anderson2008-06-271-1/+2
| | | | | | | | | know that there aren't any. This speed up LiveVariables on instcombine at -O0 -g from 0.3855s to 0.3503s. Look for more improvements in this area soon! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52804 91177308-0d34-0410-b5e6-96231b3b80d8
* - Remove a use of std::vector.Bill Wendling2008-06-273-35/+49
| | | | | | | | - Make sure that we're not recalculating the size of a vector that never changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52803 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor the DebugInfoDesc stuff out of the MachineModuleInfo file. Clean upBill Wendling2008-06-277-1493/+1351
| | | | | | | some uses of std::vector, where it's return std::vector by value. Yuck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52800 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a note for Thunderbird users to the Developer Policy.Gordon Henriksen2008-06-261-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52797 91177308-0d34-0410-b5e6-96231b3b80d8
* allow updating the MPM, so that you can use one FunctionPAssManager withChris Lattner2008-06-261-0/+6
| | | | | | | multiple ModuleProviders, e.g. with the JIT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52796 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL for now.Evan Cheng2008-06-261-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52795 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove warnings about shadowed and unused variables.Bill Wendling2008-06-263-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52791 91177308-0d34-0410-b5e6-96231b3b80d8
* Update VS project files. The clang executable now depends on the LLVM ↵Ted Kremenek2008-06-262-165/+6
| | | | | | Analysis library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52789 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a DenseMap instead of an std::map for mangled name lookup. This is Owen Anderson2008-06-261-1/+2
| | | | | | | improves AsmPrinter runtime on instcombine from 0.3920s to 0.3836s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52787 91177308-0d34-0410-b5e6-96231b3b80d8
* duncan points out that isOperationLegal includes a check forChris Lattner2008-06-261-2/+2
| | | | | | | type legality. Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52786 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't create a whole new string just to copy the elements into it.Owen Anderson2008-06-261-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52785 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the -enable-pre flag so this test doesn't fail.Owen Anderson2008-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52784 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LLVM compile on DragonFly BSD (PR2499).Matthijs Kooijman2008-06-265-27/+37
| | | | | | | Patch by Hasso Tepper! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52781 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing semicolumn in my last commit.Matthijs Kooijman2008-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52780 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comments wrt createInternalize.Matthijs Kooijman2008-06-261-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52779 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup for unitialized types. Patch by Jean-Daniel Dupas!Bill Wendling2008-06-261-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52775 91177308-0d34-0410-b5e6-96231b3b80d8
* "An improved Mach-O file type detection for sys::IdentifyFileType()Chris Lattner2008-06-261-18/+32
| | | | | | | | | | | This patch add supports for single architecture mach-o files (the current implementation only support Universal Binary), and solve the signature conflict between java class and Universal Binary magics. Note that this function will always returned dynamic library for Universal Binaries (like the current implementation) because the binary type is not include in the file header." Patch by Jean-Daniel Dupas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52766 91177308-0d34-0410-b5e6-96231b3b80d8
* Reserve the size we'll need in advance.Owen Anderson2008-06-261-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52763 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow for rounding up of stack frame.Dale Johannesen2008-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52751 91177308-0d34-0410-b5e6-96231b3b80d8
* 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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52750 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused function.Eric Christopher2008-06-261-82/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52749 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52748 91177308-0d34-0410-b5e6-96231b3b80d8
* 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52747 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52745 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the text in an assert string.Dan Gohman2008-06-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52744 91177308-0d34-0410-b5e6-96231b3b80d8
* - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52740 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52739 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement JIT support for global aliases, patch by David Chisnall!Chris Lattner2008-06-251-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52738 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore DeadArgElim back to 52570. It's breaking 447.dealII.Evan Cheng2008-06-251-527/+374
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52736 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52734 91177308-0d34-0410-b5e6-96231b3b80d8
* fix compilation errors in my previous patchChris Lattner2008-06-251-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52733 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new InvalidateInstructionCache method to sys::Memory.Chris Lattner2008-06-252-32/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52731 91177308-0d34-0410-b5e6-96231b3b80d8
* jump threading can introduce allocas, make sure we promote Chris Lattner2008-06-251-0/+2
| | | | | | | them back to registers! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52729 91177308-0d34-0410-b5e6-96231b3b80d8
* run mem2reg after the second jump threading pass in llvm-ld.Chris Lattner2008-06-251-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52728 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a bunch of dead options that never did anything.Chris Lattner2008-06-251-28/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52727 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some dead options.Chris Lattner2008-06-251-29/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52726 91177308-0d34-0410-b5e6-96231b3b80d8
* SimpleInstructionSelector is here no more.Dan Gohman2008-06-251-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52725 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52724 91177308-0d34-0410-b5e6-96231b3b80d8
* Pacify gcc-4.3.Duncan Sands2008-06-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52723 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the OrigVT member from AtomicSDNode, as it is redundant withDan Gohman2008-06-257-38/+31
| | | | | | | the base SDNode's VTList. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52722 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify shell syntax to work better on solaris, patch byChris Lattner2008-06-251-1/+1
| | | | | | | Nathan Keynes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52721 91177308-0d34-0410-b5e6-96231b3b80d8