aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.Erick Tryzelaar2010-03-066-10/+80
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97858 91177308-0d34-0410-b5e6-96231b3b80d8
* Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.Erick Tryzelaar2010-03-061-1/+1
| | | | | | Luckily this never was released. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97857 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMWriteBitcodeToFileHandle should work on all architectures now.Erick Tryzelaar2010-03-061-11/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97856 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some new bits of debug info handling. NoDale Johannesen2010-03-064-3/+142
| | | | | | | | functional change yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97855 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r97778 and r97779, enabled only for unsigned i64 to f64Dan Gohman2010-03-061-0/+25
| | | | | | | conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97854 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for r97851.Devang Patel2010-03-051-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97852 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake build.Ted Kremenek2010-03-051-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97846 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. ThisCharles Davis2010-03-052-3/+2
| | | | | | | | | | is a workaround for <rdar://problem/7672401/> (which I filed). This let's us build Wine on Darwin, and it gets the Qt build there a little bit further (so Doug says). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97845 91177308-0d34-0410-b5e6-96231b3b80d8
* Move SimplifyLibCalls's LibCall builders to a separate file so theyEric Christopher2010-03-053-386/+453
| | | | | | | | | can be used in more places. Add an argument for the TargetData that most of them need. Update for the getInt8PtrTy() change. Should be no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97844 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for an i8* type accessor.Eric Christopher2010-03-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97841 91177308-0d34-0410-b5e6-96231b3b80d8
* Better handling of dead super registers in LiveVariables. We used to do this:Jakob Stoklund Olesen2010-03-052-22/+22
| | | | | | | | | | | | | | | | | | | | | CALL ... %RAX<imp-def> ... [not using %RAX] %EAX = ..., %RAX<imp-use, kill> RET %EAX<imp-use,kill> Now we do this: CALL ... %RAX<imp-def, dead> ... [not using %RAX] %EAX = ... RET %EAX<imp-use,kill> By not artificially keeping %RAX alive, we lower register pressure a bit. The correct number of instructions for 2008-08-05-SpillerBug.ll is obviously 55, anybody can see that. Sheesh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97838 91177308-0d34-0410-b5e6-96231b3b80d8
* We don't really care about correct register liveness information after theJakob Stoklund Olesen2010-03-052-4/+59
| | | | | | post-ra scheduler has run. Disable the verifier checks that late in the game. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97837 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid creating bad PHI instructions when BR is being const-folded.Jakob Stoklund Olesen2010-03-052-0/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97836 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a case where LSR is sensitive to debug info.Dale Johannesen2010-03-051-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97830 91177308-0d34-0410-b5e6-96231b3b80d8
* Safely turn memset_chk etc. to non-chk variant if the known object size is ↵Evan Cheng2010-03-052-13/+37
| | | | | | >= memset / memcpy / memmove size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97828 91177308-0d34-0410-b5e6-96231b3b80d8
* Instcombine should turn llvm.objectsize of a alloca with static size to an ↵Evan Cheng2010-03-052-9/+42
| | | | | | integer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97827 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo.Evan Cheng2010-03-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97818 91177308-0d34-0410-b5e6-96231b3b80d8
* fix bss section printing for cell, patch by Kalle Raiskila!Chris Lattner2010-03-052-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97814 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR6512, a case where instcombine would incorrectly merge loadsChris Lattner2010-03-052-0/+42
| | | | | | | from different addr spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97813 91177308-0d34-0410-b5e6-96231b3b80d8
* Reworking the stack layout that the MicroBlaze backend generates.Wesley Peck2010-03-056-61/+257
| | | | | | | | | | | | | The MicroBlaze backend was generating stack layouts that did not conform correctly to the ABI. This update generates stack layouts which are closer to what GCC does. Variable arguments support was added as well but the stack layout for varargs has not been finalized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97807 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding MBlaze to cmake target list.Wesley Peck2010-03-051-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97806 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR6503. This turned into a much more interesting and nasty bug. Various Chris Lattner2010-03-054-139/+122
| | | | | | | | | | | | parts of the cmp|cmp and cmp&cmp folding logic wasn't prepared for vectors (unrelated to the bug but noticed while in the code) and the code was *definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic that I added in r95855. Fix all this up by changing the various routines to more consistently use IRBuilder and not pass in the I which had the wrong type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97801 91177308-0d34-0410-b5e6-96231b3b80d8
* make these less sensitive to temporary naming.Chris Lattner2010-03-053-15/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97799 91177308-0d34-0410-b5e6-96231b3b80d8
* remove this testcase, it isn't clear what it was testing and it is subsumed ↵Chris Lattner2010-03-051-18/+0
| | | | | | by or.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97798 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an oops in x86 sibcall optimization. If the ByVal callee argument is ↵Evan Cheng2010-03-052-8/+35
| | | | | | itself passed as a pointer, then it's obviously not safe to do a tail call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97797 91177308-0d34-0410-b5e6-96231b3b80d8
* If LD_LIBRARY_PATH is set in the system environment, use it.Duncan Sands2010-03-051-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97796 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify some functions and make them work with vectorChris Lattner2010-03-051-62/+25
| | | | | | | compares, noticed by inspection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97795 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a nice subtle reassociate bug which would only occurChris Lattner2010-03-052-7/+34
| | | | | | | | in a very specific use pattern embodied in the carefully reduced testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97794 91177308-0d34-0410-b5e6-96231b3b80d8
* Move GetStringLength and helper from SimplifyLibCalls to ValueTracking.Eric Christopher2010-03-053-124/+133
| | | | | | | No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97793 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r97788 because it broke test/FrontendC/2010-02-16-DbgVarScope.c.Jeffrey Yasskin2010-03-053-26/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97792 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR6497, a bug where we'd fold a load into an addcChris Lattner2010-03-052-0/+27
| | | | | | | | | | | | node which has a flag. That flag in turn was used by an already-selected adde which turned into an ADC32ri8 which used a selected load which was chained to the load we folded. This flag use caused us to form a cycle. Fix this by not ignoring chains in IsLegalToFold even in cases where the isel thinks it can. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97791 91177308-0d34-0410-b5e6-96231b3b80d8
* cleanupChris Lattner2010-03-051-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97790 91177308-0d34-0410-b5e6-96231b3b80d8
* inline a small function with one call site.Chris Lattner2010-03-051-16/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97789 91177308-0d34-0410-b5e6-96231b3b80d8
* Free MDNodes when the LLVMContext is destroyed. Leak found by Valgrind.Jeffrey Yasskin2010-03-053-22/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97788 91177308-0d34-0410-b5e6-96231b3b80d8
* Make it not an error to specify -O* options several times.Mikhail Glushenkov2010-03-054-33/+78
| | | | | | As in 'llvmc -O2 -O2 test.c'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97787 91177308-0d34-0410-b5e6-96231b3b80d8
* Use FindExecutable as a fall-back search method.Mikhail Glushenkov2010-03-051-2/+13
| | | | | | Allows us to find executables that are in the same directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97786 91177308-0d34-0410-b5e6-96231b3b80d8
* Rever 96389 and 96990. They are causing some miscompilation that I do not ↵Evan Cheng2010-03-053-66/+4
| | | | | | fully understand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97782 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r97778 and r97779. They're somehow breaking llvm-gcc builds.Dan Gohman2010-03-051-17/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97781 91177308-0d34-0410-b5e6-96231b3b80d8
* apparently if gold is around lto needs to be part of DIRS.Chris Lattner2010-03-051-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97780 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix these constants to be more portable.Dan Gohman2010-03-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97779 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite i64-to-f64 conversion using an algorithm which handlesDan Gohman2010-03-051-41/+17
| | | | | | | | | | rounding correctly. This implementation is a generalization of the x86_64 code in compiler-rt. This fixes rdar://7683708. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97778 91177308-0d34-0410-b5e6-96231b3b80d8
* Trivial comment change.Johnny Chen2010-03-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97776 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing break for Intrinsic::objectsize case. It was falling through to ↵Evan Cheng2010-03-051-0/+1
| | | | | | the following Intrinsic::bswap code. I have no idea why it wasn't breaking stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97774 91177308-0d34-0410-b5e6-96231b3b80d8
* disable libprofile on cygwin, patch by Aaron Gray.Chris Lattner2010-03-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97772 91177308-0d34-0410-b5e6-96231b3b80d8
* Only build libedis if ENABLE_SHARED is specified, just like liblto.Chris Lattner2010-03-051-10/+11
| | | | | | | | Don't build any of the dynamic library stuff on cygwin/mingw. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97771 91177308-0d34-0410-b5e6-96231b3b80d8
* liblto and gold don't need to be built in serialChris Lattner2010-03-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97770 91177308-0d34-0410-b5e6-96231b3b80d8
* add an assertion requested on llvmdev.Chris Lattner2010-03-051-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97769 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r97766. It's deleting a tag.Bill Wendling2010-03-052-74/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97768 91177308-0d34-0410-b5e6-96231b3b80d8
* Micro-optimization:Bill Wendling2010-03-052-13/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code: float floatingPointComparison(float x, float y) { double product = (double)x * y; if (product == 0.0) return product; return product - 1.0; } produces this: _floatingPointComparison: 0000000000000000 cvtss2sd %xmm1,%xmm1 0000000000000004 cvtss2sd %xmm0,%xmm0 0000000000000008 mulsd %xmm1,%xmm0 000000000000000c pxor %xmm1,%xmm1 0000000000000010 ucomisd %xmm1,%xmm0 0000000000000014 jne 0x00000004 0000000000000016 jp 0x00000002 0000000000000018 jmp 0x00000008 000000000000001a addsd 0x00000006(%rip),%xmm0 0000000000000022 cvtsd2ss %xmm0,%xmm0 0000000000000026 ret The "jne/jp/jmp" sequence can be reduced to this instead: _floatingPointComparison: 0000000000000000 cvtss2sd %xmm1,%xmm1 0000000000000004 cvtss2sd %xmm0,%xmm0 0000000000000008 mulsd %xmm1,%xmm0 000000000000000c pxor %xmm1,%xmm1 0000000000000010 ucomisd %xmm1,%xmm0 0000000000000014 jp 0x00000002 0000000000000016 je 0x00000008 0000000000000018 addsd 0x00000006(%rip),%xmm0 0000000000000020 cvtsd2ss %xmm0,%xmm0 0000000000000024 ret for a savings of 2 bytes. This xform can happen when we recognize that jne and jp jump to the same "true" MBB, the unconditional jump would jump to the "false" MBB, and the "true" branch is the fall-through MBB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97766 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some more places where dbg_value affected codegen.Dale Johannesen2010-03-054-4/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97765 91177308-0d34-0410-b5e6-96231b3b80d8