mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2025-11-04 18:10:57 +00:00
This brings in the new ISel emitter, which should improve build times,
and code size.
Squashed commit of the following:
commit 8b8baa7196d3ee855a618977101333cca26db4dc
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sat Mar 6 11:41:12 2010 +0000
Do not use '&' prefix for globals when register base field is non-zero, otherwise msp430-as will silently miscompile the code (TI's assembler report an error though).
This fixes PR6349
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97877 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8092cc9adfe019b29dd6443965fe3c1ed3765544
Author: Eric Christopher <echristo@apple.com>
Date: Sat Mar 6 10:59:25 2010 +0000
Let the fallthrough handle whether or not we've changed anything
before we try to optimize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97876 91177308-0d34-0410-b5e6-96231b3b80d8
commit 129ed5cf3e6c1b662886a0b4069fecc72b8b45ee
Author: Eric Christopher <echristo@apple.com>
Date: Sat Mar 6 10:50:38 2010 +0000
Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub
out the remainder of the calls that we should lower in some way and
move the tests to the new correct directory. Fix up tests that are now
optimized more than they were before by -instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97875 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa346d0816abd2196aa6966f7003b3d6c0719cf3
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Sat Mar 6 07:22:39 2010 +0000
Add static methods to handle Linkage Types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97871 91177308-0d34-0410-b5e6-96231b3b80d8
commit f320cc8cfc783519aa09952dfbfe0fa06d012cf3
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Mar 6 07:02:28 2010 +0000
clean this up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97870 91177308-0d34-0410-b5e6-96231b3b80d8
commit e0f0509a54528a29f3f6a40359d2b9f710d27490
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Mar 6 04:32:46 2010 +0000
revert r97807, it introduced build warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97869 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca26451b6fb2e2f6a68a2ffdd2268ac89828bf76
Author: Jim Grosbach <grosbach@apple.com>
Date: Sat Mar 6 03:28:39 2010 +0000
Thumb1 epilogue code generation needs to take into account that callee-saved
registers may be restored via a pop instruction, not just a tRestore.
This fixes nightly test 471.omnetep for Thumb1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97867 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a7906741bf0850f017cb68ea4ac9b6e1ec17e67
Author: Eric Christopher <echristo@apple.com>
Date: Sat Mar 6 03:11:35 2010 +0000
Temporarily revert:
Log:
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.
Modified:
llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/trunk/test/Transforms/InstCombine/objsize.ll
It appears to be causing swb and nightly test failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97866 91177308-0d34-0410-b5e6-96231b3b80d8
commit e0178525100218078fe2c8109d12d3a88b559fae
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Mar 6 02:45:26 2010 +0000
Fix another case where LSR was affected by debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97865 91177308-0d34-0410-b5e6-96231b3b80d8
commit 10af7bf2237461239e34f84c3eec3e4bbf28d3fa
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Mar 6 01:14:19 2010 +0000
Don't update physical register def.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97861 91177308-0d34-0410-b5e6-96231b3b80d8
commit d456295b41ec822aebc5c7bab86dc405defea74f
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Mar 6 01:01:42 2010 +0000
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97860 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33764fd6174986391c4f1f37561453de4f9bed81
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sat Mar 6 00:30:06 2010 +0000
Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97858 91177308-0d34-0410-b5e6-96231b3b80d8
commit 894a386aa80308f468be3492a79e533319fbdafa
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sat Mar 6 00:30:01 2010 +0000
Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.
Luckily this never was released.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97857 91177308-0d34-0410-b5e6-96231b3b80d8
commit 983e27ee9080161bba57afbf34aee5cf0cf0058f
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sat Mar 6 00:29:58 2010 +0000
LLVMWriteBitcodeToFileHandle should work on all architectures now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97856 91177308-0d34-0410-b5e6-96231b3b80d8
commit a391cead11d5f588720c0347cd40643df5c0904e
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Mar 6 00:03:23 2010 +0000
Add some new bits of debug info handling. No
functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97855 91177308-0d34-0410-b5e6-96231b3b80d8
commit b16da2f136a493ddf05b5190b6689de4199098db
Author: Dan Gohman <gohman@apple.com>
Date: Sat Mar 6 00:00:55 2010 +0000
Reapply r97778 and r97779, enabled only for unsigned i64 to f64
conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97854 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff4a90cdf553545ed3b4c2094b4437931d986be0
Author: Devang Patel <dpatel@apple.com>
Date: Fri Mar 5 23:35:04 2010 +0000
Test case for r97851.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97852 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95563fe18c05036964c1e561c0610d416c14784c
Author: Ted Kremenek <kremenek@apple.com>
Date: Fri Mar 5 22:34:16 2010 +0000
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97846 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8d42e67971c8bbf491976af0c3b275140e5563b
Author: Charles Davis <cdavis@mines.edu>
Date: Fri Mar 5 22:28:45 2010 +0000
Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. This
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
commit a06312178d2f5f93eec745c276b52a2a2c68d5da
Author: Eric Christopher <echristo@apple.com>
Date: Fri Mar 5 22:25:30 2010 +0000
Move SimplifyLibCalls's LibCall builders to a separate file so they
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
commit f31408102aa0351eadf6ec1169b03fdb4cd58c51
Author: Eric Christopher <echristo@apple.com>
Date: Fri Mar 5 22:21:58 2010 +0000
Add support for an i8* type accessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97841 91177308-0d34-0410-b5e6-96231b3b80d8
commit 198d7c43ac6d798c5711d7ee2bbef60a373bea0c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Mar 5 21:49:17 2010 +0000
Better handling of dead super registers in LiveVariables. We used to do this:
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
commit 0ed0665a7bcdd00f9304abc0cc57c73ae64d4d6b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Mar 5 21:49:13 2010 +0000
We don't really care about correct register liveness information after the
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
commit aa3341e6c8b494d275fe2cd6b4401fcfff926844
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Mar 5 21:49:10 2010 +0000
Avoid creating bad PHI instructions when BR is being const-folded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97836 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39d3644211e5eed38c6eb7feb64ce882def1ade8
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Mar 5 21:12:40 2010 +0000
Fix a case where LSR is sensitive to debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97830 91177308-0d34-0410-b5e6-96231b3b80d8
commit 737ae96836ec3ab9c72747810612e2a5eb1d6efb
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Mar 5 20:59:47 2010 +0000
Safely turn memset_chk etc. to non-chk variant if the known object size is >= memset / memcpy / memmove size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97828 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd91987d3895fa05add6982a809bd571b4ff6c4d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Mar 5 20:47:23 2010 +0000
Instcombine should turn llvm.objectsize of a alloca with static size to an integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97827 91177308-0d34-0410-b5e6-96231b3b80d8
commit d448115fc3b5977504811ab2747b75dd176dc5f3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Mar 5 19:55:55 2010 +0000
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97818 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f330b5f50d2ca35937b5b11f6c606d263c43230
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 18:55:36 2010 +0000
fix bss section printing for cell, patch by Kalle Raiskila!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97814 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0e7c613208be8f1e242c12a63f253fcd749eea5
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 18:53:28 2010 +0000
fix PR6512, a case where instcombine would incorrectly merge loads
from different addr spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97813 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c0511d9ab206da7bf20a3bb48a29260d28e1f35
Author: Wesley Peck <peckw@wesleypeck.com>
Date: Fri Mar 5 15:26:02 2010 +0000
Reworking the stack layout that the MicroBlaze backend generates.
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
commit 50a5b7b8f82e6256ac661859dc10f9455a790f2d
Author: Wesley Peck <peckw@wesleypeck.com>
Date: Fri Mar 5 15:15:55 2010 +0000
Adding MBlaze to cmake target list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97806 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c4d10999c93a3e002ed8d994063d5a4ac413125
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 08:46:26 2010 +0000
Fix PR6503. This turned into a much more interesting and nasty bug. Various
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
commit 0f0557ebc64b81b67ef263f7ecf3ff8c7a61e1fd
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 08:43:33 2010 +0000
make these less sensitive to temporary naming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97799 91177308-0d34-0410-b5e6-96231b3b80d8
commit 02c78af1f36c8e991b8d4202f8b2e17f493b1276
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 08:43:06 2010 +0000
remove this testcase, it isn't clear what it was testing and it is subsumed by or.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97798 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78e26a68c480fe6e3b612698e3f61ef7bcd88bdc
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Mar 5 08:38:04 2010 +0000
Fix an oops in x86 sibcall optimization. If the ByVal callee argument is 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
commit fd405377206ce3f3d6b366a2b913d4e501126ea1
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Mar 5 08:21:02 2010 +0000
If LD_LIBRARY_PATH is set in the system environment, use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97796 91177308-0d34-0410-b5e6-96231b3b80d8
commit 44debf4f7d10ec8ad414873df3047e6f4c23930b
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 07:47:57 2010 +0000
simplify some functions and make them work with vector
compares, noticed by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97795 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59ffdbd8644519afeca1f1c77637d2bfad2fbe02
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 07:18:54 2010 +0000
fix a nice subtle reassociate bug which would only occur
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
commit 801dee0ea3164b1b07bc17fdf05fe63d57de637c
Author: Eric Christopher <echristo@apple.com>
Date: Fri Mar 5 06:58:57 2010 +0000
Move GetStringLength and helper from SimplifyLibCalls to ValueTracking.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97793 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a5210b06ed03f9ff422921992a404c14c591855
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Mar 5 06:43:49 2010 +0000
Revert r97788 because it broke test/FrontendC/2010-02-16-DbgVarScope.c.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97792 91177308-0d34-0410-b5e6-96231b3b80d8
commit df97abcc77da393760a7bcc12c03645cf1728b67
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 06:19:13 2010 +0000
Fix PR6497, a bug where we'd fold a load into an addc
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
commit 8bd98df78e0099db2dc9e013f79d7ffa9400689d
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 06:17:43 2010 +0000
cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97790 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50163132c78a04867316371dfc108d81d6bd192e
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 05:49:45 2010 +0000
inline a small function with one call site.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97789 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1df73fd6d634705e69c8fcb6f556ecaf35b4fde
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Mar 5 05:47:09 2010 +0000
Free MDNodes when the LLVMContext is destroyed. Leak found by Valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97788 91177308-0d34-0410-b5e6-96231b3b80d8
commit cd88637114a2246b2c48fcd61512e04468fe3a73
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Fri Mar 5 04:46:39 2010 +0000
Make it not an error to specify -O* options several times.
As in 'llvmc -O2 -O2 test.c'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97787 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c014502943a288377d325367c89b1a0159618ff
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Fri Mar 5 04:46:28 2010 +0000
Use FindExecutable as a fall-back search method.
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
commit f8755dd455a462aed4cc923cd5eebc701ae95afc
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Mar 5 03:08:23 2010 +0000
Rever 96389 and 96990. They are causing some miscompilation that I do not fully understand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97782 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59043f24a7c8d723b66c5176d1520507dc2cfbe7
Author: Dan Gohman <gohman@apple.com>
Date: Fri Mar 5 02:40:23 2010 +0000
Revert r97778 and r97779. They're somehow breaking llvm-gcc builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97781 91177308-0d34-0410-b5e6-96231b3b80d8
commit 342e270897302e5d14b94f8521d50beb337edda0
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 02:34:34 2010 +0000
apparently if gold is around lto needs to be part of DIRS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97780 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f6137e125ce7be6d42232420acadb71f846687a
Author: Dan Gohman <gohman@apple.com>
Date: Fri Mar 5 02:13:10 2010 +0000
Fix these constants to be more portable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97779 91177308-0d34-0410-b5e6-96231b3b80d8
commit 512edab665b19b56f46a5e884726d3b95001a5ca
Author: Dan Gohman <gohman@apple.com>
Date: Fri Mar 5 02:00:46 2010 +0000
Rewrite i64-to-f64 conversion using an algorithm which handles
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
commit ede8780a38eb918050be9805a685976466d9a4d6
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Mar 5 01:45:46 2010 +0000
Trivial comment change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97776 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c2ab41b4f483d9af9026112de00902d9e875b4d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Mar 5 01:22:47 2010 +0000
Add missing break for Intrinsic::objectsize case. It was falling through to 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
commit 97f858f693f64e690937a0a09c2eee0c83fc49cb
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 01:00:34 2010 +0000
disable libprofile on cygwin, patch by Aaron Gray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97772 91177308-0d34-0410-b5e6-96231b3b80d8
commit 076c95a931cc4eb4fcc65a38b55e18337340a96f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 00:59:18 2010 +0000
Only build libedis if ENABLE_SHARED is specified, just like liblto.
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
commit 7b3845a8ee5c93ba2f9c060db7daf5bd83dc6f9a
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 00:54:45 2010 +0000
liblto and gold don't need to be built in serial
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97770 91177308-0d34-0410-b5e6-96231b3b80d8
commit 042b9b4377110320a37b5362c944d18ef483d669
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Mar 5 00:49:08 2010 +0000
add an assertion requested on llvmdev.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97769 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff150b4c021a69e2e42f08e70a8d8f6d41ec1eeb
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Mar 5 00:33:59 2010 +0000
Revert r97766. It's deleting a tag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97768 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32fa39ec4dd17337d99925ce7eb7843a0f7b1ef9
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Mar 5 00:24:26 2010 +0000
Micro-optimization:
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
commit 90c537295ce9dbd44b75b065eb377cb343457637
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Mar 5 00:02:59 2010 +0000
Fix some more places where dbg_value affected codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97765 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0cbf4231649e0d3106449d9c8f30eed622a2f21b
Author: Devang Patel <dpatel@apple.com>
Date: Thu Mar 4 23:44:48 2010 +0000
Add metadata example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97764 91177308-0d34-0410-b5e6-96231b3b80d8
commit b8a7df8e453fbdaf71745d107d420cadcfa80a41
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Mar 4 23:24:19 2010 +0000
Stop leaking MDStrings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97763 91177308-0d34-0410-b5e6-96231b3b80d8
commit 64e333257e0989ac508a616039f3f5054ced2322
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Mar 4 22:24:41 2010 +0000
Drop the ".w" qualifier for t2UXTB16* instructions as there is no 16-bit version
of either sxtb16 or uxtb16, and the unified syntax does not specify ".w".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97760 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36efd7ebd8a76e37b7042cdc8e9c4c1688e6d457
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Mar 4 22:15:01 2010 +0000
Fix memcheck-found leaks: one false positive from using new[], and one true
positive where pointers would be leaked on llvm_shutdown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97759 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6dcf1ed5d44a22743b500b901440c6c3086a4a59
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Mar 4 22:07:46 2010 +0000
For SJLJ exception handling, make sure that all calls that are not marked
as nounwind are marked with a -1 call-site value. This is necessary to, for
example, correctly process exceptions thrown from within an "unexpected"
execption handler (see SingleSource/Regression/C++/EH/expection_spec_test.cpp).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97757 91177308-0d34-0410-b5e6-96231b3b80d8
commit 15b85c2e52fd6e074e2bdabd16047dde42163641
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Mar 4 21:42:36 2010 +0000
pr6478: The frame pointer spill frame index is only defined when there is a
frame pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97755 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8ca9d5a19983aafb289d2452c23ff8368ea0831
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Mar 4 21:28:09 2010 +0000
Run machine licm before machine cse to avoid messing up licm opportunities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97752 91177308-0d34-0410-b5e6-96231b3b80d8
commit 768d399deacd93a6faa14575414eb2ddf1ccf7d7
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Mar 4 21:18:08 2010 +0000
Avoid cse load instructions unless they are known to be invariant loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97747 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb199e565c052ac002a1353a0a211a0a3959618e
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Mar 4 21:04:38 2010 +0000
pr6480: Don't try producing ld/st-multiple instructions when the address is
an undef value. This is only going to come up for bugpoint-reduced tests --
correct programs will not access memory at undefined addresses -- so it's not
worth the effort of doing anything more aggressive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97745 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b9a1c6368243323b47ad85d080d646922616eee
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Thu Mar 4 20:56:19 2010 +0000
Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.
We need this so can not bake DESTDIR into the O'Caml symlinks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97743 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07cecc814cfac381611dfe35440402e2a1b47bf6
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Mar 4 20:42:07 2010 +0000
Fix the remaining MUL8 and DIV8 to define AX instead of AL,AH.
These instructions technically define AL,AH, but a trick in X86ISelDAGToDAG
reads AX in order to avoid reading AH with a REX instruction.
Fix PR6489.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97742 91177308-0d34-0410-b5e6-96231b3b80d8
commit 60c81d5a0323eddf67fdaffd1183a313053658e5
Author: Dan Gohman <gohman@apple.com>
Date: Thu Mar 4 19:58:08 2010 +0000
Fix recognition of 16-bit bswap for C front-ends which emit the
clobber registers in a different order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97741 91177308-0d34-0410-b5e6-96231b3b80d8
commit 43dd4fd11a1ee702e7ae85b3aaff8cc89c2d6503
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 19:54:45 2010 +0000
not committing what you test = bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97740 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9753af92498d6c71afb58df09117828971134f2a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 19:48:19 2010 +0000
make gep matching in fastisel match the base of the gep as a
register if it isn't possible to match the indexes *and* the base.
This fixes some fast isel rejects of load instructions on oggenc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97739 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a0ce1421722365b719efb4bb4f98dfe091d4b9c
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 19:46:56 2010 +0000
add a statistic for # times fastisel fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97738 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14b1ebdfedcaa80d296942999d4eb95b416f7dd7
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Mar 4 19:45:09 2010 +0000
Fix PR6360. It's easy for a stub's address to escape to user code, so we can't
just count references to it from JIT output to decide when to destroy it. This
patch waits to destroy the JIT's memory of a stub until the Function it refers
to is destroyed. External function stubs and GVIndirectSyms aren't destroyed
until the JIT itself is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97737 91177308-0d34-0410-b5e6-96231b3b80d8
commit 80c162a1b7771a0a81c0d0028c508b89b4b3711c
Author: Dan Gohman <gohman@apple.com>
Date: Thu Mar 4 19:11:28 2010 +0000
Fix a typo Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97735 91177308-0d34-0410-b5e6-96231b3b80d8
commit e4a7af91b1aa122d4a34e9c4119f779b652cdaf1
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Mar 4 17:40:44 2010 +0000
Added 32-bit Thumb instructions for Preload Data (PLD, PLDW) and Preload
Instruction (PLI) for disassembly only.
According to A8.6.120 PLI (immediate, literal), for example, different
instructions are generated for "pli [pc, #0]" and "pli [pc, #-0"]. The
disassembler solves it by mapping -0 (negative zero) to -1, -1 to -2, ..., etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97731 91177308-0d34-0410-b5e6-96231b3b80d8
commit 91ad25ef8391b5bfdcfca4d003b3d0e33edf52f2
Author: John McCall <rjmccall@apple.com>
Date: Thu Mar 4 11:48:42 2010 +0000
Simplify the condition-checking logic and hopefully clear up a build failure
that somehow got through my testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97728 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1722deb2df37444ef0a1f9ccf310d2867e833520
Author: John McCall <rjmccall@apple.com>
Date: Thu Mar 4 09:36:50 2010 +0000
Teach lit to honor conditional directives. The syntax is:
IF(condition(value)):
If the value satisfies the condition, the line is processed by lit; otherwise
it is skipped. A test with no unignored directives is resolved as Unsupported.
The test suite is responsible for defining conditions; conditions are unary
functions over strings. I've defined two conditions in the LLVM test suite,
TARGET (with values like those in TARGETS_TO_BUILD) and BINDING (with values
like those in llvm_bindings). So for example you can write:
IF(BINDING(ocaml)): RUN: %blah %s -o -
and the RUN line will only execute if LLVM was configured with the ocaml
bindings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97726 91177308-0d34-0410-b5e6-96231b3b80d8
commit df8dfbd216ce1f77f1128f1d24f3598ded7c8be6
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Thu Mar 4 06:54:10 2010 +0000
Make the 'icmp pred trunc(ext(X)), CST --> icmp pred X, ext(trunc(CST))'
transformation much more careful. Truncating binary '01' to '1' sounds like it's
safe until you realize that it switched from positive to negative under a signed
interpretation, and that depends on the icmp predicate.
Also a few miscellaneous cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97721 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9fbe67d7e4211d18505e71477b1061f0ea71e71
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Mar 4 06:50:01 2010 +0000
Fix PR5291, in which a SmallPtrSet iterator was held across an insertion into
the set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97720 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54639611efd444f3ef2fa26f618d106b1aa40c80
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Mar 4 02:08:04 2010 +0000
Rename -machine-cse to -enable-machine-cse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97713 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c1d83b5ef2893f5e7aadc33e5c3b0596c21b717
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 01:43:43 2010 +0000
add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97709 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3240a2ab76d6152aa4c97bbe0e5c4abebeb541fb
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 01:34:29 2010 +0000
so hey, it turns out that the histogram was completely wrong, because
we sometimes emit nodes multiple times to string buffers to size them.
Compute the histogram correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97708 91177308-0d34-0410-b5e6-96231b3b80d8
commit e69a659304234a7d5385fd343d5eb3489fb5b21a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Mar 4 01:33:55 2010 +0000
Look ahead a bit to determine if a physical register def that is not marked dead is really alive. This is necessary to catch a lot of common cse opportunities for targets like x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97706 91177308-0d34-0410-b5e6-96231b3b80d8
commit a4066394fb9bfff2924047b05dee47ccfba69a0e
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 01:26:00 2010 +0000
zap fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97705 91177308-0d34-0410-b5e6-96231b3b80d8
commit 71c277e71d757d586f3bcaec601f5b10b216ba79
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 01:25:36 2010 +0000
now that complexpatterns are all emitted at the end of the match
sequence, just emit instruction predicates right before them. This
exposes yet more factoring opportunitites, shrinking the X86 table
to 79144 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97704 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06f2729c970c7e93e5cbd1f7f7e1231842dda721
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 01:23:08 2010 +0000
change the new isel matcher to emit ComplexPattern matches
as the very last thing before node emission. This should
dramatically reduce the number of times we do 'MatchAddress'
on X86, speeding up compile time. This also improves comments
in the tables and shrinks the table a bit, now down to
80506 bytes for x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97703 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3b56d7c4e0efb7026b92d2dcc5e37b252ede90e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Mar 4 00:32:33 2010 +0000
Make sure JITResolvers don't leave any stubs behind. When a JITResolver was
destroyed, it could leave stubs in the StubToResolverMap, which would confuse
the lookup for subsequent lazy compilations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97698 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3d51353b648f973743ca15c74e4013977755b97
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 00:28:05 2010 +0000
enhance comment output to specify what recorded slot
numbers a ComplexPat will match into.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97696 91177308-0d34-0410-b5e6-96231b3b80d8
commit 411907fd64949307ed5abab5cb41e0c721e7d4f6
Author: Dan Gohman <gohman@apple.com>
Date: Thu Mar 4 00:23:16 2010 +0000
Fix more code to work properly with vector operands. Based on
a patch my Micah Villmow for PR6465.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97692 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20a0937af355b3759cdae25113e97b3eebe16a5a
Author: John McCall <rjmccall@apple.com>
Date: Thu Mar 4 00:21:47 2010 +0000
Teach the pic16 target to recognize pic16-*-* triples.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97691 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32f610d51cac9d0edc1c772d3a11943f7a292ca8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Mar 4 00:21:16 2010 +0000
inline CannotYetSelectIntrinsic into CannotYetSelect and simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97690 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a647b1bcf1066ce6fe762f4cca38abd5b668994
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 23:59:08 2010 +0000
Fix a logic error. An instruction that has a live physical register def cannot be CSE'ed, but it *can* be used to replace a common subexpression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97688 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0688e58596dc38e21023437985b6f6e1910ce2f6
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 23:55:49 2010 +0000
Remove PHINodeTraits and use MachineInstrExpressionTrait instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97687 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54fda172ce1260ee0537a5cf2c510fb1b5cf3b36
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Wed Mar 3 23:51:34 2010 +0000
Expose the rest of the llvm-c scalar opts to ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97685 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6152c59ec9f9fd4dce205e08ef83eb5af08babd4
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Wed Mar 3 23:51:30 2010 +0000
Rename some ocaml functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97684 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0a775a5c3ecde86ba6f3f4ea3576de1beb9a9a6
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Wed Mar 3 23:51:28 2010 +0000
Expose the external functions for ocaml's execution engine as an optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97683 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5164fc103e317ca2d3a16c1e2ab84fbc279c7ba3
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Wed Mar 3 23:51:25 2010 +0000
Expose alignment and stack alignment attributes to llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97682 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca6a35be3cc2271ce8a3dbdbe268ff7598e68fb2
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 23:37:30 2010 +0000
Move MachineInstrExpressionTrait::getHashValue() out of line so it can skip over only virtual register defs. This matches what isEqual() is doing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97680 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1412446ac97a6d60293a0c2ce45cb7232e391f24
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 23:27:36 2010 +0000
Re-apply r97667 but with a little bit of thought put into the patch. This implements a special DenseMapInfo trait for DenseMap<MachineInstr*> that compare the value of the MachineInstr rather than the pointer value. Since the hashing and equality test functions ignore defs it's useful for doing CSE kind optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97678 91177308-0d34-0410-b5e6-96231b3b80d8
commit 030b0c94091a045229471ec228afef2dfaf9921d
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Mar 3 23:15:43 2010 +0000
Modified the asm string of 16-bit Thumb MUL instruction so that it prints:
MULS <Rdm>, <Rn>, <Rdm>
according to A8.6.105 MUL Encoding T1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97675 91177308-0d34-0410-b5e6-96231b3b80d8
commit 199822da16404d8ea037cdd8225b0138ce29e285
Author: Dan Gohman <gohman@apple.com>
Date: Wed Mar 3 22:40:03 2010 +0000
Revert 97667. It broke a bunch of tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97673 91177308-0d34-0410-b5e6-96231b3b80d8
commit ec2f71188b6ad456e4fb5c2ddeefd18ca9c34caf
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 21:54:14 2010 +0000
Fix funky indentation and add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97670 91177308-0d34-0410-b5e6-96231b3b80d8
commit ffaadf4aa0736a77a33bd754d38c6ee4a294fdc8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 21:47:16 2010 +0000
Move DenseMapInfo for MachineInstr* to MachineInstr.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97667 91177308-0d34-0410-b5e6-96231b3b80d8
commit c0fbcf5f91bc2c7d9d477cefae111f2c9c56d630
Author: Dan Gohman <gohman@apple.com>
Date: Wed Mar 3 21:33:37 2010 +0000
Fix a bug in SelectionDAG's ReplaceAllUsesWith in the case where
CSE and recursive RAUW calls delete a node from the use list,
invalidating the use list iterator. There's currently no known
way to reproduce this in an unmodified LLVM, however there's no
fundamental reason why a SelectionDAG couldn't be formed which
would trigger this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97665 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25c64ba019aff84b6d0eca309b8f0bf21c72d511
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 21:20:05 2010 +0000
Machine CSE work in progress. It's doing some CSE now. But implicit def of physical registers are getting in the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97664 91177308-0d34-0410-b5e6-96231b3b80d8
commit ebeba930713e58fbacbbd0e7ad06eeea4c0b265c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 21:18:38 2010 +0000
Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97663 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57d4a663bbbb96b28ba9d34c4ebb596a9d9a9a09
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 20:47:12 2010 +0000
don't use always_inline with gcc 3.4, it has some unimplemented features
and is too old to really care about the performance of the generated
compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97662 91177308-0d34-0410-b5e6-96231b3b80d8
commit c13c95f62aeb8279d1169466260bec7e02470b8c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 20:46:48 2010 +0000
TopLevelMap[] reference is a pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97661 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4374df984b4a3f4c681dd8db85144d6d7f26f5f2
Author: Andrew Lenharth <alenhar2@cs.uiuc.edu>
Date: Wed Mar 3 20:15:31 2010 +0000
Fix PR6444, note still doesn't compile libgcc2 all the way, but fixes that error. May not fix it in an ABI complient way. It wasn't clear what gcc does
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97660 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a1a27fe0a29565581344c147c85e117abd53263
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 19:46:03 2010 +0000
fix incorrect folding of icmp with undef, PR6481.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97659 91177308-0d34-0410-b5e6-96231b3b80d8
commit cce2077e349773f96e4bea5462ec679e5aba46c3
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Mar 3 19:31:05 2010 +0000
Revert...
--- Reverse-merging r97592 into '.':
U lib/CodeGen/TargetLoweringObjectFileImpl.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97657 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b9fb5eb26cb221e5ae9f83e753e2d1524c98311
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Mar 3 18:45:36 2010 +0000
Added 32-bit Thumb instructions LDRT, LDRBT, LDRHT,,LDRSBT, LDRSHT, STRT, STRBT,
and STRHT for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97655 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07866f7546b839a9e86f9351ae26cf8b37168ee3
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 07:46:25 2010 +0000
add some of the more obscure predicate types to the
Scope accelerator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97652 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac70ddc123577b33a45328ed95a403c21be33fac
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 07:31:15 2010 +0000
speed up scope node processing: if the first element of a scope
entry we're about to process is obviously going to fail, don't
bother pushing a scope only to have it immediately be popped.
This avoids a lot of scope stack traffic in common cases.
Unfortunately, this requires duplicating some of the predicate
dispatch. To avoid duplicating the actual logic I pulled each
predicate out to its own static function which gets used in
both places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97651 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6fd97aa747bf0a6bbd821471077ec2a5021911ec
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 06:28:15 2010 +0000
introduce a new SwitchTypeMatcher node (which is analogous to
SwitchOpcodeMatcher) and have DAGISelMatcherOpt form it. This
speeds up selection, particularly for X86 which has lots of
variants of instructions with only type differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97645 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54125a770694e7015f0c6464ce382469f7bc9994
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Mar 3 05:40:40 2010 +0000
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97644 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3982ab8b1a4c1defde9fd99aaa8d5dd6f80bb441
Author: Dan Gohman <gohman@apple.com>
Date: Wed Mar 3 05:29:13 2010 +0000
Make SCEVExpander and LSR more aggressive about hoisting expressions out
of loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97642 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8b2b13390084be1013c0389a064d231c0db97a44
Author: Dan Gohman <gohman@apple.com>
Date: Wed Mar 3 04:36:42 2010 +0000
Revert r97580; that's not the right way to fix this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97639 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef1404358254b727461473d04294714053832faa
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 02:48:20 2010 +0000
Work in progress. Finding some cse now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97635 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e82e907837347fddf2cc4ba2c4cc68966a24577
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 02:14:54 2010 +0000
remove nvload and two patterns that use it which are
better done by dag combine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97633 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7cb0881fd0475b57bc6ad64b4ecf15c6591a4c3f
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Mar 3 02:09:43 2010 +0000
Added 32-bit Thumb instructions t2NOP, t2YIELD, t2WFE, t2WFI, t2SEV, and t2DBG
for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97632 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee63dbcce4be6e492cddde020d274f9ff0dd26ac
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Mar 3 01:58:01 2010 +0000
Use APInt instead of zext value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97631 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5774689caeda43775891121c70ee9104629090e4
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 01:52:59 2010 +0000
factor the 'in the default address space' check out to a single
'dsload' pattern. tblgen doesn't check patterns to see if they're
textually identical. This allows better factoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97630 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5eed36be09b45b5e53247ceeb109672fde26cc8e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Mar 3 01:45:01 2010 +0000
factor the 'sign extended from 8 bit' patterns better so
that they are not destination type specific. This allows
tblgen to factor them and the type check is redundant with
what the isel does anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97629 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63e7fbc85a6e4d34d32ff0a7dcb20d74ca22f1a1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 01:44:33 2010 +0000
- Change MachineInstr::isIdenticalTo to take a new option that determines whether it should skip checking defs or at least virtual register defs. This subsumes part of the TargetInstrInfo::isIdentical functionality.
- Eliminate TargetInstrInfo::isIdentical and replace it with produceSameValue. In the default case, produceSameValue just checks whether two machine instructions are identical (except for virtual register defs). But targets may override it to check for unusual cases (e.g. ARM pic loads from constant pools).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97628 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7771179a389bef5311ad359763084de19f6d0c47
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 01:38:35 2010 +0000
Add an option to enable machine cse (it's not doing anything yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97627 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0784aada6ac3a30b3890f2b52d9ecc74bdf61a73
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 01:37:50 2010 +0000
Ordering forward declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97626 91177308-0d34-0410-b5e6-96231b3b80d8
commit 779a9f3bc89883d77d398dec2359a4343213b560
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Mar 3 01:13:55 2010 +0000
Don't turn assertions on by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97623 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6a7678e2072b637e7a720afa157816cc11ea0aa6
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Mar 3 00:43:15 2010 +0000
Eliminate unused instruction classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97617 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63d35d28de1073c6d9214e3cab2ef319a3c8a012
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Mar 3 00:35:56 2010 +0000
This test case:
long test(long x) { return (x & 123124) | 3; }
Currently compiles to:
_test:
orl $3, %edi
movq %rdi, %rax
andq $123127, %rax
ret
This is because instruction and DAG combiners canonicalize
(or (and x, C), D) -> (and (or, D), (C | D))
However, this is only profitable if (C & D) != 0. It gets in the way of the
3-addressification because the input bits are known to be zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97616 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c25aa2e25e2f9007e66e2f81d5f731f598f056c
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Mar 3 00:16:28 2010 +0000
Added 32-bit Thumb instructions t2DMB variants, t2DSB variants, and t2ISBsy for
disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97614 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce6affafe652f88bcdacec9397499db154dcd434
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 23:59:08 2010 +0000
Use the ocaml tag 0 since we are just returning an option value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97612 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce13383fe9ea3ed047f8fb621d395af0995edaa5
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 23:59:05 2010 +0000
Don't use an ocaml keyword in an ocamldoc comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97611 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0610f44010292b2bfecc84a419b8702459066d19
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 23:59:03 2010 +0000
Expose the optimization level for the jit in ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97610 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8eac021cc43c2987b90237466cf46f347dd8bc3
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 23:59:00 2010 +0000
Remove module providers from ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97609 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0dd5a40bf2fe15fbf022b70666bb2113301455ce
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 23:58:54 2010 +0000
Add Module functions in place of module providers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97608 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3de906f1dfb8f7f3358ab864487115aefde0b8ff
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 23:12:51 2010 +0000
merge two loops over all nodes in the graph into one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97606 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2303f1f374c5a8fa23879a3c933da9f56f2e5f6c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 22:33:56 2010 +0000
eliminate PreprocessForRMW now that isel handles it.
We still preprocess calls and fp return stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97598 91177308-0d34-0410-b5e6-96231b3b80d8
commit a15890fac1a6b1534a0ce7848fb1221c28a61d55
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 22:30:08 2010 +0000
remove 300 lines of code that is now dead in the MSP430 backend
now that isel handles chains more aggressively. This also
allows us to make isLegalToFold non-virtual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97597 91177308-0d34-0410-b5e6-96231b3b80d8
commit e15b5610729840a5a78cfcb623cb2ab530d06a40
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 22:20:06 2010 +0000
Fix some issues in WalkChainUsers dealing with
CopyToReg/CopyFromReg/INLINEASM. These are annoying because
they have the same opcode before an after isel. Fix this by
setting their NodeID to -1 to indicate that they are selected,
just like what automatically happens when selecting things that
end up being machine nodes.
With that done, give IsLegalToFold a new flag that causes it to
ignore chains. This lets the HandleMergeInputChains routine be
the one place that validates chains after a match is successful,
enabling the new hotness in chain processing. This smarter
chain processing eliminates the need for "PreprocessRMW" in the
X86 and MSP430 backends and enables MSP to start matching it's
multiple mem operand instructions more aggressively.
I currently #if out the dead code in the X86 backend and MSP
backend, I'll remove it for real in a follow-on patch.
The testcase changes are:
test/CodeGen/X86/sse3.ll: we generate better code
test/CodeGen/X86/store_op_load_fold2.ll: PreprocessRMW was
miscompiling this before, we now generate correct code
Convert it to filecheck while I'm at it.
test/CodeGen/MSP430/Inst16mm.ll: Add a testcase for mem/mem
folding to make anton happy. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97596 91177308-0d34-0410-b5e6-96231b3b80d8
commit b905028b4ba7b851af940c91901ac5214ea0b73b
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Mar 2 22:11:06 2010 +0000
Added 32-bit Thumb instruction CLREX (Clear-Exclusive) for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97595 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5210aa3afd28b390195d929c05e4bc0ff4f2cba9
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Mar 2 22:10:24 2010 +0000
Allow specialization of ScopedHashTable of non-default DenseMapInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97594 91177308-0d34-0410-b5e6-96231b3b80d8
commit ddde6747e4069a787fe44517b9856383712070fb
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Mar 2 21:50:35 2010 +0000
Okay. One last attempt:
Place the LSDA into the TEXT section on Mach-O. This saves space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97592 91177308-0d34-0410-b5e6-96231b3b80d8
commit 905465e7420cd11c4368e80ee0b68529234e536b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 20:48:24 2010 +0000
this testcase is failing because pic16 doesn't define a reg/reg
xor pattern. I have no plans to fix this XFAIL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97587 91177308-0d34-0410-b5e6-96231b3b80d8
commit a6bd358b68e8d5ab977d15faa309c66f42482643
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 20:32:32 2010 +0000
Add support for use to ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97586 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6a5b54284276cba3c33fc2673cd56cf7f94ae143
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 20:32:28 2010 +0000
Rename LLVMUseIteratorRef to LLVMUseRef since we don't refer to iterators in llvm-c.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97585 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5635f0323df2a9a3675a310e45ef0c61e959ff1
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 19:53:25 2010 +0000
xfail this for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97584 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77eb6bea8bc6914093bd759d4a1a6f19c76e0c64
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Mar 2 19:38:59 2010 +0000
Removed the extra S from the multiclass def T2I_adde_sube_s_irs as well as from
the opc string passed in, since it's a given from the class inheritance of T2sI.
The fixed the extra 's' in adcss & sbcss when disassembly printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97582 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8163f938b0e5e62a13e18125fb6f79d3c96cead
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 19:34:59 2010 +0000
run HandleMergeInputChains even if we only have one input chain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97581 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb10eea9fd12836819acfa4d5d73b048e3e9e3d4
Author: Dan Gohman <gohman@apple.com>
Date: Tue Mar 2 19:32:21 2010 +0000
When expanding an expression such as (A + B + C + D), sort the operands
by loop depth and emit loop-invariant subexpressions outside of loops.
This speeds up MultiSource/Applications/viterbi and others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97580 91177308-0d34-0410-b5e6-96231b3b80d8
commit 417282ec649a3b8d52c4749be0edbd0cd8885528
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Mar 2 19:03:01 2010 +0000
Swap parameters of isSafeToMove and isSafeToReMat for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97578 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58a36789dc375f5b8057527b37f61ba2b24642c1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Mar 2 19:02:27 2010 +0000
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97577 91177308-0d34-0410-b5e6-96231b3b80d8
commit 475c915bc20438417296734952a6c29a16233192
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 18:56:03 2010 +0000
clean up some testcases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97576 91177308-0d34-0410-b5e6-96231b3b80d8
commit 483e6c612accc3f613291675ba6d6bfe49ccaf13
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 18:15:02 2010 +0000
the sorting predicate should work for comparing an element
to itself, even though this isn't wildly useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97574 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7795907648d497959c58d099064faa0a525317f6
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Mar 2 18:14:57 2010 +0000
Added 32-bit Thumb instructions: CPS, SDIV, UDIV, SXTB16, SXTAB16, UXTAB16, SEL,
SMMULR, SMMLAR, SMMLSR, TBB, TBH, and 16-bit Thumb instruction CPS for
disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97573 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdff186e041e26e7bf719d4ca0397274fe92639a
Author: Devang Patel <dpatel@apple.com>
Date: Tue Mar 2 17:58:15 2010 +0000
Fix grammar.
Thanks Duncan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97572 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad2444f6d85258477141bf67ebfb509ab7b5e521
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Mar 2 17:57:15 2010 +0000
AL is an optional mnemonic extension for always, except in IT instructions.
Add printMandatoryPredicateOperand() PrintMethod for IT predicate printing.
Ref: A8.3 Conditional execution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97571 91177308-0d34-0410-b5e6-96231b3b80d8
commit c53e80f9669af6a1bf51f1a8c48df658644b428b
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Mar 2 17:03:18 2010 +0000
Change some asm shift opcode strings to lowercase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97567 91177308-0d34-0410-b5e6-96231b3b80d8
commit d928e505781c90b0f2638a14581efa2e02109998
Author: Xerxes Ranby <xerxes@zafena.se>
Date: Tue Mar 2 13:42:03 2010 +0000
fix typo add missing (
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97565 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbf8d6503ad48921440fb59c5d0fdb8eac06938f
Author: Xerxes Ranby <xerxes@zafena.se>
Date: Tue Mar 2 13:26:18 2010 +0000
Unbreak llvm-arm-linux buildbot and fix PR5309.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97564 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d58d6576bedd9be85df075e24776d28658ccbb2
Author: Duncan Sands <baldrick@free.fr>
Date: Tue Mar 2 11:18:43 2010 +0000
Rather than passing "false" for InsertBefore, AddressSpace for ThreadLocal,
and nothing for AddressSpace, pass 0 for InsertBefore, "false" for ThreadLocal
and AddressSpace for AddressSpace. Spotted by gcc-4.5.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97563 91177308-0d34-0410-b5e6-96231b3b80d8
commit 12227402851982da92af8257263bd7a3dc213ab3
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 07:50:03 2010 +0000
Fix the xfail I added a couple of patches back. The issue
was that we weren't properly handling the case when interior
nodes of a matched pattern become dead after updating chain
and flag uses. Now we handle this explicitly in
UpdateChainsAndFlags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97561 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4ccb30d2dffed0f20c74cc36745c222414e3d765
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 07:14:49 2010 +0000
I was confused about this, it turns out that MorphNodeTo
*does* delete ex-operands that become dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97559 91177308-0d34-0410-b5e6-96231b3b80d8
commit b2c2cbb24ffa9818864fecdd0edc781cd2d994f5
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 06:55:04 2010 +0000
factor node morphing out to its own helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97558 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7ff97812803efa6bbb640493731bcc7d00c3bc50
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 06:36:51 2010 +0000
attributes are not part of types anymore, patch by James Woodyatt!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97557 91177308-0d34-0410-b5e6-96231b3b80d8
commit 24466bd998a4f0669ca776c5b944876e29a2af6c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 06:36:28 2010 +0000
eliminate CodeGen/DAGISelHeader.h, it is empty now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97556 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58132fddf1ea639401e08340d3c51143e93bbc15
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 06:34:30 2010 +0000
Sink InstructionSelect() out of each target into SDISel, and rename it
DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader.
Sink some other stuff out of DAGISelHeader into SDISel.
Eliminate the various 'Indent' stuff from various targets, which dates
to when isel was recursive.
17 files changed, 114 insertions(+), 430 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97555 91177308-0d34-0410-b5e6-96231b3b80d8
commit f2d40399a72c153339f3b945f066b8c96c0bf3e0
Author: Eric Christopher <echristo@apple.com>
Date: Tue Mar 2 06:25:00 2010 +0000
Only save vector registers if we've defined for the vector registers.
Fixes PR5309.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97554 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f67a13451468f8ce717ca9027b6682877f9f7d2
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 06:04:12 2010 +0000
move some code out of DAGISelHeader up to SelectionDAGISel.h where it
is shared by all targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97553 91177308-0d34-0410-b5e6-96231b3b80d8
commit ab60ef8f311ea273509797ec2c4318732d1012ce
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Mar 2 05:32:52 2010 +0000
Fix looking up MD names to not need a module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97550 91177308-0d34-0410-b5e6-96231b3b80d8
commit e698201c7f1c69b21bc4793670d889309c54f924
Author: Eric Christopher <echristo@apple.com>
Date: Tue Mar 2 05:17:21 2010 +0000
Move the docsdir to /usr/share/doc/llvm to match other projects.
Fixes PR6267.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97549 91177308-0d34-0410-b5e6-96231b3b80d8
commit 46d06bbfb91bf06007f62cf8e3e55db44f41d18f
Author: Eric Christopher <echristo@apple.com>
Date: Tue Mar 2 05:06:54 2010 +0000
Make sure we save CXXFLAGS before setting it as pedantic and regenerate
configure.
Fixes PR6388.
Patch by Yann Droneaud!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97548 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3dcff6b02d5fbca92a6f689dc736e899e7931eaf
Author: Eric Christopher <echristo@apple.com>
Date: Tue Mar 2 02:49:43 2010 +0000
Add file to CMakeLists.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97545 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33880353f3b7bb2b8068e6ed39eccc08c263f60e
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Mar 2 02:38:24 2010 +0000
Add skeleton of a machine level cse pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97543 91177308-0d34-0410-b5e6-96231b3b80d8
commit 37c9263aca6dab843a9b1b4d84b4fc4ccf52a732
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Mar 2 02:37:33 2010 +0000
Add count() and lookup() to ScopedHashTable. It might be useful to get information out of the hash table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97542 91177308-0d34-0410-b5e6-96231b3b80d8
commit dd20d2550e38dec3e1b1666e4166c2c8e46850fb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 02:37:23 2010 +0000
Use the right induction variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97541 91177308-0d34-0410-b5e6-96231b3b80d8
commit 645d1cecf03833d5fdcd62a62286d3193d6dda20
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 02:22:10 2010 +0000
Rewrite chain handling validation and input TokenFactor handling
stuff now that we don't care about emulating the old broken
behavior of the old isel. This eliminates the
'CheckChainCompatible' check (along with IsChainCompatible) which
did an incorrect and inefficient scan *up* the chain nodes which
happened as the pattern was being formed and does the validation
at the end in HandleMergeInputChains when it forms a structural
pattern. This scans "down" the graph, which means that it is
quickly bounded by nodes already selected. This also handles
token factors that get "trapped" in the dag.
Removing the CheckChainCompatible nodes also shrinks the
generated tables by about 6K for X86 (down to 83K).
There are two pieces remaining before I can nuke PreprocessRMW:
1. I xfailed a test because we're now producing worse code in a
case that has nothing to do with the change: it turns out that
our use of MorphNodeTo will leave dead nodes in the graph
which (depending on how the graph is walked) end up causing
bogus uses of chains and blocking matches. This is really
bad for other reasons, so I'll fix this in a follow-up patch.
2. CheckFoldableChainNode needs to be improved to handle the TF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97539 91177308-0d34-0410-b5e6-96231b3b80d8
commit a14a5077a5804713ff8262f5eb4ce43ab41aeb7e
Author: Dan Gohman <gohman@apple.com>
Date: Tue Mar 2 02:14:38 2010 +0000
Fix several places to handle vector operands properly.
Based on a patch by Micah Villmow for PR6438.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97538 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3d553d864b97fd0283fe0d4f5a740780289386ed
Author: Dan Gohman <gohman@apple.com>
Date: Tue Mar 2 01:59:21 2010 +0000
Non-affine post-inc SCEV expansions have more code which must be
emitted after the increment. Make sure the insert position
reflects this. This fixes PR6453.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97537 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b90d3794cfe6e8ad522399cf81af8afe01d6535
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Mar 2 01:55:18 2010 +0000
Remove dead parameter passing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97536 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d7ac48da3b9e6a7709d661695920c111bc8d172
Author: Devang Patel <dpatel@apple.com>
Date: Tue Mar 2 01:26:20 2010 +0000
Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97533 91177308-0d34-0410-b5e6-96231b3b80d8
commit df236b99612bf13242fd83e74e5ce902dc2050b2
Author: Dan Gohman <gohman@apple.com>
Date: Tue Mar 2 01:11:08 2010 +0000
Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
respectively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97531 91177308-0d34-0410-b5e6-96231b3b80d8
commit f90913ecdaba0e911feff5419bddae0cd3945359
Author: Dan Gohman <gohman@apple.com>
Date: Tue Mar 2 01:08:11 2010 +0000
PerformTailCallOpt was renamed to GuaranteedTailCallOpt to
better reflect its meaning, now that tail call optimizations
are done by default in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97530 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3fcac3316951ba07b0b7ea1b35fac04e47e43db
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 00:40:26 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97529 91177308-0d34-0410-b5e6-96231b3b80d8
commit 260058f76c2106f6f4acfdf38b1ef4a95c5945a4
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 00:13:03 2010 +0000
add some missing \n's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97527 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50a69481871546040ce068be4513ad612331e46b
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Mar 2 00:09:29 2010 +0000
Don't attempt load PRE when there is no real redundancy (i.e., the load is in
a loop and is itself the only dependency).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97526 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c85da73dae24e6f2b27378efe16b9a0624a5701
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Mar 2 00:00:03 2010 +0000
refactor some code out of OPC_EmitMergeInputChains into a
new helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97525 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08a3d3fb1e0f5859d9a5700fc19a104dc99714ae
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 23:40:33 2010 +0000
remove some functions that were only used by the
old isel generated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97522 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdc2f6d89067566b9296fa533767143e92c3cc81
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Mar 1 23:37:32 2010 +0000
When GVN needs to split critical edges for load PRE, check all of the
predecessors before returning. Otherwise, if multiple predecessor edges need
splitting, we only get one of them per iteration. This makes a small but
measurable compile time improvement with -enable-full-load-pre.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97521 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7feeb6e3d905c5fa8d4a2880629df7c4ef0e381e
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 23:08:51 2010 +0000
fixme resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97517 91177308-0d34-0410-b5e6-96231b3b80d8
commit 24ebfdd24c06935f75e62e96895d37f35434a2f0
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:51:11 2010 +0000
remove a little hack I did for the old isel, not needed
now that it is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97516 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57ebc5e653cbf4284f907b24a0fab8add8115f08
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:49:06 2010 +0000
resolve some fixmes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97515 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d6a51163d2e8d0911aaeb265e8dfab3fc2a934a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:46:42 2010 +0000
resolve a fixme and simplify code by moving insertion of the
EmitMergeInputChainsMatcher node up into EmitResultCode. This
doesn't have much of an effect on the generated code, the X86
table is exactly the same size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97514 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62300e6cebb26b0de1f8f99ed62463d0ef4d7c9c
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:29:19 2010 +0000
resolve a fixme by having the .td file parser reject thigns like
(set GPR, somecomplexpattern)
if somecomplexpattern doesn't declare what it can match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97513 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d53bd63665da09ed931b601d19da0c08097491f
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Mar 1 22:23:12 2010 +0000
MemoryDepAnalysis is not used if redundant load processing is disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97512 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d44157df53834c145dc42123b6e5fb777ca5539
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:20:05 2010 +0000
remove all but one version of SelectionDAG::MorphNodeTo
(the most general) the others are dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97511 91177308-0d34-0410-b5e6-96231b3b80d8
commit a862e2d42700b96c82d6c8df8401519151972fe6
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:19:47 2010 +0000
remove dead code, simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97510 91177308-0d34-0410-b5e6-96231b3b80d8
commit 22e438bea13c3dfcb0474c8d7553cb9f19bdcbb3
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:09:11 2010 +0000
Fix PR2590 by making PatternSortingPredicate actually be
ordered correctly. Previously it would get in trouble when
two patterns were too similar and give them nondet ordering.
We force this by using the record ID order as a fallback.
The testsuite diff is due to alpha patterns being ordered
slightly differently, the change is a semantic noop afaict:
< lda $0,-100($16)
---
> subq $16,100,$0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97509 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4418997fb6ffa56726629c271c122495c2c7c0c4
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 22:04:33 2010 +0000
tolerate factoring the *last* node for CellSPU.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97508 91177308-0d34-0410-b5e6-96231b3b80d8
commit e15fe40f5a32095a05f4ff5f4893c62b87ce26ce
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Mar 1 22:00:11 2010 +0000
Remove the optimize for code size limitation on r67917. Optimize 64-bit imul by constants into leas + shl regardless if optimizing for code size. The size saving from using imulq isn't worth it. Also, the lea and shl instructions may expose further optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97507 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8295665bba2279540d57829dcecff576ae25e439
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 21:49:54 2010 +0000
optimize tblgen compile time by eliminating the old isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97504 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b23bcf07f255f7d4fce0e591e35471a75fdc683
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 21:45:21 2010 +0000
Make llc opt into the addPassesToEmitFile verify pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97502 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7fb316404308c1aac6821255982e5b67866a499a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 21:20:46 2010 +0000
remove a terrible hack that disabled assertions from this file because of build time
problems. rdar://7697850.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97500 91177308-0d34-0410-b5e6-96231b3b80d8
commit b2f406b555d99585ac8a4f1415285779696ddf1e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Mon Mar 1 20:59:38 2010 +0000
Use methods to determine if a LiveInterval is spillable.
Don't accidentally produce unspillable intervals for deeply nested loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97496 91177308-0d34-0410-b5e6-96231b3b80d8
commit c01812c5876a287ed5b8dcf6202a4f1bd96602b7
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 20:33:48 2010 +0000
Remove tests that checks @llvm.dbg.stoppoint handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97493 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c4d5029d1d0f88c30bf95fda9214a8d89bba751
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 20:24:50 2010 +0000
stop using anders-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97492 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32f6cf91d506799397c854220680a4418e28cfad
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 20:24:05 2010 +0000
stop using anders-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97491 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3d424a60864d2adf37098d15c8a5c21545cdfa08
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 20:23:15 2010 +0000
remove andersen's tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97490 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa7e2749f520bbfd4a4d107e16d0704ed417c7ee
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 19:46:08 2010 +0000
@llvm.dbg.stoppoint intrinsic is not used anymore.
Delete dead testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97489 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0f7d3b5afa2490eb194fe931b6477fd22d3a96c2
Author: Ted Kremenek <kremenek@apple.com>
Date: Mon Mar 1 19:42:47 2010 +0000
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97488 91177308-0d34-0410-b5e6-96231b3b80d8
commit f30f0316e20fa83ab95dcbed7d7ba68c32347aad
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 19:41:26 2010 +0000
Update to use new debug info encoding scheme. As a bonus, now the test passes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97487 91177308-0d34-0410-b5e6-96231b3b80d8
commit b5199788f617a98bf5b27759e1f797bf5e0b3923
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 19:39:15 2010 +0000
don't emit the old sdnodexform stuff for the new isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97486 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e46b9150341e9427461eadb8f6ad1ef9a189430
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 19:38:53 2010 +0000
stop using generated sdnodexforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97485 91177308-0d34-0410-b5e6-96231b3b80d8
commit d85206bea0a36f0c4076a32cb2e95601645e640f
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 19:29:17 2010 +0000
note that andersaa was removed in 2.7
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97484 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfbb0c6be01df99a6ffeae22115516f0e945fef2
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 19:24:17 2010 +0000
remove anders-aa from mainline, it isn't maintained and is
tantalyzing enough that people keep trying to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97483 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1f2cde6af7f0db1517bd466ccb899b4ee9d5a23
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Mar 1 19:22:00 2010 +0000
Added STRHT for disassembly only and fixed a bug in AI3sthpo class where the W
bit should be set to 0 instead of 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97481 91177308-0d34-0410-b5e6-96231b3b80d8
commit c0ab0702974c022f6a18439c5a48377ac2342c64
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 19:14:25 2010 +0000
Remove this test because it checks wheter optimizer handled @llvm.dbg.global_variable appropriately or not. LLVM does not use this scheme to encode debug info for global variables any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97480 91177308-0d34-0410-b5e6-96231b3b80d8
commit a269f3e1aba5cdad240aec7076ca5e7152d15969
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 19:09:55 2010 +0000
Remove test to check bugfix in handing debug info for global variables using intrinsics. Now, debug info for global variable is encoded using metadata. The old code path is now history and there is no need to have a test to check a bug fix in old code path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97477 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb1c9ef6ed13e877ccf48be75e6a1023c3b2b7c5
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 19:05:25 2010 +0000
Turn on the new isel by default. Here are some fun numbers
with a release-asserts build on x86-64-darwin10:
LLC Size:
Old: 15,426,852
New: 12,759,140 (down 2.7M)
LLI Size:
Old: 9,926,876
New: 8,864,292 (down 1.1M)
X86ISelDAGToDAG.o size:
Old: 1,401,232
New: 162,868 (down 1.3M)
Time to build X86ISelDAGToDAG.o:
Old: 67.147u 2.060s 1:09.78
New: 4.234u 0.387s 0:04.77
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97475 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d791b44af91da373093865ea230fbf38ec0948f
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 19:04:23 2010 +0000
Remove dead test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97474 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7ed258a0bfd46180a030422d9558aa74d20bcfe
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 19:02:51 2010 +0000
Replace test case that uses @llvm.dbg.* intrinsic with a test that uses metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97473 91177308-0d34-0410-b5e6-96231b3b80d8
commit d43e9a3a28b001bf2dbbcd34a4fbebecf7e64d4d
Author: Edwin Török <edwintorok@gmail.com>
Date: Mon Mar 1 19:00:55 2010 +0000
Missed a \n in previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97472 91177308-0d34-0410-b5e6-96231b3b80d8
commit 900084a3a996d57d247b2cf2e5dc3891f38bb6ef
Author: Edwin Török <edwintorok@gmail.com>
Date: Mon Mar 1 18:49:10 2010 +0000
Add command-line flag to tblgen to turn off generating comments for the new
isel (defaults it to generate comments).
This reduces the size of the generated source file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97470 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4cf6005fd6c4683897dc7900db9d0e18f1c1c163
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 18:47:11 2010 +0000
Accelerate isel dispatch for tables that start with a top-level
OPC_SwitchOpcode to use a table lookup instead of having to go
through the interpreter for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97469 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73faf3b452fb3f786eaf59dd94653f0a1e417f97
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 18:45:28 2010 +0000
These two tests check whether oprimizer safely ignores @llvm.dbg.stoppoint intrinsic or not. This intrinsic is not used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97468 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57fb3dc4756b2368cd4dfc9d7dc69fbd07ec6eba
Author: John McCall <rjmccall@apple.com>
Date: Mon Mar 1 18:38:45 2010 +0000
Don't potentially read past the end of the fill data when making a NaN from
an APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97467 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce6fc8a4994331b09cae2aea6d056acd7d854acb
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 18:32:27 2010 +0000
This test checks whether LICM ignores @llvm.dbg.stoppoint intrinsics appropriately or not. Now, llvm does not use this intrinsic. Remove this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97466 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff71abdc1ad48564ec39a08c2dfc8ada00d09269
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 18:30:58 2010 +0000
Rewrite test to test VLA using new debug info encoding scheme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97465 91177308-0d34-0410-b5e6-96231b3b80d8
commit a2208249ae2bfc2bfe44891b9428285f1be8ecb8
Author: Devang Patel <dpatel@apple.com>
Date: Mon Mar 1 18:30:08 2010 +0000
Remove this generic debug info intrinsic test. LLVM does not use this llvm.dbg.stoppoint intrinsic anymore. There are tests to check new implementation, which attaches location information directly with an instruction using metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97464 91177308-0d34-0410-b5e6-96231b3b80d8
commit 67cd6e6ab83953b91433830206ccd949cdd42546
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:59:21 2010 +0000
Fix optimization of ISD::TRUNCATE on vector operands. Based on a patch
by Micah Villmow for PR6335.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97461 91177308-0d34-0410-b5e6-96231b3b80d8
commit 394b4939b4abb5aaa780407b6185638488fa9171
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:56:46 2010 +0000
Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97460 91177308-0d34-0410-b5e6-96231b3b80d8
commit bbbcd55632c777c274e90f3287fc0c3e89e388ac
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:56:04 2010 +0000
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97459 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f37d90123bcf49949425057710641d0e35897d2
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:55:27 2010 +0000
Add some debug output to LoopSimplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97458 91177308-0d34-0410-b5e6-96231b3b80d8
commit c099730599723c7545055dd1ce973b8e86ddc422
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:53:39 2010 +0000
Add the alignstack keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97457 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4aca1f7708d659f0f318433f12f4a985aa753aad
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:53:15 2010 +0000
LLVM instruction syntax doesn't have trailing semicolons.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97456 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2bc097deea0aef83a61f7058471b2962416bb8a3
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:52:16 2010 +0000
svn:ignore fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97455 91177308-0d34-0410-b5e6-96231b3b80d8
commit a823e5e5935f53e6446c1adc4efde2974a9ca8e3
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:51:02 2010 +0000
Spelling fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97454 91177308-0d34-0410-b5e6-96231b3b80d8
commit 03bf33a56bce72af7a76cea32f2b01fe0ab5a4e1
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:49:51 2010 +0000
Spelling fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97453 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39cf7ad065e20be0898c6003b3e350cb42f379eb
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:47:21 2010 +0000
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97452 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6600d10855c8457fb20f04362c678911f6cfb648
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:45:15 2010 +0000
Use Doxygen comment syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97451 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f6a178532279b83f4eb30d58ec66f704f219e87
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:43:57 2010 +0000
This is now done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97450 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2119ecfcab1b531dbd10b8371c5b143aa155b75a
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:42:55 2010 +0000
Fix a missing newline in debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97449 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9568d4b7819c5d7f928ace96ea7d7732e3db2eb4
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:42:17 2010 +0000
Prune #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97448 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5c104e7a9aabb7645db735cd4cdfc714b5916fc
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:41:39 2010 +0000
Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97447 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6577b50b6f8ad580eb7d3f7016f0273457061098
Author: Dan Gohman <gohman@apple.com>
Date: Mon Mar 1 17:34:28 2010 +0000
Don't print "Modified" for passes which haven't modified anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97446 91177308-0d34-0410-b5e6-96231b3b80d8
commit 98bcbe6c99e81d18bd0aec239b0a818fc42df6e9
Author: Nathan Keynes <Nathan.Keynes@sun.com>
Date: Mon Mar 1 10:40:41 2010 +0000
Add JIT support to the TODO list (test commit)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97443 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9dc91ac6e34d324bab29063b90aff9f6216541b8
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 07:54:59 2010 +0000
Emit type checks late instead of early, this encourages
structural matching code to be factored and shared this
shrinks the X86 isel table from 86537 to 83890 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97442 91177308-0d34-0410-b5e6-96231b3b80d8
commit c512fe0ee4f668f6df9c4e2adf994a042c589597
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 07:43:08 2010 +0000
some trivial microoptimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97441 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad0f17c91f61dd1118e48937e67b82381f26a8be
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 07:27:07 2010 +0000
Emit a redundant check for immediates at root context, e.g. (imm 0).
This allows formation of OpcodeSwitch for top level patterns, in
particular on X86. This saves about 1K of data space in the x86
table and makes the dispatch much more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97440 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6ccd7096ef3cd69a663ec57bf08515f42feb7fc1
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 07:17:40 2010 +0000
eliminate the CheckMultiOpcodeMatcher code and have each
ComplexPattern at the root be generated multiple times, once
for each opcode they are part of. This encourages factoring
because the opcode checks get treated just like everything
else in the matcher.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97439 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7b12730d457b342eb88dcca8bc7a6af4be6167ca
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 06:59:22 2010 +0000
add a new OPC_SwitchOpcode which is semantically equivalent
to a scope where every child starts with a CheckOpcode, but
executes more efficiently. Enhance DAGISelMatcherOpt to
form it.
This also fixes a bug in CheckOpcode: apparently the SDNodeInfo
objects are not pointer comparable, we have to compare the
enum name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97438 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6e68128b5add40945c87a8158210a262882b74d0
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 02:33:14 2010 +0000
pull MarkFlagResult out from between an EmitNode/CompleteMatch
pair. This encourages MorphNodeTo formation, this gets us 200
more MorphNodeTo's on X86 and shrinks the table a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97434 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5fb9cc77917868b356308408cccec6556b692058
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 02:24:17 2010 +0000
enhance RecordNode and RecordChild comments to indicate what
slot they're recording into, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97433 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51a318403fb8e5d67c3aeeee9f31d1f01d2aa4ab
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 02:15:34 2010 +0000
Emit redundant opcode checks for andimm and orimm tests at root
so that we get grouping at the top level.
Add an optimization to reorder type check & record nodes
after opcode checks. We prefer to expose tree shape
matching which improves grouping and will enhance the next
optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97432 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea9b74379f485b6de4fef0ba8f6217fd9b84f16b
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Mar 1 01:54:19 2010 +0000
inline the node transforms and node predicates into the generated
dispatcher method. This eliminates the dependence of the new isel's
generated code on the old isel's predicates, however some random
hand written isel code still uses them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97431 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4ce0b03a5953fefa42ca43c150130907903bd64a
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 23:00:47 2010 +0000
simplify some code now that chain/flag results are not stored in
the vtlist for emitnode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97429 91177308-0d34-0410-b5e6-96231b3b80d8
commit bfbeef9fd80c771c49c245f10b42d2a636a6934f
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 22:57:03 2010 +0000
don't emit useless functions. These were producing
warnings in release-assert builds if there were no cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97428 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36ae3a009e6568e3ca67b2a2fbfe7856291c13e2
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sun Feb 28 22:54:30 2010 +0000
80-col violations/trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97427 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96cef7b5473e983c9ff73eb828499e6a13f751d7
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 22:38:43 2010 +0000
eliminate GetInt1/2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97426 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0417ed0c15a13e3db6ffe44ee2c48173484a1109
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 22:37:22 2010 +0000
hoist the new isel interpreter out of DAGISelHeader.h
(which gets #included into the middle of each
target's DAGISel class) into a .cpp file where it is
only compiled once.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97425 91177308-0d34-0410-b5e6-96231b3b80d8
commit 856846ab383401ba1dbfeeec0f47ced8b118a4bb
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 22:14:32 2010 +0000
change a few opcodes to use VBRs instead of embedding
immediate sizes into the opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97423 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb595e5073d524aee1567d7cee9fe3494278eb6f
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 21:58:42 2010 +0000
move all the opcodes out of DAGISelHeader.h (which gets
#included into the middle of each isel class) into a real
header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97421 91177308-0d34-0410-b5e6-96231b3b80d8
commit 43c6ab0a079de32d6fb58d1a90a3809ba2901908
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 21:56:16 2010 +0000
resolve a fixme by using hte new flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97420 91177308-0d34-0410-b5e6-96231b3b80d8
commit b7fcce3c10c92cbf96d224235dc4b76cfd08fde8
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 21:53:42 2010 +0000
enhance the EmitNode/MorphNodeTo operands to take a bit that
specifies whether there is an output flag or not. Use this
instead of redundantly encoding the chain/flag results in the
output vtlist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97419 91177308-0d34-0410-b5e6-96231b3b80d8
commit 53bd1ebee622628c7343ed41c5712f36b6e4ce5e
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 21:36:14 2010 +0000
enhance the new isel to handle the 'node already exists'
case of MorphNodeTo directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97417 91177308-0d34-0410-b5e6-96231b3b80d8
commit c7f6db0a804e649cf9ca8287e124992f1fb4c9fe
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 20:55:18 2010 +0000
use MorphNodeTo instead of SelectNodeTo. SelectNodeTo
is just a silly wrapper around MorphNodeTo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97416 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4051f97bd0cec2c25a612275d784bf3158f7d519
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 20:49:53 2010 +0000
enhance the new isel to use SelectNodeTo for most patterns,
even some the old isel didn't. There are several parts of
this that make me feel dirty, but it's no worse than the
old isel. I'll clean up the parts I can do without ripping
out the old one next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97415 91177308-0d34-0410-b5e6-96231b3b80d8
commit 83cf81459909f6ad4fc1d4f4156b80ba7af75069
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 20:45:03 2010 +0000
Add support getting the operands of a User to ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97414 91177308-0d34-0410-b5e6-96231b3b80d8
commit 450fb9a0dcaea37af6c84ab5dad4300dd8879c88
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 20:44:58 2010 +0000
Add support for global aliases to ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97413 91177308-0d34-0410-b5e6-96231b3b80d8
commit d3bde2b90fafbbf7d9aabf68b23af9b628cf0085
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 20:44:53 2010 +0000
Add support for inserting inline asm to ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97412 91177308-0d34-0410-b5e6-96231b3b80d8
commit 93a2c6ec39a97fe46492cf53eb650eddab7bbfc1
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 20:36:49 2010 +0000
add some random nounwinds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97411 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa921203d13ac0fb0d154010c24a417958283020
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 18:57:59 2010 +0000
I'm removing andersaa after the branch is made.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97409 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d3d749dfb45895948c6a8d8528e1bd2a7b13837
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 18:53:13 2010 +0000
simplify this code, return only ever has zero or one operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97408 91177308-0d34-0410-b5e6-96231b3b80d8
commit a60c85a69c177be912465a44b4717adfeb979816
Author: John McCall <rjmccall@apple.com>
Date: Sun Feb 28 12:49:50 2010 +0000
Properly clear all the extra bits in a significand when making a NaN from an
APInt. Be certain to set the integer bit in an x87 extended-precision
significand so that we don't accidentally make a pseudo-NaN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97382 91177308-0d34-0410-b5e6-96231b3b80d8
commit b73b9b8128235c347a93945605d1cd84e582696c
Author: John McCall <rjmccall@apple.com>
Date: Sun Feb 28 09:55:58 2010 +0000
Add an override to StringRef::getAsInteger which parses into an APInt.
It gets its own implementation totally divorced from the (presumably
performance-sensitive) routines which parse into a uint64_t.
Add APInt::operator|=(uint64_t), which is situationally much better than
using a full APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97381 91177308-0d34-0410-b5e6-96231b3b80d8
commit f70395da00a55ea0ae9734f316d3be00e31978a7
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 09:46:27 2010 +0000
Add support for getting a null pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97380 91177308-0d34-0410-b5e6-96231b3b80d8
commit b522f73045d581a47646967565b75e494ced5c79
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 09:46:21 2010 +0000
Add a way to look up a type by it's name in a module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97379 91177308-0d34-0410-b5e6-96231b3b80d8
commit d00375038d31c98adbbf3c990168b1fac0cd2735
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 09:46:16 2010 +0000
Add replace_all_uses_with to ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97378 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0dc2daf8a6c205a9ee950843ad527b5b88e7463d
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 09:46:13 2010 +0000
Add support for global variables in an address space for llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97377 91177308-0d34-0410-b5e6-96231b3b80d8
commit 15b767e020fdfaa8d198f5f030d330469a5f131a
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 09:46:06 2010 +0000
Add indirect br support to llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97376 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8aaaa83f6c0ab52f16a54243e9b68057e8148d7f
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 09:45:59 2010 +0000
Add metadata functions to llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97375 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5e4e15881e31968d97b62653a4379fed11c4f3d
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 07:23:21 2010 +0000
remove redundant instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97374 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8936e3701522f0e8fd033265372badb466bc84e
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 05:51:43 2010 +0000
Add the new builder arthmetic instructions to llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97372 91177308-0d34-0410-b5e6-96231b3b80d8
commit efc5c4e7d824f4ad8619c5e615062f2928479350
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 05:51:33 2010 +0000
Add the new union arthmetic instructions to llvm-c and ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97371 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c8058555c5031abf80cbd817ae869991069742b
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 05:51:27 2010 +0000
Add generic binary op and cast builder functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97370 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7aede7fced6359bd3aa9869ef3d5d0ce5362fb6f
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 05:51:21 2010 +0000
Rename ocaml vmcore tests to make it easier to insert tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97369 91177308-0d34-0410-b5e6-96231b3b80d8
commit 146b87473f05694f887df9b3e6c546e95e868941
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 05:51:16 2010 +0000
Fix incorrect uses of an ocaml llbuilder without extracting it from ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97368 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0279de8b895de809986fe333fed332d7c2566cf2
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Sun Feb 28 05:51:09 2010 +0000
Remove malloc and free from the ocaml bindings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97367 91177308-0d34-0410-b5e6-96231b3b80d8
commit c7d12e99d2a502cec60edc40fccf93e065cc2968
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sun Feb 28 05:34:05 2010 +0000
Revert r97245 which seems to be causing performance problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97366 91177308-0d34-0410-b5e6-96231b3b80d8
commit 91b67e07d2385dc10690b7616b0d130049be6185
Author: John McCall <rjmccall@apple.com>
Date: Sun Feb 28 02:51:25 2010 +0000
Teach APFloat how to create both QNaNs and SNaNs and with arbitrary-width
payloads. APFloat's internal folding routines always make QNaNs now,
instead of sometimes making QNaNs and sometimes SNaNs depending on the
type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97364 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc3645f2ee3c76cd9e607ddcb431d05048e52b1f
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 02:41:25 2010 +0000
enhance EmitNodeMatcher to keep track of the recorded slot numbers
it will populate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97363 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d33d1b229f9c69b7d426477fc02a4c060a40d13
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 02:31:26 2010 +0000
add infrastructure to support forming selectnodeto. Not used yet
because I have to go on another detour first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97362 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62f32a3103755eaf327dfafd131c4c459858e326
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 28 01:33:43 2010 +0000
Don't try to replace physical registers when doing CSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97360 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8511f87ea283219b6d25d37fe66179b511e35e9f
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 28 00:41:59 2010 +0000
Add a flag to addPassesToEmit* to disable the Verifier pass run
after LSR, so that clients can opt in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97357 91177308-0d34-0410-b5e6-96231b3b80d8
commit c58b4d7e491b331370d3a79a43a986f1946a93d2
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 28 00:22:30 2010 +0000
Generalize my hack to use SDNodeInfo to find out when a
node is always guaranteed to have a particular type
instead of hacking in ISD::STORE explicitly. This allows
us to use implied types for a broad range of nodes, even
target specific ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97355 91177308-0d34-0410-b5e6-96231b3b80d8
commit 497f06b7b7bc7205a6379d1abe5d10b8fa4d9bf4
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 28 00:17:42 2010 +0000
Implement XMM subregs.
Extracting the low element of a vector is now done with EXTRACT_SUBREG,
and the zero-extension performed by load movss is now modeled with
SUBREG_TO_REG, and so on.
Register-to-register movss and movsd are no longer considered copies;
they are two-address instructions which insert a scalar into a vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97354 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9aa35000ba4cbc3d03575ab72d657d82f761f370
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 28 00:08:44 2010 +0000
Don't unconditionally suppress hoisting of instructions with implicit
defs or uses. The regular def and use checking below covers them, and
can be more precise. It's safe to hoist an instruction with a dead
implicit def if the register isn't live into the loop header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97352 91177308-0d34-0410-b5e6-96231b3b80d8
commit de6a265c339af6a79f20a4add9c890f09521fe71
Author: Dan Gohman <gohman@apple.com>
Date: Sat Feb 27 23:53:53 2010 +0000
Add nounwinds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97349 91177308-0d34-0410-b5e6-96231b3b80d8
commit 35d4ac0dc7c9a2616bb63d2f133c688b8299f525
Author: Dan Gohman <gohman@apple.com>
Date: Sat Feb 27 23:47:46 2010 +0000
The mayHaveSideEffects flag is no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97348 91177308-0d34-0410-b5e6-96231b3b80d8
commit d99a053a4c2e05046149d6c7bb5dde3807d999ec
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 21:48:43 2010 +0000
change CheckOpcodeMatcher to hold the SDNodeInfo instead of
the opcode name. This gives the optimizer more semantic info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97346 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4247398be6f858db37404021873d11b8e8c4f985
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 21:15:32 2010 +0000
remove a bogus pattern, which had the same pattern as STDU
but codegen'd differently. This really wanted to use some
sort of subreg to get the low 4 bytes of the G8RC register
or something. However, it's invalid and nothing is testing
it, so I'm just zapping the bogosity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97345 91177308-0d34-0410-b5e6-96231b3b80d8
commit a438b4a8e0e10a25846fe051b68153917abc9538
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 08:19:47 2010 +0000
add another case from the ppc backend. This is obviously a huge and
dissatisfying hack. TODO: Improve it. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97317 91177308-0d34-0410-b5e6-96231b3b80d8
commit dacb44537c6fec3bd9dfb76512ae9d3f327250f6
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 08:18:55 2010 +0000
fix an incorrect (overly conservative) predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97316 91177308-0d34-0410-b5e6-96231b3b80d8
commit 24ca8ffb85f2e87c2cc89e910f8de279336c142f
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 08:13:23 2010 +0000
fix logic in DEBUG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97315 91177308-0d34-0410-b5e6-96231b3b80d8
commit d04d261fdcd3ac272de8cb68226825fa9eba6313
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 08:11:15 2010 +0000
teach the optimizer that opcode == ISD::STORE is contradictory
with getType() == MVT::i32 etc. Teach it that two different
integer constants are contradictory. This cuts 1K off the X86
table, down to 98k
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97314 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5834855cea71c583026c77c7bde0ec2fbbd97a25
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 07:50:40 2010 +0000
fix grammaro's pointed out by daniel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97313 91177308-0d34-0410-b5e6-96231b3b80d8
commit 830549b90a14b345509a0984526c78eb1c65fffa
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 07:49:13 2010 +0000
Teach the grouper some simple tricks about looking contradictory
predicates. For example if we have:
Scope:
CheckType i32
ABC
CheckType f32
DEF
CheckType i32
GHI
Then we know that we can transform this into:
Scope:
CheckType i32
Scope
ABC
GHI
CheckType f32
DEF
This reorders the check for the 'GHI' predicate above
the check for the 'DEF' predidate. However it is safe to do this
in this situation because we know that a node cannot have both an
i32 and f32 type.
We're now doing more factoring that the old isel did.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97312 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f3fcd72c730a01993b6cf1563d03e56da42c237
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 27 07:36:59 2010 +0000
Re-apply 97040 with fix. This survives a ppc self-host llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97310 91177308-0d34-0410-b5e6-96231b3b80d8
commit 792a0ed7161970678528fc14db1c8d9a6a719247
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 06:51:44 2010 +0000
use DEBUG instead of DebugFlag directly so that this
respects -debug-only=something-else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97307 91177308-0d34-0410-b5e6-96231b3b80d8
commit 509ed849a170b844b41841ae3aa518040e191de8
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 06:22:57 2010 +0000
implement a new optimization to sink pattern predicates (like isSSE1)
as deeply into the pattern as we can get away with. In pratice, this
means "all the way to to the emitter code, but not across
ComplexPatterns". This substantially increases the amount of factoring
we get.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97305 91177308-0d34-0410-b5e6-96231b3b80d8
commit d600f8d37b6ec0f628498b978f078fdae0a56247
Author: Bill Wendling <isanbard@gmail.com>
Date: Sat Feb 27 01:05:51 2010 +0000
The TType is always absptr on Mach-O...at least for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97295 91177308-0d34-0410-b5e6-96231b3b80d8
commit f9ceeeae6ddb552b4c4d6319f6f38e9b691edd3d
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sat Feb 27 00:25:18 2010 +0000
Fix the ocaml bindings for the bitcode reader.
llvm_get_module_provider() was returning a value of the wrong type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97290 91177308-0d34-0410-b5e6-96231b3b80d8
commit 360dc7efa16a2c94ca408ff16921b2295117a05b
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 27 00:07:42 2010 +0000
fix PR6414, a nondeterminism issue in IPSCCP which was because
of a subtle interation in a loop operating in densemap order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97288 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1cd1e9442328fdae0d0d84e2e21dbcaae0d454fa
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 23:42:13 2010 +0000
Fix rdar://7694996 a miscompile of 183.equake from my patch yesterday,
confusing the old MAT variable with the new GlobalType one. This caused
us to promote the @disp global pointer into:
@disp.body = internal global double*** undef
instead of:
@disp.body = internal global [3 x double**] undef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97285 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8976a55c744f61ee237c314bd0b066631f016b54
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 23:35:25 2010 +0000
remove dead code, by this point all uses of CI are gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97283 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3cd39b2d873bbc924dd63f5eaad787bda20b92c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 26 22:25:06 2010 +0000
Test that docs are updating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97279 91177308-0d34-0410-b5e6-96231b3b80d8
commit d3965a7b28926fb40c38c0a2aec31808f86285aa
Author: John McCall <rjmccall@apple.com>
Date: Fri Feb 26 22:20:41 2010 +0000
Make APFloat's string-parsing routines a bit safer against very large exponents.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97278 91177308-0d34-0410-b5e6-96231b3b80d8
commit 00969bab536007305f3d9d9c7ff1b762ee86fc8c
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 26 22:17:52 2010 +0000
A much cleaner (and less code!) way of inserting the correct amount of padding
for alignment into the LSDA. If the TType base offset is emitted, then put the
padding there. Otherwise, put it in the call site table length. There will be no
conflict between the two sites when placing the padding in one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97277 91177308-0d34-0410-b5e6-96231b3b80d8
commit a13a014855f0a2b93cb4e26fd33648d976691a5b
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 26 22:04:29 2010 +0000
Added the follwoing 32-bit Thumb instructions for disassembly only:
o Parallel addition and subtraction, signed/unsigned
o Miscellaneous operations: QADD, QDADD, QSUB, QDSUB
o Unsigned sum of absolute differences [and accumulate]: USAD8, USADA8
o Signed/Unsigned saturate: SSAT, SSAT16, USAT, USAT16
o Signed multiply accumulate long (halfwords): SMLAL<x><y>
o Signed multiply accumulate/subtract [long] (dual): SMLAD[x], SMLALD[X], SMLSD[X], SMLSLD[X]
o Signed dual multiply add/subtract [long]: SMUAD[X], SMUSD[X]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97276 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe01e44b8a2fc762d4514160955dede4ca282c8e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 26 21:53:24 2010 +0000
Merge PPC instructions FMRS and FMRD into a single FMR instruction.
This is possible because F8RC is a subclass of F4RC. We keep FMRSD around so
fextend has a pattern.
Also allow folding of memory operands on FMRSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97275 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0121a9111a1eb81a2aec04671e30a540ff3a7df4
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 21:45:37 2010 +0000
Fix grammaro in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97273 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c95ce5459c63f98c09cd3c3bc44cd76dbd6d5fa
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 21:39:02 2010 +0000
Use the right svn:keywords value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97271 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d3f1b5dff1263397df8b3b30c48a5184be36f94
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 21:38:04 2010 +0000
Add Revision keywords to these files, as it's common for them to be
copied out of the source tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97270 91177308-0d34-0410-b5e6-96231b3b80d8
commit fcc1fcf93d832105213aff60ee0cfe7fc30a1a6b
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 26 21:31:01 2010 +0000
Comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97269 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed686f4264ca2a868811193b3ce64b6fbefaf0bd
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 21:26:33 2010 +0000
don't build edis if the x86 target isn't enabld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97268 91177308-0d34-0410-b5e6-96231b3b80d8
commit 193c9fd0cb4dd45ae7003b71b9f6336aebec0773
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 21:24:46 2010 +0000
Improve the vim code for highlighting trailing whitespace and lines
longer than 80 columns. This replaces the heavy-handed "textwidth"
mechanism, and makes the trailing-whitespace highlighting lazy so
that it isn't constantly jumping on the user during typing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97267 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc6e0499f95fc697c42e9c84463e0dd6f3446850
Author: Tanya Lattner <tonic@nondot.org>
Date: Fri Feb 26 21:23:59 2010 +0000
Test autoupdate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97266 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8b54f4ff53bb38c245970d79b4f0662cdd3212ed
Author: Tanya Lattner <tonic@nondot.org>
Date: Fri Feb 26 21:19:09 2010 +0000
Test auto update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97265 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9cf739796efea50e724cbda35c535613126414c2
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 21:16:17 2010 +0000
Add the alignstack keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97264 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f7d0be35e02a24b8ba3290254bdcec816592b61
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 21:15:49 2010 +0000
Remove bogus Updated line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97263 91177308-0d34-0410-b5e6-96231b3b80d8
commit d21af378e4c987c368684e57fb90ec61660f95b8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 26 21:09:24 2010 +0000
Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl().
The PowerPC floating point registers can represent both f32 and f64 via the
two register classes F4RC and F8RC. F8RC is considered a subclass of F4RC to
allow cross-class coalescing. This coalescing only affects whether registers
are spilled as f32 or f64.
Spill slots must be accessed with load/store instructions corresponding to the
class of the spilled register. PPCInstrInfo::foldMemoryOperandImpl was looking
at the instruction opcode which is wrong.
X86 has similar floating point register classes, but doesn't try to fold
memory operands, so there is no problem there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97262 91177308-0d34-0410-b5e6-96231b3b80d8
commit 55a6b3854c1c906f66abfac8d890f7cc41d39884
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 26 21:09:20 2010 +0000
Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97261 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa08d6d52785dd06ecdc0e101e169ed963d9fee9
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 26 20:43:33 2010 +0000
Remove REQUIRES_EH from the suggested set of make variables, since users can
build with exceptions even if LLVM is built without.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97260 91177308-0d34-0410-b5e6-96231b3b80d8
commit 837fd84eff2aef17d7e036241baccb383a91c44b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Feb 26 20:28:29 2010 +0000
Replace a temporary std::string with SmallString.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97259 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce4ae7a26789a5cc8332d575466b00bb43053568
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 20:18:32 2010 +0000
Fix typos in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97257 91177308-0d34-0410-b5e6-96231b3b80d8
commit 02defac4a7ea5025c71e0d2f371cf7fac1f3e269
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 20:16:58 2010 +0000
Delete empty directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97256 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38a74a3e8dc4bc2c343d01ee6645fadc611d899f
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 26 20:01:55 2010 +0000
Move dbg_value generation to target-independent FastISel,
as X86 is currently the only FastISel target. Per review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97255 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5d788748fccb8dca8ccb406b45adf04baac48d6
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 26 19:39:56 2010 +0000
Further constify MDNode* references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97252 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7376e1b36c13b3fd0d9cf1df033e1ca6c08b23be
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 26 19:38:59 2010 +0000
Add type printing for Metadata pseudo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97251 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d6a7ebc285174e734eae27611301c505c537764
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 26 19:09:47 2010 +0000
Move the EnableFullLoadPRE flag from a separate command-line option to an
argument of createGVNPass and set it automatically for -O3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97245 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7d0e14b692a1c220f012d76be88adb4a4b50dda9
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Fri Feb 26 18:38:44 2010 +0000
disable-mem2reg and disable-gvn options should not be used by the driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97236 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6b3a0ccf3a43747662aad9a5c9c9ceee74bdbe54
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 26 18:35:19 2010 +0000
Remove unused "NoPRE" parameter in GVN and createGVNPass().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97235 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3606dbe53179e7d9b94eb9015e92017715b5938
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 18:32:26 2010 +0000
pass in more section kinds, enough to get the .align 0x90
stuff to emit optimal nops in the right places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97233 91177308-0d34-0410-b5e6-96231b3b80d8
commit 338ffcf804d1a754fa21eae3555f1cad030437ca
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Fri Feb 26 18:32:18 2010 +0000
The cloner has nothing to do if any of the main or ISR entrypoints are not
present in the module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97232 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31eac0edbafd56f31d2536daeb47f37c2267c1f4
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 18:23:13 2010 +0000
fix PR6435 another bug from the MallocInst elimination work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97231 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f6ab3ff36eb4ef9521db8aef90801057b8086bb
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 26 18:07:00 2010 +0000
Set svn:keywords property on docs/Packaging.html.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97230 91177308-0d34-0410-b5e6-96231b3b80d8
commit 97878a0d8d271041b3a72e45832d08cda8e0ee93
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 26 18:03:43 2010 +0000
Add to the packaging advice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97229 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc6fcccc4b7966c23e7dcaacb9d27bf7e7810223
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Fri Feb 26 17:59:28 2010 +0000
Reapply things reverted back in 97220, with the fixed test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97228 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25fa95c3b6422e0792ade7a1afa60eb1c3c3098a
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 16:49:27 2010 +0000
movl is a cheaper way to materialize 0 without clobbering EFLAGS than movabsq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97227 91177308-0d34-0410-b5e6-96231b3b80d8
commit 095893143d070222b4d3627c7eb1464909f90312
Author: Richard Osborne <richard@xmos.com>
Date: Fri Feb 26 16:44:51 2010 +0000
Fix XCoreTargetLowering::isLegalAddressingMode() to handle VoidTy.
Previously LoopStrengthReduce would sometimes be unable to find
a legal formula, causing an assertion failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97226 91177308-0d34-0410-b5e6-96231b3b80d8
commit d291e6e8eb4590e0094855f1f732e2dcfe66ac9e
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Fri Feb 26 08:43:09 2010 +0000
Revert r97211 and r97213 to get the build green again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97220 91177308-0d34-0410-b5e6-96231b3b80d8
commit b90bb4346576b86c6b18c5c3cd6e0c666705650d
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 08:15:02 2010 +0000
add some helpful comments to the emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97219 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f9178d662149c01455db2c1a6a99458edea52ea
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 08:08:41 2010 +0000
switch from my nice hashtable based merging solution to a
gross little neighbor merging implementation. This one has
the benefit of not violating the ordering of patterns, so it
generates code that passes tests again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97218 91177308-0d34-0410-b5e6-96231b3b80d8
commit eb86fc33d99ce108b83067264e57d81163c3ec74
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 08:06:02 2010 +0000
fix same bug in CheckChainCompatibleMatcher::isEqualImpl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97217 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5897353a7c64ec534b347ffaee2ea0f4ea71ba5
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 08:05:36 2010 +0000
fix a nasty bug in CheckTypeMatcher::isEqualImpl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97216 91177308-0d34-0410-b5e6-96231b3b80d8
commit 66595ab540f5f03ba40935506f230f1dd5f3c614
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 07:36:37 2010 +0000
finish off the factoring optimization along the lines of the
current design. This generates a matcher that successfully
runs, but it turns out that the factoring we're doing violates
the ordering of patterns, so we end up matching (e.g.) movups
where we want movaps. This won't due, but I'll address this in
a follow on patch. It's nice to not be on by default yet! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97215 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b3ba4224ce5187e937a80812ed02ee15d6b0fa2
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 07:35:27 2010 +0000
add a new setNumChildren method for resizing scopes. Tweak getHash() so
that we never return a tombstone value, which (thankfully) triggers an
assert in densemap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97214 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba7d63b090d32aeb6c875972e5b0a3e5a67c6af9
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Fri Feb 26 07:31:15 2010 +0000
Currently in LLVM, names of libcalls are assigned during TargetLowering
object construction. There is no provision to change them when the
code for a function generated.
So we have to change these names while printing assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97213 91177308-0d34-0410-b5e6-96231b3b80d8
commit e14d01fc992a5e2ce1d78a1a6864eea9f3e797a8
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 07:28:20 2010 +0000
fix the matcher in the presence of multiple scopes: we need to save
and restore the entire matcher stack by value. This is because children
we're testing could do moveparent or other things besides just
scribbling on additions to the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97212 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5ca8903c0caadb86f80763653dfc838f34bae7e5
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Fri Feb 26 07:27:35 2010 +0000
Before converting an operand to mem, check if it is legal to do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97211 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad8ae688adffd304a7453e88e2c6139a755e81ad
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 26 02:40:57 2010 +0000
this file lacks a run line!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97208 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08094647d10c1a4be6b1947a4f6745128bd47560
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 02:15:17 2010 +0000
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97206 91177308-0d34-0410-b5e6-96231b3b80d8
commit a11c31a0f605235a8c39c3726e4180b525934a76
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 26 01:14:30 2010 +0000
Delete a bunch of redundant predicates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97201 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2978dc8ec509246ee9564846e3a3beaf69e7c320
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 26 01:12:52 2010 +0000
Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97200 91177308-0d34-0410-b5e6-96231b3b80d8
commit d3b25988a817adc6ea6a01a324f2f92053977c52
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 26 00:54:42 2010 +0000
Give packagers some advice about how to build LLVM so it's useful to
the most users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97198 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8ef6de4e422e1fe70cdac4d733dfad35d0db7955
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 26 00:43:54 2010 +0000
Add another (and hopefully the last) exception case, where once we recalculate
the alignment requirement, if it no longer makes the TType base offset overflow
into extra bytes, then we need to pad to those bytes ourselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97196 91177308-0d34-0410-b5e6-96231b3b80d8
commit 09191712250bd71363403a56ebab15bf78d59ddb
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 26 00:24:25 2010 +0000
And should use the correct variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97193 91177308-0d34-0410-b5e6-96231b3b80d8
commit c90d1edb08d7dad93a41e10ff593d556fa10f3bc
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 26 00:22:42 2010 +0000
Got assertion check backwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97192 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3246d273e5dd23259e066a7b214416ba79054aaf
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 25 23:52:44 2010 +0000
Catch a corner case where adding the padding to the "TType base offset" field
will eliminate the need for padding in the "Call site table length". E.g., if
we have this:
GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0x7f ## @TType base offset
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length
with padding of 1. We want to emit the padding like this:
GCC_except_table1:
Lexception1:
.byte 0xff ## @LPStart Encoding = omit
.byte 0x9b ## @TType Encoding = indirect pcrel sdata4
.byte 0xff ## @TType base offset
.space 1,0 ## Padding
.byte 0x03 ## Call site Encoding = udata4
.byte 0x89 ## Call site table length
and not with padding on the "Call site table length" entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97183 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1e6ecdb72a446a8bc4dab0b4fc794f6e281543ac
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 23:51:27 2010 +0000
Fix a few more typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97182 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3fe65922d2e711f2a7b3571c88a212e403f1f6be
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 23:41:41 2010 +0000
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97181 91177308-0d34-0410-b5e6-96231b3b80d8
commit 90146b2b24f3143af41bc061ed80293f93ce149d
Author: John Criswell <criswell@uiuc.edu>
Date: Thu Feb 25 22:57:19 2010 +0000
Added SAFECode (safecode) to the list of projects to automatically configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97179 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7e7b3ba394bf30ed84a7b458f28dee285ab14af6
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 22:33:52 2010 +0000
rewrite OptimizeGlobalAddressOfMalloc to fix PR6422, some bugs
introduced when mallocinst was eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97178 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62a987ca0bf453a147a245629ebd5b927431d49f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 25 22:09:09 2010 +0000
tests: Propogate the HOME environment variable through to tests. I'm ambivalent
about this, but it can be useful for users who use ccache, since the LLVMC tests
are fond of calling gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97171 91177308-0d34-0410-b5e6-96231b3b80d8
commit 69f0bf8bdddcad98a7208edbaee2f9348c70b35c
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 25 21:23:24 2010 +0000
Fix HTML.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97170 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f56ec28fec2419c8517ea9e4bd6486747776af7
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 25 21:19:47 2010 +0000
Make comment more meaningful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97169 91177308-0d34-0410-b5e6-96231b3b80d8
commit e163d0ab418f5bcf1ecdb20d6f5ce2761dfb3f4d
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 20:56:25 2010 +0000
Add svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97167 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17d4481a6d2a63898b4bac80b884a06f2777c572
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 20:30:49 2010 +0000
Fix ExpandVectorBuildThroughStack for the case where the
operands are themselves vectors. Based on a patch by
Micah Villmow for PR6338.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97165 91177308-0d34-0410-b5e6-96231b3b80d8
commit 88048deab97eca1d1215984920409e6145da3831
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 25 20:25:24 2010 +0000
Added the following 32-bit Thumb instructions for disassembly only: SMC, RFE,
and SRS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97164 91177308-0d34-0410-b5e6-96231b3b80d8
commit a07e055aede2b7016019d4ec24cb82785eee9041
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 25 19:05:29 2010 +0000
Added the 32-bit Thumb instructions (BXJ) for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97163 91177308-0d34-0410-b5e6-96231b3b80d8
commit d913047f01a0ec03c2c0f5e48f619aa31e72202a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 19:00:39 2010 +0000
change the scope node to include a list of children to be checked
instead of to have a chained series of scope nodes. This makes
the generated table smaller, improves the efficiency of the
interpreter, and make the factoring optimization much more
reasonable to implement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97160 91177308-0d34-0410-b5e6-96231b3b80d8
commit e52ee1611aec57416b5e43fe1efa56fc247f46b0
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 25 18:46:43 2010 +0000
Added the 32-bit Thumb instructions (MRS and MSR) for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97159 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd9ca732bd4bc3249e633d8155b02b68fd622275
Author: Kevin Enderby <enderby@apple.com>
Date: Thu Feb 25 18:46:04 2010 +0000
This is a patch to the assembler frontend to detect when aligning a text
section with TextAlignFillValue and calls EmitCodeAlignment() instead of
calling EmitValueToAlignment(). This allows x86 assembly code to be aligned
with optimal nops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97158 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b13ee53db4ca5270e3407dd2b7e60393c3a05d6
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 18:18:49 2010 +0000
stkrc is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97156 91177308-0d34-0410-b5e6-96231b3b80d8
commit caa449962270218e9d7ead67167cd5ac3800623a
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 18:17:58 2010 +0000
Add the union keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97155 91177308-0d34-0410-b5e6-96231b3b80d8
commit 538317d5ae05ae872c16a8a982774ca11b69efdf
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 18:16:03 2010 +0000
Merge the advanced getelementptr FAQ into the regular
getelementptr FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97154 91177308-0d34-0410-b5e6-96231b3b80d8
commit 70e6e4acd826c5f6771dab04adff70109de18e8b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 25 18:07:10 2010 +0000
Fix TextAlignFillValue in a few places
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97151 91177308-0d34-0410-b5e6-96231b3b80d8
commit 85bb95785699c5322e9915933356e285fd1eed8d
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 25 18:07:07 2010 +0000
Add simple script for finding most-recent-rev-before-N in a git-svn repo; useful
when bisecting multiple repos in sync.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97150 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ec09ae83be027258b7202904cd3a19270ac63f5
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 25 17:51:03 2010 +0000
Added the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,
WFI, SEV, SETEND.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97149 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9eafaf32ba39bd82eab083b70abc4acdf54d72e5
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 17:39:34 2010 +0000
remove a dead PatLeaf, I previously changed all uses to use -1 instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97148 91177308-0d34-0410-b5e6-96231b3b80d8
commit a259122f615ddf153605bddce888fe40b0aa20a0
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 16:51:31 2010 +0000
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97144 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9090481cfdeb37674acd5754708e2050da51af64
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 16:50:07 2010 +0000
Clarify the description of pointer types, and move the
address space content to its own paragraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97143 91177308-0d34-0410-b5e6-96231b3b80d8
commit b7c07581c416bd68ca799f7e22fb2e9d50c67bcd
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 16:45:19 2010 +0000
Teach the constant folder about union types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97142 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d961446491ef701698585a70e949c30e4b904a8
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 16:05:33 2010 +0000
Remove code which assumes it knows how vectors are stored in memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97141 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c3a8df44d6de7ffc8338605f27a04e086436e77
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 15:55:28 2010 +0000
Add more information to the getSizeOf comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97140 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf7d5be98d40e15a3880f2a7c5b910cdb0369f0c
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 15:53:42 2010 +0000
Remove this paragraph. Vectors may not always have the same layout as
arrays now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97139 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58152e31a6dc0030f74bd5a22260a2a833aa7d2c
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 15:20:39 2010 +0000
Revert r97064. Duncan pointed out that bitcasts are defined in
terms of store and load, which means bitcasting between scalar
integer and vector has endian-specific results, which undermines
this whole approach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97137 91177308-0d34-0410-b5e6-96231b3b80d8
commit 75800fdc170d6a113fd695c1d475498081b55bb3
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Thu Feb 25 08:30:17 2010 +0000
Make the side-numbering of instructions used by metadata (which is needed to
keep track of instructions that return void) per-function. This fixes PR5278.
This breaks backwards compatibility with the metadata format. That's okay
because we haven't released the metadata bitcode yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97132 91177308-0d34-0410-b5e6-96231b3b80d8
commit a891ffdd67f66052e371b7510a48124c3ee01b61
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 07:45:24 2010 +0000
Implement the first half of redundancy factoring: efficiently
splitting all the patterns under scope nodes into equality sets
based on their first node. The second step is to rewrite the
graph info a form that exposes the sharing. Before I do this,
I want to redesign the Scope node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97130 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b66d0ee1daab85438c6e3d4fd2e6b77c6edaa00
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 06:57:05 2010 +0000
Make LoopSimplify change conditional branches in loop exiting blocks
which branch on undef to branch on a boolean constant for the edge
exiting the loop. This helps ScalarEvolution compute trip counts for
loops.
Teach ScalarEvolution to recognize single-value PHIs, when safe, and
ForgetSymbolicName to forget such single-value PHI nodes as apprpriate
in ForgetSymbolicName.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97126 91177308-0d34-0410-b5e6-96231b3b80d8
commit e64a5697b891feeffca085560f9a8f4013221f74
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 06:53:39 2010 +0000
factor the print method better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97125 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d3b221aeee85d972d6cd622e7e6d8acbfae215c
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Thu Feb 25 06:53:04 2010 +0000
Dump the presence of attached metadata even if we don't know what it is. This
format is not parsable, even if the module is legal. To get parsable output,
dump the module instead of the function or smaller, since metadata kind are
attached to the module (not the context).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97124 91177308-0d34-0410-b5e6-96231b3b80d8
commit d540a808f3b39120dccd7ad3332d5c3405c4c254
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 06:49:58 2010 +0000
add methods to do equality checks and get hashes of Matchers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97123 91177308-0d34-0410-b5e6-96231b3b80d8
commit 449a50228c7843c1b674230ad183fce0032b49ce
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Thu Feb 25 06:39:10 2010 +0000
Modernize comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97121 91177308-0d34-0410-b5e6-96231b3b80d8
commit be67e72a30b96b70e5269ba24d915922d06b6f28
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Thu Feb 25 06:38:51 2010 +0000
Correct whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97120 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9aca70bbf976cebbe37167977c142f5abf0f2c1a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 25 06:34:33 2010 +0000
Try r96559 for the third time. This time the shared library is only built if
--enable-shared is passed to configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97119 91177308-0d34-0410-b5e6-96231b3b80d8
commit f82c55ce698883ac93d9c51e0034d19d51f9b874
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Thu Feb 25 03:54:49 2010 +0000
Each field of auxiliary debug entry is only 1 byte long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97108 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ce5dad9c76773bf40644f2e6f9e853760bf54a1
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 25 03:28:51 2010 +0000
Added tNOP for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97105 91177308-0d34-0410-b5e6-96231b3b80d8
commit df7d6ebc126f0a70edf9b3ecbc4dc1a4b1461fb8
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 25 03:04:36 2010 +0000
Truncate from i64 to i32 is "free" on x86-32, because it involves
just discarding one of the registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97100 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01c09177f73fd5bca8e9c6775a0610c1d07aa99a
Author: Scott Michel <scottm@aero.org>
Date: Thu Feb 25 02:32:54 2010 +0000
Revert this patch for the time being. Needs more testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97099 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77df7b669954158dfc4a27af03f42ec9965e1aba
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 25 02:21:11 2010 +0000
Added tSVC and tTRAP for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97098 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0fb0aa00f6f1d324362f565fceb6196662f86364
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 02:09:00 2010 +0000
formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97097 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c5413491d90d7e893e07d220006f47ee4a203c1
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 02:04:40 2010 +0000
rename fooMatcherNode to fooMatcher.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97096 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ce8368df4a263d98b072e232e646c63493316ce
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 01:57:41 2010 +0000
add some noop code to push it out of my tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97094 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0dc46efa7afb24de5fd71d8e4d76be2887c8ae05
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 01:56:48 2010 +0000
rename PushMatcherNode -> ScopeMatcherNode to more accurately
reflect what it does. Switch the sense of the Next and the Check
arms to be more logical. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97093 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4de064d29fe4db363865a800b2a9881038757660
Author: Scott Michel <scottm@aero.org>
Date: Thu Feb 25 01:53:17 2010 +0000
Large stack frame patch for the CellSPU: handle stack frames that exceed 8176
(511*16) bytes register displacement (D-form).
NOTE: This is a potential headache, given the SPU's local core limitations,
allowing the software developer to commit stack overrun suicide unknowingly.
Also, large SPU stack frames will cause code size explosion. But, one presumes
that the software developer knows what they're doing...
Contributed by Kalle.Raiskila@nokia.com, edited slightly before commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97091 91177308-0d34-0410-b5e6-96231b3b80d8
commit fceff16fd4c03bd5c471a4fcae8102e1f10911ea
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 25 01:21:38 2010 +0000
Filter the future all-of-llvm shared library out of the llvm-config
results. I'm checking this in before the shared library so that I can
tell if it breaks anything on its own.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97089 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2aab0b1da47e56b674837c1bc450aaf9c7b0da5f
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 25 00:24:52 2010 +0000
MC'ize padding when padding the ULEB128 value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97087 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a75f2ebd78e94d67f28e842b9a18958a099c2f3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 25 00:03:03 2010 +0000
add a fixme for an experiment that defeated me for the time being.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97081 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e23979c9c77e08b7c6979f747b75ca43f999b75
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 24 23:34:35 2010 +0000
LLVM puts padding bytes in the __gcc_except_tab section after the
GCC_except_table label but before the Lexception, which the FDE references.
This causes problems as the FDE does not point to the start of an LSDA chunk.
Use an unnormalized uleb128 for the call-site table length that includes the
padding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97078 91177308-0d34-0410-b5e6-96231b3b80d8
commit 163767793646774da228d4ec2331458c8c478a14
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 22:52:52 2010 +0000
fix a bug I introduced by checking the wrong node's VT in OPC_CheckChildXType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97074 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c105788b821f3a7e59f3c6e0c8c005eb33ff024
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 22:44:06 2010 +0000
clean up various VT manipulations, patch by Micah Villmow! PR6337
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97072 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6bd6f736c442270586dd2366fdf59b6386f07c6c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Feb 24 22:43:17 2010 +0000
Create a stack frame on ARM when
- Function uses all scratch registers AND
- Function does not use any callee saved registers AND
- Stack size is too big to address with immediate offsets.
In this case a register must be scavenged to calculate the address of a stack
object, and the scavenger needs a spare register or emergency spill slot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97071 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c4a1b7306d2ab167ac5f38204d9a4a7abf10cd9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 22:33:41 2010 +0000
fix PR5954, patch by Roman Divacky.
I don't have a great way to test this myself (it's linux/bsd only),
but Roman says it works. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97069 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8662ba4d955fcfa2e0258cea12bab3ae107474aa
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 24 22:15:53 2010 +0000
Check for comparisons of +/- zero when optimizing less-than-or-equal and
greater-than-or-equal SELECT_CCs to NEON vmin/vmax instructions. This is
only allowed when UnsafeFPMath is set or when at least one of the operands
is known to be nonzero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97065 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95b3b3f5b7a3be22b1c5ff8b5481bcc6ac87a6f2
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 22:05:23 2010 +0000
Make getTypeSizeInBits work correctly for array types; it should return
the number of value bits, not the number of bits of allocation for in-memory
storage.
Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and
vectors.
Fix several places in CodeGen which compute offsets into in-memory vectors
to use TargetData information.
This fixes PR1784.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97064 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32ade6676326c1b0e56da7452413af50e555f188
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 21:34:04 2010 +0000
convert cycle checker to smallptrset, add comments and make it
more elegant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97059 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0cb694ca5ca12d814dacddb8a95b51140bedfd3
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 21:25:08 2010 +0000
revert david's patch which does not even build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97057 91177308-0d34-0410-b5e6-96231b3b80d8
commit f6103e0c0bc07407f1afc80c9aac37436eb87a48
Author: David Greene <greened@obbligato.org>
Date: Wed Feb 24 20:59:49 2010 +0000
Use a SmallPtrSet as suggested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97056 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3c09bd4af8cd78f4d5b007b9f2ca7fe1a0151e2
Author: Wesley Peck <peckw@wesleypeck.com>
Date: Wed Feb 24 20:16:27 2010 +0000
Adding function "lookupGCCName" to MBlazeIntrinsicInfo
Adding the function "lookupGCCName" to the MBlazeIntrinsicInfo
class to support the Clang MicroBlaze target.
Additionally, minor fixes which remove some unused PIC code
(PIC is not supported yet in the MicroBlaze backend) and
removed some unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97054 91177308-0d34-0410-b5e6-96231b3b80d8
commit 732223ec718d47a63fb4fee2a128163270dc848f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 20:15:25 2010 +0000
contract movechild+checktype into a new checkchild node, shrinking the
x86 table by 1200 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97053 91177308-0d34-0410-b5e6-96231b3b80d8
commit 215a251a1d6fd3485e69ddf9299f8ccc95db184e
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 24 20:06:07 2010 +0000
Added Vector Swap (VSWPd and VSWPq) instructions for disassembly only.
A8.6.405
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97052 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7c4596fa24da15c2143930ee2b45616b47b67d9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 19:52:48 2010 +0000
split the movechild/record/moveparent -> recordchild optzn into a
movechild/record -> recordchild/movechild and
movechild/moveparent -> noop xforms. This slightly shrinks the tables
(x86 to 117454) and enables adding future improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97051 91177308-0d34-0410-b5e6-96231b3b80d8
commit 093f2ce980c8773a98894465dfb835f65754919c
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 19:31:47 2010 +0000
ConstantFoldInstOperands can theoretically return null if it
didn't fold anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97049 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6971a55cb1f913f83c3f86dff2a3526afacfb06b
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 19:31:06 2010 +0000
Simplify this code; these casts aren't necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97048 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1518ef49f8c0c50ae8b1336bd83c03dd07718887
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 19:17:12 2010 +0000
emit a histogram of the opcodes in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97047 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b573fba71e1e58fb5022f68690f78c39fa66048
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Feb 24 18:57:08 2010 +0000
Stay away from str <undef> in ARMLoadStoreOpt. This pass does not understand
<undef> operands, and can cause scavenger failures when it translates
<kill,undef> to <kill>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97046 91177308-0d34-0410-b5e6-96231b3b80d8
commit 37e8c75dd31f12b5d2911cf20198e2243ed5b40e
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 24 18:00:40 2010 +0000
Fixed typo of opcodestr, should be "vst1", not "vld1".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97044 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9be117f489051eae2a5571f7d0c0163412afeb1b
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 17:31:30 2010 +0000
Convert a few more backedge-taken count functions to use BackedgeTakenInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97042 91177308-0d34-0410-b5e6-96231b3b80d8
commit 40daa3bef360da5966e748a21bf1c36f667c16f9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 24 17:05:47 2010 +0000
Speculatively revert r97011, "Re-apply 96540 and 96556 with fixes.", again in
the hopes of fixing PPC bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97040 91177308-0d34-0410-b5e6-96231b3b80d8
commit 004492d7dd5ede35df13cedbee66a99cc2bd21f1
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 24 08:48:04 2010 +0000
Reapply r97010, the speculative revert failed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97036 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9c14b6c37b05876f45b4b80e2d2d72191904e98
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 07:41:11 2010 +0000
lets not break the old isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97034 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e609477f98a1cc418ad32fa697a8a0736a6dcdb
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 07:35:09 2010 +0000
Since the new instruction selector now works, I don't need to keep
the old one around for comparative purposes: have the
ENABLE_NEW_ISEL #define (which is not enabled on mainline) stop
emitting the old isel at all, yay for build time win.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97033 91177308-0d34-0410-b5e6-96231b3b80d8
commit e434eff35addbaa33db1edebc34b1901f035fe85
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 07:31:45 2010 +0000
implement a simple proof-of-concept optimization for
the new isel: fold movechild+record+moveparent into a
single recordchild N node. This shrinks the X86 table
from 125443 to 117502 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97031 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6eb29ddf46c6420cf1b6ea78c20abf77996dcb1
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 07:06:50 2010 +0000
The new isel passes all tests, time to start making it go fast.
Also add an easy macro at the top of DAGISelEmitter.cpp to enable
it. Lets see if I can avoid accidentally turning it on :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97029 91177308-0d34-0410-b5e6-96231b3b80d8
commit f2702d8f9ead14b173b6058b6e193141b4430f84
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 07:06:20 2010 +0000
Add svn:ignore properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97028 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a5a832146529ad09783d54cb06f854d94898b79
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 24 06:55:22 2010 +0000
Speculatively revert r97010, "Add an argument to PHITranslateValue to specify
the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97027 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d8b2db59991c2b56e14f72fdc55dc32cb3491e7
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 06:52:40 2010 +0000
When forming SSE min and max nodes for UGE and ULE comparisons, it's
necessary to swap the operands to handle NaN and negative zero properly.
Also, reintroduce logic for checking for NaN conditions when forming
SSE min and max instructions, fixed to take into consideration NaNs and
negative zeros. This allows forming min and max instructions in more
cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97025 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1120863f3abbda2c8ce92590e0533fc1cd57e40
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 24 06:46:09 2010 +0000
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97024 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c27d06de74b1dcdbdb64e8976a6d3f23ee7f81e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 06:11:37 2010 +0000
Change the scheduler from adding nodes in allnodes order
to adding them in a determinstic order (bottom up from
the root) based on the structure of the graph itself.
This updates tests for some random changes, interesting
bits: CodeGen/Blackfin/promote-logic.ll no longer crashes.
I have no idea why, but that's good right?
CodeGen/X86/2009-07-16-LoadFoldingBug.ll also fails, but
now compiles to have one fewer constant pool entry, making
the expected load that was being folded disappear. Since it
is an unreduced mass of gnast, I just removed it.
This fixes PR6370
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97023 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa1744295338c27e0077e68096c9168335a9ec8b
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Wed Feb 24 06:09:03 2010 +0000
Remove an unused variable. Was this intentional?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97022 91177308-0d34-0410-b5e6-96231b3b80d8
commit c51418455570858863a38e15db639611e8031e0e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 05:33:42 2010 +0000
The new isel was not properly handling patterns that covered
internal nodes with flag results. Record these with a new
OPC_MarkFlagResults opcode and use this to update the interior
nodes' flag results properly. This fixes CodeGen/X86/i256-add.ll
with the new isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97021 91177308-0d34-0410-b5e6-96231b3b80d8
commit 792ea8226fe1a1eaf37e292b3934406b66cb0fd2
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 24 04:24:44 2010 +0000
add node #'s to debug dumps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97019 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d80284c131ebc9e3e3aca521ebc0fa8c7e95486
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 24 02:57:20 2010 +0000
Added for disassembly VST1 (multiple single elements) which stores elements to
memory from three or four registers and VST2 (multiple two-element structures)
which stores to memory from two double-spaced registers.
A8.6.391 & A8.6.393
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97018 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3c4c121c47630185e008362c2e92b86db6f74f2
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 24 02:56:25 2010 +0000
Changed the table generator so that the X86
disassembler never recognizes InitReg instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97017 91177308-0d34-0410-b5e6-96231b3b80d8
commit e049cd2d55a9c7bfa49cfe89048441e8b44b43a9
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Feb 24 02:15:43 2010 +0000
handle very large call frames when require SPAdj != 0 for Thumb1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97013 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc5ab7839a5600708cad8e640efe99b3f57ffee4
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Feb 24 01:43:03 2010 +0000
LowerCall() should always do getCopyFromReg() to reference the stack pointer.
Machine instruction selection is much happier when operands are in virtual
registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97012 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7273e875e4bac0374877c91991cd59338df3f788
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 24 01:42:31 2010 +0000
Re-apply 96540 and 96556 with fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97011 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32848c7e9115fbbc1799817fb3f5ca6c65242860
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 24 01:39:00 2010 +0000
Add an argument to PHITranslateValue to specify the DominatorTree. If this
argument is non-null, pass it along to PHITranslateSubExpr so that it can
prefer using existing values that dominate the PredBB, instead of just
blindly picking the first equivalent value that it finds on a uselist.
Also when the DominatorTree is specified, have PHITranslateValue filter
out any result that does not dominate the PredBB. This is basically just
refactoring the check that used to be in GetAvailablePHITranslatedSubExpr
and also in GVN.
Despite my initial expectations, this change does not affect the results
of GVN for any testcases that I could find, but it should help compile time.
Before this change, if PHITranslateSubExpr picked a value that does not
dominate, PHITranslateWithInsertion would then insert a new value, which GVN
would later determine to be redundant and would replace. By picking a good
value to begin with, we save GVN the extra work of inserting and then
replacing a new value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97010 91177308-0d34-0410-b5e6-96231b3b80d8
commit 93d3b5ed10b910d5c04b1ba299db4026c9d3a83a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Feb 24 00:39:35 2010 +0000
DIV8r must define %AX since X86DAGToDAGISel::Select() sometimes uses it
instead of %AL/%AH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97006 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd9e22303ebc96f9950527c4f4f7712c4662dc07
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 23:47:34 2010 +0000
fix X86/uint_to_fp-2.ll, only fold loads when they have a
single use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97003 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0a9de9dc0b29305a302194a707323f41830f8d82
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 23:01:35 2010 +0000
make selectnodeto set the nodeid to -1. This makes it more akin to
creating a new node then replacing uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97000 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9032d968e8fead82607c9179c5a4b270c1d59af7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 23 22:44:02 2010 +0000
Remember to handle sub-registers when moving imp-defs to a rematted instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96995 91177308-0d34-0410-b5e6-96231b3b80d8
commit 44894027646a0d9bccec120ce3c13ba93a9bb26c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 23 22:43:58 2010 +0000
Keep track of phi join registers explicitly in LiveVariables.
Previously, LiveIntervalAnalysis would infer phi joins by looking for multiply
defined registers. That doesn't work if the phi join is implicitly defined in
all but one of the predecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96994 91177308-0d34-0410-b5e6-96231b3b80d8
commit 087baeb205f8475bc819b53118882c7021ae9b61
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 23 21:51:54 2010 +0000
Fix rev 96389 by restricting the xform to mask that's either signbit or max signed value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96990 91177308-0d34-0410-b5e6-96231b3b80d8
commit 793779392c0ce7ec21cfa7b4880aeeced3c4033f
Author: Kevin Enderby <enderby@apple.com>
Date: Tue Feb 23 21:41:24 2010 +0000
This is the second patch to allow x86 code to be aligned with optimal nops.
With the compiler changed to use EmitCodeAlignment() it does change the
functionality. But X86 assembly code assembled with llvm-mc does not change
its output. For that we will eventually change the assembler frontend to
detect a '.align x, 0x90' when used in a section that 'hasInstructions' and use
EmitCodeAlignment, but will wait until we have better target hooks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96988 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0180cd2113754c7d3e4f3de1f125f1df052f9a3f
Author: Richard Osborne <richard@xmos.com>
Date: Tue Feb 23 21:08:11 2010 +0000
Don't mark call instruction as a barrier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96983 91177308-0d34-0410-b5e6-96231b3b80d8
commit b4cfc1b15fef78486d2520a8d45d9e45d5c7c28e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 23 20:53:37 2010 +0000
Roll back r96959 again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96981 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f37cc74b5c23318b1e98b5740ea5ef4ea6f691e
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 23 20:51:23 2010 +0000
Added for disassembly VLD1 (multiple single elements) which loads memory into
three or four registers and VLD2 (multiple two-element structures) which loads
memory into two double-spaced registers.
A8.6.307 & A8.6.310
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96980 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54dc357c8714bdea1a1b038e940255e791fbfe61
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date: Tue Feb 23 19:42:44 2010 +0000
Use the module's context instead of the global context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96977 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b11c0bbb8d0a5506f5ba1e6444499f16efd0222
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 23 19:37:40 2010 +0000
new test case for r96974.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96975 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31e2f4feadd988291349db6d449c067863d0306d
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 19:33:11 2010 +0000
no need to override IsLegalToFold, the base implementation
disables load folding at -O0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96973 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78da63aabbc4beae079ca8c5e8036a5357473b76
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 19:32:27 2010 +0000
fix a bug in findNonImmUse (used by IsLegalToFold) where nodes with
no id's would cause early exit allowing IsLegalToFold to return true
instead of false, producing a cyclic dag.
This was striking the new isel because it isn't using SelectNodeTo yet,
which theoretically is just an optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96972 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad9c441bd53cb6ba3813009d7bb9798082c831d6
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 19:31:18 2010 +0000
Print node ID's in dumps and views if set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96971 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6b671c1c4b1d4924a7d2b52ab24bbdc8979d0202
Author: Wesley Peck <peckw@wesleypeck.com>
Date: Tue Feb 23 19:15:24 2010 +0000
Adding the MicroBlaze backend.
The MicroBlaze is a highly configurable 32-bit soft-microprocessor for
use on Xilinx FPGAs. For more information see:
http://www.xilinx.com/tools/microblaze.htm
http://en.wikipedia.org/wiki/MicroBlaze
The current LLVM MicroBlaze backend generates assembly which can be
compiled using the an appropriate binutils assembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96969 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5386c11ac88551b1b62176415b05a5b8321f0d82
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 18:46:22 2010 +0000
use OutStreamer.EmitCodeAlignment for alignment in the text
segment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96967 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76392cd1fd1f451d9195435a36031638f55b3720
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 18:44:31 2010 +0000
genericize MCAsmStreamer::EmitCodeAlignment to support other targets
so that it doesn't break them when the code generator starts using it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96966 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47bdfce72cdef2d79c0f221c484f47cf6a569980
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 23 18:40:48 2010 +0000
Oops. Pass -lgcc _only_ on ARM, not on everything except ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96965 91177308-0d34-0410-b5e6-96231b3b80d8
commit c1709f4e5b0d69f90713688a760b72d6727c7ca9
Author: Richard Osborne <richard@xmos.com>
Date: Tue Feb 23 18:29:49 2010 +0000
ECALLF, ECALLT shouldn't be marked as barriers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96964 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3aadf754e2af29d3435a500ebc75abdd50b44987
Author: Kevin Enderby <enderby@apple.com>
Date: Tue Feb 23 18:26:34 2010 +0000
This is the first patch to put the needed bits in place to eventually allow code
to be aligned with optimal nops. This patch does not change any functionality
and when the compiler is changed to use EmitCodeAlignment() it should also not
change the resulting output. Once the compiler change is made and everything
looks good the next patch with the table of optimal X86 nops will be added to
WriteNopData() changing the output. There are many FIXMEs in this patch which
will be removed when we have better target hooks (coming soon I hear).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96963 91177308-0d34-0410-b5e6-96231b3b80d8
commit 60958e8ff34ede7f9a4f12bbac5800f0270cfeb0
Author: Richard Osborne <richard@xmos.com>
Date: Tue Feb 23 18:13:38 2010 +0000
Mark unconditional branches as barriers. Found using -verify-machineinstrs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96960 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c3228ed1ed85a8fa165804453f76013a235017e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 23 18:10:07 2010 +0000
Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM. This links 3 of
the examples shared to make sure the shared library keeps working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96959 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7e0655956273b963c22e849b19428161d29e5db
Author: David Greene <greened@obbligato.org>
Date: Tue Feb 23 17:37:50 2010 +0000
Speed up cycle checking significantly by caching results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96956 91177308-0d34-0410-b5e6-96231b3b80d8
commit 785fb2889749908232c65e7a5f7643bd03cb4516
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 23 17:17:57 2010 +0000
Don't do (X != Y) ? X : Y -> X for floating-point values; it doesn't
handle NaN properly.
Do (X une Y) ? X : Y -> X if one of X and Y is not zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96955 91177308-0d34-0410-b5e6-96231b3b80d8
commit da5a01b1e4a41f1a32061f918315d82743e00c0d
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 23 17:16:27 2010 +0000
Spelling. s/suppor /support /
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96954 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68861c2bab3bc88114f605b12c3f622e13ac8caf
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 23 16:35:41 2010 +0000
Remove the code which constant-folded ptrtoint(inttoptr(x)+c) to
getelementptr. Despite only doing so in the case where x is a known
array object and c can be converted to an index within range, this
could still be invalid if c is actually the address of an object
allocated outside of LLVM. Also, SCEVExpander, the original motivation
for this code, has since been improved to avoid inttoptr+ptroint in
more cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96950 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf46f94f8d494e2acd2dd922595b3fc4ed13ebc7
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Tue Feb 23 16:27:59 2010 +0000
Modified examples Makefile to only build the ExceptionDemo example for
x86 and x86_64 on UNIX systems. Only OS X 10.6.2 (x86_64) and 32bit CentOS 5.2
with gcc 4.1.2 were tested. ARM UNIX build triggered failure motivating this
modification, as it seems that the ARM ABI does not support _Unwind_GetIP(...),
_Unwind_SetGR(...), and _Unwind_SetIP(...). From doing a quick browse of:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038a/IHI0038A_ehabi.pdf,
it seems as if all other exception related apis are supported. Looks like
the port can be done to ARM. Thanks to Xerxes Rånby <xerxes@zafena.se> for
pointing out this error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96949 91177308-0d34-0410-b5e6-96231b3b80d8
commit 799c443aefc44b7f8a7b37edc2dfd1506d7db102
Author: Wesley Peck <peckw@wesleypeck.com>
Date: Tue Feb 23 15:11:17 2010 +0000
Testing subversion commit access
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96948 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb8c29c897e2cd875db6138873a428edfd24ffc8
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 14:29:42 2010 +0000
Fix -mtune forwarding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96944 91177308-0d34-0410-b5e6-96231b3b80d8
commit e52062e22ccf8a0217138f340edf325ae777b0ae
Author: Richard Osborne <richard@xmos.com>
Date: Tue Feb 23 14:17:20 2010 +0000
Remove unused lowering function LowerJumpTable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96943 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5ea4d623aec666e9c370e319d3cfc0617c68108d
Author: Richard Osborne <richard@xmos.com>
Date: Tue Feb 23 13:25:07 2010 +0000
Lower BR_JT on the XCore to a jump into a series of jump instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96942 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59bd608420d50dd3f5f63badcc905b04de995981
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 11:34:12 2010 +0000
tests: Don't make a missing llvm-gcc dir a fatal error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96938 91177308-0d34-0410-b5e6-96231b3b80d8
commit 706aebd40ae61e7859b0d88e37531b52115ace9a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 10:28:06 2010 +0000
Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96936 91177308-0d34-0410-b5e6-96231b3b80d8
commit 79f73683baece556d2b95f80e15a0f52ee6cad65
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 10:00:53 2010 +0000
Add LLVM{CC,CXX} make variables, which specify the configured path the LLVM
capable compilers (which could be llvm-gcc or clang).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96935 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3a42e30c5cbb5c69a8a61c4ea995a644d730da1
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 10:00:49 2010 +0000
Initial configure support for using Clang as the LLVM capable compiler.
Comes in two parts:
1. Use --with-clang=path/to/clang/compiler to select an installed clang, or
--with-built-clang to have the makefiles use the clang which will be built
as the LLVM capable compiler. If neither is given, --with-built-clang will
be used if the Clang sources are checked out into the standard location
(tools/clang).
2. Use --with-llvmcc={llvm-gcc,clang,none} to specify which LLVM capable
compiler to use. If not given, then llvm-gcc will be used if available,
otherwise Clang.
Makefile support still to come.
Eric, Doug, Chris, seem reasonable?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96934 91177308-0d34-0410-b5e6-96231b3b80d8
commit 316860cd7a773e14524bbc03ae55d1e455e6d6d7
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:59:30 2010 +0000
Update mcc16 and the ancient Clang plugin for the 'cmd_line' -> 'command' change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96933 91177308-0d34-0410-b5e6-96231b3b80d8
commit ddd2e2efb12eb7ceaa07fbf4a2b1b68597c444e9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 09:28:50 2010 +0000
Eliminate CFERuntimeLibDir make variable, this shouldn't be needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96932 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6dc97ddee4b14b8f7ed2119f845e7a924afe1033
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 09:28:48 2010 +0000
Fix a thinko in the lit.cfg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96931 91177308-0d34-0410-b5e6-96231b3b80d8
commit a1e7b55f72f575f02740968a53c572084a1216b4
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:05:21 2010 +0000
Input files with empty suffixes must be passed to linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96927 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5686d1b590eb41268164f9df9a50dcf7c5143a61
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:05:15 2010 +0000
Support -Xlinker et al.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96926 91177308-0d34-0410-b5e6-96231b3b80d8
commit 92bca8707d8318a1e809a3fcc3e1129440129376
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:05:10 2010 +0000
Temporary disable response files.
They are giving us problems on Mac.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96925 91177308-0d34-0410-b5e6-96231b3b80d8
commit ae666386a261a9f30b9478907d86420ba4c7c928
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:05:06 2010 +0000
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96924 91177308-0d34-0410-b5e6-96231b3b80d8
commit 41a3555705547d6c79ae6a20e4ce08fb96d939fa
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:05:01 2010 +0000
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96923 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e6ccb4ea1896699389d126993af1b3182fc8f22
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:57 2010 +0000
Implement order-preserving option forwarding.
Needed to correctly handle things like 'llvmc -framework Foo foo.o -framework
Bar bar.o' - before this commit all '-framework' options would've been grouped
together in the beginning.
Due to our dependence on CommandLine this turned out to be a giant hack; we will
migrate away from CommandLine eventually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96922 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5018426d8b6e09c6493bed4fda999c37089bb59d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:51 2010 +0000
Update the test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96921 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9dbac04a6e48423cc9dc4b537b802b192cbc00e9
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:44 2010 +0000
Correct option forwarding: initial implementation.
Does not work, but the infrastructure changes are in place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96920 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2aa9c93d46a5f034e941f1bb844fbb9c3013b674
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:33 2010 +0000
Precompiled headers: initial support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96919 91177308-0d34-0410-b5e6-96231b3b80d8
commit f86bacffdf5b8c90f6615fdc756eb982deeebe7e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:28 2010 +0000
New experimental/undocumented feature: 'works_on_empty'.
For now, just enough support to make -filelist work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96918 91177308-0d34-0410-b5e6-96231b3b80d8
commit 09cf0ced1c1913e5910e1b105bbb6a66a2f6fd8c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:18 2010 +0000
Support '-install_name'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96917 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2f69ce7242d155ad08ab584acdf746689cfa359c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Feb 23 09:04:13 2010 +0000
Add a way to enable '-opt=foo' forwarding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96916 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d4f4e142948e0e55707eca80e84774d825c0654
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:41 2010 +0000
Inline and eliminate LLVMG{CC,XX}WITHPATH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96913 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7ddfaa3fc91428f11e2e6e51032e651731c801c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:38 2010 +0000
Remove ancient Xcode project, replaced by CMake project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96912 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8a57eda57c5816a6a7f98dd81fabf0e7c4a2340
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:36 2010 +0000
Remove dead LUPGRADE make variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96911 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5781b528c7cc6585c722d466551a6a6b52469844
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:34 2010 +0000
Kill off unused LLVMGCCLIBEXEC make variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96910 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1909b1c644cf4886f4c879e6d9e211b30cab063d
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:31 2010 +0000
Kill off LLVMGCCARCH and LLVMGCC_VERSION make variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96909 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f18e4e91f7b0e8a52fcf79da85302c2a5d7f112
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:28 2010 +0000
Eliminate llvmgcc_version testing variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96908 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e22a9246338579c9f28347574e5749faae70891
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:22 2010 +0000
Kill off LLVMGCC_MAJVERS make variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96907 91177308-0d34-0410-b5e6-96231b3b80d8
commit feea95357e133db966876fe164104d2cd5e3d563
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 23 07:56:18 2010 +0000
Kill unused llvmgccmajvers testing variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96906 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa0ba4af64684a80953b059bd6ab9e6d909cabda
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 07:50:58 2010 +0000
add some #if 0'd out code for checking that named values in
input/output patterns have the same type. It turns out that
this triggers all the time because we don't infer types
between these boundaries. Until we do, don't turn this on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96905 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0207875c1f7f2cb645fd2db40ba94af3e6966738
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 07:22:28 2010 +0000
Reject patterns that use a name multiple times in the src or result
of a pattern and where the uses have different types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96904 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f675fd4860f21cb112a361131a62dd49ec3f91f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 07:21:15 2010 +0000
disable two patterns that are using non-sensical result pattern types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96903 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5258df2152326cd89a84b5f8e4d6d64c0bc0bf5
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 07:16:12 2010 +0000
remove a confused pattern that is trying to match an address
then use it as an MMX register (!?).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96901 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6301df9646f1169d1bab1beb26abd7902030fed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 06:55:24 2010 +0000
reject patterns that have dead named arguments in the input pattern
this is tidier and can find bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96900 91177308-0d34-0410-b5e6-96231b3b80d8
commit b727fd1bd5f835e8c618347c4aaf2b1c8fe1718a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 06:54:29 2010 +0000
remove a bunch of dead named arguments in input patterns,
though some look dubious afaict, these are all ok.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96899 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51f3fd420b6d225f925f0b6f9e60278a6825841f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 06:35:45 2010 +0000
reject patterns that mention a name in the destination pattern
but not in the input. Previously, this would trigger an abort
late in the isel logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96898 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f9408792ecd755b6c6493a0f99d19509ba34060
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 06:16:51 2010 +0000
merge some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96896 91177308-0d34-0410-b5e6-96231b3b80d8
commit dab91266db960ba6e05573c3bf56586d2f290950
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 06:09:57 2010 +0000
fix a type mismatch in this pattern, where we were using an i64 imm in a
place where an i32 imm was required, the old isel just got lucky.
This fixes CodeGen/X86/x86-64-and-mask.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96894 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08feacc63e2d73921cbe3be6bbac6cfd624276fe
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 05:59:10 2010 +0000
more tidying up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96891 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0128d21f3418a5d3e0b09bb9125a103e25951ec6
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 23 05:55:00 2010 +0000
Update memdep when load PRE inserts a new load, and add some debug output.
I don't have a small testcase for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96890 91177308-0d34-0410-b5e6-96231b3b80d8
commit 64836d55daa56e649354b6ef04ea20d04cc7e334
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 05:51:07 2010 +0000
reduce indentation by eliminating 'else after return'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96889 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5a5d91944507c2da994bc9e6e0419ca2b9ae768
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 05:30:43 2010 +0000
reapply my cellspu changes with a fix to not break the old isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96885 91177308-0d34-0410-b5e6-96231b3b80d8
commit f29f8f086c3afa203fea0889b85744e5dabdace5
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 23 02:44:03 2010 +0000
Update LangRef to match the code; pointers default to being 64-bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96873 91177308-0d34-0410-b5e6-96231b3b80d8
commit 412db15093fb1998042f609993174f1313407861
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 23 02:33:29 2010 +0000
Revert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96871 91177308-0d34-0410-b5e6-96231b3b80d8
commit bbf86a2f1eb0320a6a1e6c409df096f91acebd4a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 02:07:48 2010 +0000
X86InstrInfoSSE.td declares PINSRW as having type v8i16,
don't alis it in the MMX .td file with a different width,
split into two X86ISD opcodes. This fixes an x86 testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96859 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5097f5bc6c1e5ae0aa1b1dfde6bfd1f8bede97b0
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 23 01:42:58 2010 +0000
Added versions of VCGE, VCGT, VCLE, and VCLT NEON instructions which compare to
(immediate #0) for disassembly only.
A8.6.283, A8.6.285, A8.6.287, A8.6.290
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96856 91177308-0d34-0410-b5e6-96231b3b80d8
commit 598bb53b8c017f2ccf6400c205748bdf92cf7840
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 01:37:39 2010 +0000
fix hte last cellspu failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96854 91177308-0d34-0410-b5e6-96231b3b80d8
commit 19d8a01c41bb230ac9f3b184353af9d4fb1f2e7c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 01:33:17 2010 +0000
hack around more crimes in instruction selection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96852 91177308-0d34-0410-b5e6-96231b3b80d8
commit 948f49b2aa339a1dbdb2718155fae635ae83e744
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 23 01:28:09 2010 +0000
Convert this test to FileCheck and add a testcase for PR3574.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96851 91177308-0d34-0410-b5e6-96231b3b80d8
commit b7f668406b8d3b63433e791b2a555257c110000b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 01:20:00 2010 +0000
the cell backend is making all sorts of unsafe and incorrect assumptions
about ownership and update policies. It isn't clear why it is doing all
this lowering at isel time instead of in legalize. This fixes fcmp64.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96849 91177308-0d34-0410-b5e6-96231b3b80d8
commit 536238183b92ef3c98a7c7ae480eaed7dfb59e73
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 01:07:39 2010 +0000
really fix an off-by-one error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96845 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1a7ecd44bc2961988479c15435b4f242cfcc07b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 01:07:09 2010 +0000
fix an off-by-one error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96844 91177308-0d34-0410-b5e6-96231b3b80d8
commit 82d2983ef9fb574977226d41893ea2e4e73f62cb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 23 00:59:59 2010 +0000
switch the value# in OPC_CompleteMatch and OPC_EmitNode to use a
VBR encoding for the insanity being perpetrated by the spu backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96843 91177308-0d34-0410-b5e6-96231b3b80d8
commit 951eae263c5326cd581df33fe404bc7521190c49
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 23 00:33:12 2010 +0000
Added VCEQ (immediate #0) NEON instruction for disassembly only.
A8.6.281
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96838 91177308-0d34-0410-b5e6-96231b3b80d8
commit 67ac9950b677731f8766d29717564ff0218577c5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 23 00:28:53 2010 +0000
Dead code elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96837 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08d2e8bae2ee1a7443f9a78719d48f06ee63b147
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 23 00:04:53 2010 +0000
Fix viewCFG on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96834 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4fd103b6e2dc93ccc63c469a4d5a9f0bc864c4e
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 23:55:39 2010 +0000
add a new Push2 opcode for targets (like cellspu) which have
ridiculously ginormous patterns and need more than one byte
of displacement for encodings. This fixes CellSPU/fdiv.ll.
SPU is still doing something else ridiculous though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96833 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbe487d049f68b1cbcbe9e28bc4aa08d937ee8f1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 22 23:37:48 2010 +0000
These should not have been committed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96827 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a2d6b0c040c01c5eedb913c9435e92bfbdbac3a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 23:34:12 2010 +0000
no need to run llvm-as here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96826 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0dfed5686c151314fc5f58e50c6604bbc82fd14
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 22 23:34:00 2010 +0000
Instcombine constant folding can normalize gep with negative index to index with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96825 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8fd50a5f98a5d18a1b7f17e89e06596157574930
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 23:33:44 2010 +0000
Change ComplexPattern handling to push the node being matched as
well as the operands produced when the pattern is matched. This
allows CheckSame to work correctly when matching replicated
names involving ComplexPatterns. This fixes a bunch of MSP430
failures, we're down to 13 failures, two of which are
due to a sched bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96824 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a5eb3eafba49861717869ba90f560f7a7752709
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Feb 22 23:10:38 2010 +0000
Updated version of r96634 (which was reverted due to failing 176.gcc and
126.gcc nightly tests. These failures uncovered latent bugs that machine DCE
could remove one half of a stack adjust down/up pair, causing PEI to assert.
This update fixes that, and the tests now pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96822 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6253658d7c7da5e4680d9c53d5492ff8bd5fc828
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 23:07:52 2010 +0000
Add a test for canonicalizing ConstantExpr operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96820 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3321cf25d054bb18e07c686efc391df88afadeb
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Feb 22 22:54:55 2010 +0000
Clean up a bit and fix for when SPAdj != 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96818 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0f419caeca7d02e44fcfe066edd73522c83f9d5a
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Feb 22 22:47:46 2010 +0000
The predicate index isn't fixed, so scan for it to make sure we get the proper
value.
Thumb2 uses the tADJCALLSTACK* instructions, and doesn't need t2 versions, so
remove the FIXME entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96817 91177308-0d34-0410-b5e6-96231b3b80d8
commit a69fb559527a30ab40a5e2bc40df8a263e657ee5
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 22:43:23 2010 +0000
Canonicalize ConstantInts to the right operand of commutative
operators.
The test difference is just due to the multiplication operands
being commuted (and thus requiring a more elaborate match). In
optimized code, that expression would be folded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96816 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3bfccd6129136dedbc905cbcb9fe331ae9b5831f
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 22:37:11 2010 +0000
expand my hack to work with nodes that have flags but no chains and the
isel doesn't know the correct # results. This fixes 8 codegen tests,
down to 22 failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96815 91177308-0d34-0410-b5e6-96231b3b80d8
commit 28cded9689401154617716d81a9adde3e8167464
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 22:30:37 2010 +0000
add a new CheckMultiOpcode opcode for checking that a node
has one of the list of acceptable opcodes for a complex
pattern. This fixes 4 regtest failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96814 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8218d428ddd48485276d25087a86ab45dff01622
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 22:18:05 2010 +0000
When matching patterns that have a complex pattern as their root, make
sure to only run the complex pattern on nodes where the target opts in.
This patch only handles targets with one opcode specified so far, but
fixes 16 failures, only 34 left.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96813 91177308-0d34-0410-b5e6-96231b3b80d8
commit e85a094d8be56def5b5a921889de7e7a65e101e4
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 22:15:39 2010 +0000
add some debug hooks for tracking the behavior of the isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96812 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0875e0bbb87d2428f877d9b53adf58522840f53c
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 22:15:05 2010 +0000
remove dupes now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96811 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4f39d6fe2ca15bb6153bd3a02da5daee93f06e4
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 22:14:47 2010 +0000
move #includes earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96810 91177308-0d34-0410-b5e6-96231b3b80d8
commit a91798edfed53022f83cd69f8e55127065ba815f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Feb 22 22:08:57 2010 +0000
MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96809 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17da190000390f02beec08296e8f4b5e0ac21dcb
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 22:07:27 2010 +0000
Minor formatting cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96808 91177308-0d34-0410-b5e6-96231b3b80d8
commit 720a1ace28bbd268ce6de3feb3d5579f7f63292d
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 22:05:18 2010 +0000
Use Instruction::isCommutative instead of duplicating it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96807 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7562e569a22a2e6e473672d8cba4f9b6e6a355e6
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 22 21:50:40 2010 +0000
Added SEL, SXTB16, SXTAB16, UXTAB16, SMMULR, SMMLAR, SMMLSR, SMUAD, and SMUSD,
for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96806 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7dd6b2805419e37c3e127b62b9bc27869afdae1a
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 22 21:39:41 2010 +0000
Erase deleted instructions from GVN's ValueTable. This fixes assertion
failures from ValueTable::verifyRemoved() when using -debug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96805 91177308-0d34-0410-b5e6-96231b3b80d8
commit d83ba06e0894188259a46294a30cb7a47ed2fd83
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 18:53:26 2010 +0000
Actually enable the -enable-unsafe-fp-math tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96796 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0b41870f23040455bb631f43c4261f412ed01dd1
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 22 18:50:54 2010 +0000
Added a bunch of instructions for disassembly only:
o signed/unsigned add/subtract
o signed/unsigned halving add/subtract
o unsigned sum of absolute difference [and accumulate]
o signed/unsigned saturate
o signed multiply accumulate/subtract [long] dual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96795 91177308-0d34-0410-b5e6-96231b3b80d8
commit d651e2e920026c0c98d00c1c8805c008e51703fc
Author: Arnold Schwaighofer <arnold.schwaighofer@gmail.com>
Date: Mon Feb 22 16:18:09 2010 +0000
Mark the return address stack slot as mutable when moving the return address
during a tail call. A parameter might overwrite this stack slot during the tail
call.
The sequence during a tail call is:
1.) load return address to temp reg
2.) move parameters (might involve storing to return address stack slot)
3.) store return address to new location from temp reg
If the stack location is marked immutable CodeGen can colocate load (1) with the
store (3).
This fixes bug 6225.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96783 91177308-0d34-0410-b5e6-96231b3b80d8
commit 662af7c4654a217a18f943cb47f4128792a211c0
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Feb 22 05:55:32 2010 +0000
LLVMC/MultiplePluginPriorities.td: Generally XFAIL this test for now, it is
still failing during (one) llvm-gcc powerpc build, and is also failing on my
x86_64-apple-darwin10.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96781 91177308-0d34-0410-b5e6-96231b3b80d8
commit 561c47eb14ac9d2d179b46795e1510119ae2126b
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 04:11:59 2010 +0000
Remove unused variables and parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96780 91177308-0d34-0410-b5e6-96231b3b80d8
commit 551a234702e5fa424881cc866db45b1608509932
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 04:10:52 2010 +0000
Fix various doxygen warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96779 91177308-0d34-0410-b5e6-96231b3b80d8
commit 85a0e9c5ad6ea03720f460a850d6c2ec81034b5d
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 04:09:26 2010 +0000
Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96778 91177308-0d34-0410-b5e6-96231b3b80d8
commit b7ba80a3580ef087314d23cf0a81e636fb333ade
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 04:06:03 2010 +0000
Constant-fold certain comparisons with infinity and negative infinity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96777 91177308-0d34-0410-b5e6-96231b3b80d8
commit 651d3026e737756d2f52f988ddf60ef0b798418a
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 04:04:24 2010 +0000
Rename a variable to avoid a -Wshadow warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96776 91177308-0d34-0410-b5e6-96231b3b80d8
commit ccbad01de34516a064c2dafb7dfa535aedbfacd1
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 04:03:39 2010 +0000
Remove the logic for reasoning about NaNs from the code that forms
SSE min and max instructions. The real thing this code needs to be
concerned about is negative zero.
Update the sse-minmax.ll test accordingly, and add tests for
-enable-unsafe-fp-math mode as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96775 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c32d8008e58a65cbf2675c560bdab24e7615549
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 03:59:54 2010 +0000
When emitting an instruction which depends on both a post-incremented
induction variable value and a loop-variant value, don't force the
insert position to be at the post-increment position, because it may
not be dominated by the loop-variant value. This fixes a
use-before-def problem noticed on PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96774 91177308-0d34-0410-b5e6-96231b3b80d8
commit c040d3cb34ae0adb52a5f513b9c2365b75bfee56
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 22 02:07:36 2010 +0000
This cast<Instruction> is unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96771 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8224c0bb6201d54b259b0b458de632a95d749a70
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 00:47:38 2010 +0000
enhance my hack for flags handling, this allows us to pass
CodeGen/X86/pr2182.ll. Down to 13 x86 failures out of ~1100
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96770 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94ebcde2aaee561c2a9c7f6211c1a0fce712dd22
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 22 00:28:59 2010 +0000
fix an incorrect VT: eflags is always i32. The bug was causing us to
create an X86ISD::Cmp node with result type i64 on the
CodeGen/X86/shift-i256.ll testcase and the new isel was assert on it
downstream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96768 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3ae24d70824e4ee0f16223e3368da7537e1bc055
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 23:54:05 2010 +0000
fix most of the failures in the x86 suite by handling multiple
result nodes correctly. Note that this includes a horrible hack
in DAGISelHeader which cannot be fixed reasonably without
eliminating (parallel) from input patterns. That, in turn,
can't be done until we support writing multiple result patterns
for the X86and_flag and related multiple-result nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96767 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c1568a7514847bf2ec37b93a6d3364b55fbb9ef
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sun Feb 21 21:54:14 2010 +0000
MC/X86: Add stub AsmBackend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96763 91177308-0d34-0410-b5e6-96231b3b80d8
commit f822b3393654d327f22e3404a171db1e03253561
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sun Feb 21 21:53:53 2010 +0000
MC: Sketch registry support for target specific assembler backends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96762 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94890962008ba6daab9ec1a6b1dbcd4b4f1a8a9a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sun Feb 21 21:53:37 2010 +0000
Formatting tweaks (trailing whitespace, ordering, comments).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96761 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8252aafc429c328e67ee0aa81b66b5fe3af5af60
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 20:57:28 2010 +0000
fix an odd thinko in an assertion, all arm tests pass now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96758 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76b3124496a1e414191e4d5318680b50fd752a95
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 20:53:45 2010 +0000
Always emit register class id references as i32 like
DAGISelEmitter does. This fixes 11 arm failures (8
left).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96757 91177308-0d34-0410-b5e6-96231b3b80d8
commit 247465195ba60d00b8a0d6fa0492ec42c659f664
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 20:33:20 2010 +0000
add some no-unwinds, other minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96756 91177308-0d34-0410-b5e6-96231b3b80d8
commit a80c01e5c5608c0dd71219c6f5beda1466002263
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Feb 21 20:28:15 2010 +0000
It turned out that we failed to emit proper symbol stubs on non-x86/darwin for ages (we emitted a reference to a stub, but no stub was emitted). The code inside x86-32/macho target objfile lowering should actually be the generic one - move it there.
This (I really, really hope) should fix EH issues on ppc/darwin
and arm/darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96755 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17d2e870e73eef73f15d20f3e02ae111396c3d37
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 20:15:25 2010 +0000
speculatively teach OPC_CheckValueType and OPC_EmitNode to handle
MVT::iPTR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96753 91177308-0d34-0410-b5e6-96231b3b80d8
commit 18c3cba3eb42771ce9b777b6c4d6a444339bd088
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 20:10:43 2010 +0000
teach OPC_CheckType to handle MVT::iPTR, down to 2 ppc failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96752 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac982429dc553f285c460b64a51ce1f862f6f57b
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 20:02:15 2010 +0000
make this check a bit more generous, it may be outliving its
utility. Down to 6 ppc failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96751 91177308-0d34-0410-b5e6-96231b3b80d8
commit f08accb33eac1edc73848b157c7d026d1a76aa2c
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 19:35:07 2010 +0000
Relax an assertion a bit. We allow replacing things like
<4 x i32> with <4 x float> values if they end up the same
register class. This gets us up to 231 passes on the ppc
tests (only 7 fails).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96750 91177308-0d34-0410-b5e6-96231b3b80d8
commit c044ffeb91d65555585612d29d82d85c39353f3f
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 19:27:38 2010 +0000
add a triple so that this doesn't fail due to linux/ppc register printing
syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96748 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea17a4cc66e4b517ae08a4da4d2e8b24e477235e
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 19:22:06 2010 +0000
Sort the patterns before adding them to the FA so that we get the
least cost matches. This gets us from 195 -> 208 passes on the ppc codegen tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96747 91177308-0d34-0410-b5e6-96231b3b80d8
commit 097058c74354e8f22b5e23f0282e907f580aaeda
Author: Duncan Sands <baldrick@free.fr>
Date: Sun Feb 21 19:15:19 2010 +0000
Remove a bunch of duplicated code, where there was one version taking a std::ostream
and another taking a raw_ostream, but otherwise identical. Use raw_ostream everywhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96746 91177308-0d34-0410-b5e6-96231b3b80d8
commit f81d7a9c6647ea5058840fbf6e68c7ec0e24e64c
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 18:53:28 2010 +0000
filecheckize and add nouwinds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96745 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8718c5bba41d2909709f51f10cddbe0bc84e52f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sun Feb 21 18:51:48 2010 +0000
Enable assertion to detect cyclic valno references.
This changes the stack overflow in PR6363 to an assertion failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96744 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4eab8871a8c351e08021ebfa38aa9dc7cf382193
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Feb 21 12:28:58 2010 +0000
IT turns out that during jumpless setcc lowering eq and ne were swapped.
This fixes PR6348
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96734 91177308-0d34-0410-b5e6-96231b3b80d8
commit ec8bfbc2c69f076e6710d470a4ae1571c19e7f86
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 07:55:48 2010 +0000
when a match fails and we have to rollback, make sure to keep 'N' in
sync with the top of stack. This fixes a bunch of failures on larger
testcases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96732 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95ae06faabbfa6c4753aad51b0a256e52d38133d
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 07:19:06 2010 +0000
handle optional in flags that aren't present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96731 91177308-0d34-0410-b5e6-96231b3b80d8
commit eab3a483ebdf3110aafe8c7caaf61ce692db843c
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 07:16:41 2010 +0000
emit table indexes before each row so that it is debuggable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96730 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6252811370eaa8e82979dd56cda3a1fcbb617daa
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 06:58:27 2010 +0000
fix two bugs in OPC_EmitRegister, which makes ppc happier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96728 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50356ba1682201debb58d84ea89d02f79906c69e
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 06:44:29 2010 +0000
fix a table size miscomputation, target opcodes are 2 bytes.
With this, the matcher actually works reasonably well, but
crashes on larger examples in the scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96727 91177308-0d34-0410-b5e6-96231b3b80d8
commit d43cbc17992b19d624499d0a5a6a344002665381
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 06:30:04 2010 +0000
emit to the right streams, to avoid emitting the push
body before the push.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96726 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2ade183489d62cb7c3a42e161526fb7c125e5673
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 06:03:56 2010 +0000
oops don't turn this on for everyone yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96725 91177308-0d34-0410-b5e6-96231b3b80d8
commit 55214c3f2617d719286df0e6a5b0f9d20cba5d97
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 06:03:07 2010 +0000
implement the last known missing feature: updating uses of results
of the matched pattern to use the newly created node results. Onto
the "making it actually work" phase!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96724 91177308-0d34-0410-b5e6-96231b3b80d8
commit e4bd7f0b3b6f44838dacdc01e8d1683f1b939dcc
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 04:53:34 2010 +0000
fix and un-xfail X86/vec_ss_load_fold.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96720 91177308-0d34-0410-b5e6-96231b3b80d8
commit bfe6e63a044c5ce2f13b61bc08f8075882dccfce
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sun Feb 21 04:42:01 2010 +0000
Undo r96654. The printing of ARM shift instructions in canonical forms can be
handled in ARMInstPrinter.cpp.
And added PLD/PLDW/PLI (Preload Data/Instruction) for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96719 91177308-0d34-0410-b5e6-96231b3b80d8
commit bacb17f722a7b36d3190ceb1914fd434cac8f9a0
Author: Charles Davis <cdavis@mines.edu>
Date: Sun Feb 21 04:26:06 2010 +0000
Reduce size of 'StackAlignment' field from 5 to 3 bits. Seriously, who needs a
2GB-aligned stack anyway? 256 bytes is plenty. Requested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96718 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1740fe351bd1fd93536b80d8419dc0b36cc028d9
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 03:24:41 2010 +0000
temporarily disable this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96717 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3593bf4e3f6d569673cb73a9a4d3701cebfe582d
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 03:22:59 2010 +0000
Lots of improvements to the new dagisel emitter. This gets it to
the point where it is to the 95% feature complete mark, it just
needs result updating to be done (then testing, optimization
etc).
More specificallly, this adds support for chain and flag handling
on the result nodes, support for sdnodexforms, support for variadic
nodes, memrefs, pinned physreg inputs, and probably lots of other
stuff.
In the old DAGISelEmitter, this deletes the dead code related to
OperatorMap, cleans up a variety of dead stuff handling "implicit
remapping" from things like globaladdr -> targetglobaladdr (which
is no longer used because globaladdr always needs to be legalized),
and some minor formatting fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96716 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f79718ae585a2f69d0e69626cf4c971b64de73c
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 03:17:59 2010 +0000
rename SelectScalarSSELoad -> SelectScalarSSELoadXXX and rewrite
it to follow the mode needed by the new isel. Instead of returning
the input and output chains, it just returns the (currently only one,
which is a silly limitation) node that has input and output chains.
Since we want the old thing to still work, add a new
SelectScalarSSELoad to emulate the old interface. The XXX suffix
and the wrapper will eventually go away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96715 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6205d98fb0edfed046cca455ddf151aa25d0df96
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 03:15:11 2010 +0000
add a hook so that the new isel can run SDNodeXForms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96714 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73052f4b2f4b5759ce98d0d4ed2e4146f862ceaf
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 03:13:10 2010 +0000
Eliminate some uses of immAllOnes, just use -1, it does
the same thing and is more efficient for the matcher.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96713 91177308-0d34-0410-b5e6-96231b3b80d8
commit eacbfef5101dff9dcf620f42e120538cbf6fe40d
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 21 03:12:16 2010 +0000
Eliminate some uses of immAllOnes, just use -1, it does
the same thing and is more efficient for the matcher.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96712 91177308-0d34-0410-b5e6-96231b3b80d8
commit f1d83db8838172a16b80cb6b508d68716fee0357
Author: Tanya Lattner <tonic@nondot.org>
Date: Sun Feb 21 03:01:05 2010 +0000
Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96711 91177308-0d34-0410-b5e6-96231b3b80d8
commit f95fdf4bcb48e21f3f3d2fdce74bf3c9c0c217da
Author: Tanya Lattner <tonic@nondot.org>
Date: Sun Feb 21 02:59:05 2010 +0000
Test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96710 91177308-0d34-0410-b5e6-96231b3b80d8
commit 349819a813c8c93544f27a9d4131234f52140ff1
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 19 19:35:48 2010 +0000
Rename getSDiv to getExactSDiv to reflect its behavior in cases where
the division would have a remainder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96693 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b0ea295dee969b3d103778799500ea519f9b5d6
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 19 19:32:49 2010 +0000
Check for overflow when scaling up an add or an addrec for
scaled reuse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96692 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6a891b6e11775b26d8400d49c2f1ea35845d1591
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 19 18:59:53 2010 +0000
Revert 96634. It causes assertion failures for 126.gcc and 176.gcc in
the armv6 nightly tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96691 91177308-0d34-0410-b5e6-96231b3b80d8
commit ff49692a11b9f95bae17b5a560827a35700cb6e9
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 19 18:49:22 2010 +0000
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96688 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3151807449da3ff92a4219edb5600c1c2c0ac56
Author: Charles Davis <cdavis@mines.edu>
Date: Fri Feb 19 18:17:13 2010 +0000
Add support for the 'alignstack' attribute to the x86 backend. Fixes PR5254.
Also, FileCheck'ize a test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96686 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5ce4c01bea8e41eba62084717b08e47104427041
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 19 18:12:07 2010 +0000
Teach ScalarEvolution how to compute a tripcount for a loop with
true or false as its exit condition. These are usually eliminated by
SimplifyCFG, but the may be left around during a pass which wishes
to preserve the CFG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96683 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33aacdd25540b32eb7aef0c5e23bc3d2e0830742
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 19 17:10:59 2010 +0000
Revert Anton's most recent EH patch (r96637), since it breaks a lot of
ARM and Thumb tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96680 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf382697b2fcfa693142067489746f74bb84c7c1
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Feb 19 11:30:41 2010 +0000
Revert commits 96556 and 96640, because commit 96556 breaks the
dragonegg self-host build. I reverted 96640 in order to revert
96556 (96640 goes on top of 96556), but it also looks like with
both of them applied the breakage happens even earlier. The
symptom of the 96556 miscompile is the following crash:
llvm[3]: Compiling AlphaISelLowering.cpp for Release build
cc1plus: /home/duncan/tmp/tmp/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4982: void llvm::SelectionDAG::ReplaceAllUsesWith(llvm::SDNode*, llvm::SDNode*, llvm::SelectionDAG::DAGUpdateListener*): Assertion `(!From->hasAnyUseOfValue(i) || From->getValueType(i) == To->getValueType(i)) && "Cannot use this version of ReplaceAllUsesWith!"' failed.
Stack dump:
0. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZN4llvm19AlphaTargetLowering14LowerOperationENS_7SDValueERNS_12SelectionDAGE'
g++: Internal error: Aborted (program cc1plus)
This occurs when building LLVM using LLVM built by LLVM (via
dragonegg). Probably LLVM has miscompiled itself, though it
may have miscompiled GCC and/or dragonegg itself: at this point
of the self-host build, all of GCC, LLVM and dragonegg were built
using LLVM. Unfortunately this kind of thing is extremely hard
to debug, and while I did rummage around a bit I didn't find any
smoking guns, aka obviously miscompiled code.
Found by bisection.
r96556 | evancheng | 2010-02-18 03:13:50 +0100 (Thu, 18 Feb 2010) | 5 lines
Some dag combiner goodness:
Transform br (xor (x, y)) -> br (x != y)
Transform br (xor (xor (x,y), 1)) -> br (x == y)
Also normalize (and (X, 1) == / != 1 -> (and (X, 1)) != / == 0 to match to "test on x86" and "tst on arm"
r96640 | evancheng | 2010-02-19 01:34:39 +0100 (Fri, 19 Feb 2010) | 16 lines
Transform (xor (setcc), (setcc)) == / != 1 to
(xor (setcc), (setcc)) != / == 1.
e.g. On x86_64
%0 = icmp eq i32 %x, 0
%1 = icmp eq i32 %y, 0
%2 = xor i1 %1, %0
br i1 %2, label %bb, label %return
=>
testl %edi, %edi
sete %al
testl %esi, %esi
sete %cl
cmpb %al, %cl
je LBB1_2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96672 91177308-0d34-0410-b5e6-96231b3b80d8
commit ecab71b9f5ffc6afe46407a9dd0450449e8fe119
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Feb 19 09:18:53 2010 +0000
Correct LastPrimitiveTyID: MetadataType is a primitive type.
This change probably has no functional effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96669 91177308-0d34-0410-b5e6-96231b3b80d8
commit f558bd3a1c802d7aac37f3827c4c70be51fe2a0b
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 19 07:49:56 2010 +0000
add emitter support for integer constants and simple physreg references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96663 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f6c0cadfb533897312545d0dce31b8590b8e0e0
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 19 07:14:22 2010 +0000
recommit 96626, evidence that it broke things appears
to be spurious
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96662 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3c5c26d37ca134ec8107498a5fff100338052b4
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 19 07:02:20 2010 +0000
fix this to work more determinstically, patch by Thomas Veith!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96661 91177308-0d34-0410-b5e6-96231b3b80d8
commit c479dcf7e4bca1325343d38eb63347f6f28641db
Author: Devang Patel <dpatel@apple.com>
Date: Fri Feb 19 02:58:33 2010 +0000
Test case for r96656.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96657 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1afbdfceab05493bcfd67e17131274e853000e82
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 19 02:12:06 2010 +0000
Added entries for ASR, LSL, LSR, ROR, and RRX so that the disassembler prints
out the canonical form (A8.6.98) instead of the pseudo-instruction as provided
via MOVs.
DBG_ARM_DISASM=YES llvm-mc -triple=arm-unknown-unknown --disassemble
0xc0 0x00 0xa0 0xe1
Opcode=29 Name=ASR Format=ARM_FORMAT_LDMISCFRM
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 0| 0: 0: 0: 1| 1: 0: 1: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 1: 0: 0| 0: 0: 0: 0|
-------------------------------------------------------------------------------------------------
asr r0, r0, #1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96654 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5856c910917b665fc21bdb66cacef37ca7ec0148
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 19 01:54:37 2010 +0000
Revert 96626, which causes build failure on ppc Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96653 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33403fea96f346dd67174dd75fa55b25c077b908
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 19 00:34:39 2010 +0000
Transform (xor (setcc), (setcc)) == / != 1 to
(xor (setcc), (setcc)) != / == 1.
e.g. On x86_64
%0 = icmp eq i32 %x, 0
%1 = icmp eq i32 %y, 0
%2 = xor i1 %1, %0
br i1 %2, label %bb, label %return
=>
testl %edi, %edi
sete %al
testl %esi, %esi
sete %cl
cmpb %al, %cl
je LBB1_2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96640 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58ec19ab4901514845922ec08bc9b2b3e352f577
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 19 00:33:13 2010 +0000
I confused myself, temporaries will be recorded right along with other inputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96639 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef9d04cf557b0fa77b0824fbd7befdf2d8d6e075
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 19 00:29:36 2010 +0000
Use the same encoding for EH stuff uniformly on all MachO targets.
This hopefulyl should unbreak EH on PPC/Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96637 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5aa3ace5a4bacc9897298c537372b13a9aa74798
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 19 00:27:40 2010 +0000
introduce a new ResultVal and start keeping track of temporary values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96636 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3f173cbfa675a63489d344c0a91d2b1f480163f
Author: Jim Grosbach <grosbach@apple.com>
Date: Fri Feb 19 00:16:24 2010 +0000
Radar 7636153. In the presence of large call frames, it's not sufficient
for ARM to just check if a function has a FP to determine if it's safe
to simplify the stack adjustment pseudo ops prior to eliminating frame
indices. Allow targets to override the default behavior and does so for ARM
and Thumb2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96634 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd3ddf5f0c0f633c39b42f1a48b483d65f3d0fed
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 19 00:05:23 2010 +0000
When determining the set of interesting reuse factors, consider
strides in foreign loops. This helps locate reuse opportunities
with existing induction variables in foreign loops and reduces
the need for inserting new ones. This fixes rdar://7657764.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96629 91177308-0d34-0410-b5e6-96231b3b80d8
commit d5e9beaff4973477663acc5cc9e444ebfde07bd7
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 23:26:33 2010 +0000
Indvars needs to explicitly notify ScalarEvolution when it is replacing
a loop exit value, so that if a loop gets deleted, ScalarEvolution
isn't stick holding on to dangling SCEVAddRecExprs for that loop. This
fixes PR6339.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96626 91177308-0d34-0410-b5e6-96231b3b80d8
commit e62abaebf48091afd1b488baed1698fa4e02e043
Author: Mon P Wang <wangmp@apple.com>
Date: Thu Feb 18 22:33:18 2010 +0000
getSplatIndex assumes that the first element of the mask contains the splat index
which is not always true if the mask contains undefs. Modified it to return
the first non undef value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96621 91177308-0d34-0410-b5e6-96231b3b80d8
commit baf26c82ecd15bd28a9e04e7684836c102534b40
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 18 22:31:18 2010 +0000
Added LDRD_PRE/POST & STRD_PRE/POST for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96619 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6220d28bab41ec354a1e56632aebb597108970f0
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 22:03:03 2010 +0000
add support for referencing registers and immediates,
building the tree to represent them but not emitting
table entries for them yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96617 91177308-0d34-0410-b5e6-96231b3b80d8
commit a82887a0e7503764e687e7ef62bf3ba0983b86fc
Author: Talin <viridia@gmail.com>
Date: Thu Feb 18 21:43:45 2010 +0000
replaceUsesOfWithOnConstant implementation for unions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96616 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8e7364467b85336639f9736a4d0aa332679bc230
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 21:34:02 2010 +0000
Hoist this loop-invariant logic out of the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96614 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d57ee9fbdb3dbe96ad7f63784f25c9474211014
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 18 21:33:05 2010 +0000
Always normalize spill weights, also for intervals created by spilling.
Moderate the weight given to very small intervals.
The spill weight given to new intervals created when spilling was not
normalized in the same way as the original spill weights calculated by
CalcSpillWeights. That meant that restored registers would tend to hang around
because they had a much higher spill weight that unspilled registers.
This improves the runtime of a few tests by up to 10%, and there are no
significant regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96613 91177308-0d34-0410-b5e6-96231b3b80d8
commit 97a6c69733a3db6a5889c085b4e395c9677b908b
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 21:25:53 2010 +0000
Make CodePlacementOpt detect special EH control flow by
checking whether AnalyzeBranch disagrees with the CFG
directly, rather than looking for EH_LABEL instructions.
EH_LABEL instructions aren't always at the end of the
block, due to FP_REG_KILL and other things. This fixes
an infinite loop compiling MultiSource/Benchmarks/Bullet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96611 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54484f9f17de14a9699bb78fb35452566c3b5b8d
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 18 21:03:36 2010 +0000
Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96610 91177308-0d34-0410-b5e6-96231b3b80d8
commit 762426382d050e324da72c78c66d3b69a864a141
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 18 20:53:16 2010 +0000
Destroy MDNodes gracefully while deleting llvm context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96609 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5159342e3edf28d46fa2e50def6498c2c2e35a5f
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 18 19:52:12 2010 +0000
Ignore target dependent value in grep search.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96604 91177308-0d34-0410-b5e6-96231b3b80d8
commit b95d51083697cd7b6a09462b18dfbe600df60223
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 18 18:51:15 2010 +0000
Generate DBG_VALUE from dbg.value intrinsics. These currently
comes out as comments but will eventually generate DWARF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96601 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89bf1e188b68b5637e416ff2b8539574ee7f5c14
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 18:40:29 2010 +0000
Clarify that ptrtoint+inttoptr are an alternative to GEP which are
not restricted by the GEP rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96598 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f74a0fa87916426a46ba5316d4ea47a3b4992bd
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 18:22:41 2010 +0000
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96597 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c73aa9e95526f86f8c9d7a537d82eb65defeae8
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 18:22:18 2010 +0000
Clarify that the rules about object hopping kick in when a pointer is
deferenced, rather than when the pointer value is computed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96596 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74e1ff45131888ab4e5ea1fc5ff263f9a6373c1e
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 18 18:19:17 2010 +0000
Fix typos Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96594 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8696719f59aac87b9f53375b08a752defe63430
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Thu Feb 18 18:00:35 2010 +0000
Remap the call sites of a shared function in interrupt line functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96591 91177308-0d34-0410-b5e6-96231b3b80d8
commit 834466c4a192dcb36370d4c2c3f3871b7bf21dee
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Thu Feb 18 17:32:25 2010 +0000
Re-factoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96589 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9ad781ac4b8a0f8ce961356113c9d65d5728d789
Author: Duncan Sands <baldrick@free.fr>
Date: Thu Feb 18 14:37:52 2010 +0000
Uniformize the way these options are printed. Requested by
Russell Wallace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96580 91177308-0d34-0410-b5e6-96231b3b80d8
commit c24378d92d55f2e3b4764f6372e9d8193f1cc0da
Author: Duncan Sands <baldrick@free.fr>
Date: Thu Feb 18 14:10:41 2010 +0000
Remove terminating dot in description. Inconsistency pointed
out by Russell Wallace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96579 91177308-0d34-0410-b5e6-96231b3b80d8
commit ddd5b4c929d39bd491f51ab576c1fafeaaf7e170
Author: Duncan Sands <baldrick@free.fr>
Date: Thu Feb 18 14:08:13 2010 +0000
Refer to -help instead of --help since this is what tools themselves say.
Also, have tools output -help-hidden rather than refer to --help-hidden,
for consistency, and likewise adjust documentation. This doesn't change
every mention of --help, only those which seemed clearly safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96578 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7316dea5cc26e2825cfe53b1880fcd05f924e698
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Feb 18 12:57:05 2010 +0000
Avoid a dangling pointer dereference, PassManager::add can delete the Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96576 91177308-0d34-0410-b5e6-96231b3b80d8
commit 986fab2dc7197715928875decd663068944ac9de
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 06:47:49 2010 +0000
start sketching out the structure of code for result emission generation.
Nothing real here yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96575 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9041a138d986e9ee5e775aa8d13d485c5778dd94
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 06:33:42 2010 +0000
add a missing type cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96574 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b5cbcab08ff5058af7e38fe74a9d5cf795461ea
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 06:29:06 2010 +0000
remove empty file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96573 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3a76807eff146d515f2d2035898e87015737df1a
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Feb 18 06:05:53 2010 +0000
Use NEON vmin/vmax instructions for floating-point selects.
Radar 7461718.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96572 91177308-0d34-0410-b5e6-96231b3b80d8
commit fc90957195bbe47f7182a935b3a33f0f5476d793
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 18 04:43:02 2010 +0000
Roll back the shared library, r96559. It broke two darwins and arm, mysteriously.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96569 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d4ee4e9b21f3e0d74ee548b6d419ede88bb9732
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 18 03:27:42 2010 +0000
Added LDRSBT, LDRHT, LDRSHT for disassembly only. And fixed encoding errors
of AI3ldsbpo, AI3ldhpo, and AI3ldshpo in ARMInstrFormats.td in the process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96565 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad7e41d5e53f19b14c2c746a006240c39eaad559
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 02:53:41 2010 +0000
rename the child field to 'next'. This is not a parent/child
relationship, this is a linear list relationship.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96561 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d4e8f0f59fd1ccb81bc11551892e8b686bc12be
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 02:49:24 2010 +0000
eliminate the MatcherNodeWithChild class, give the 'child'
field to MatcherNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96560 91177308-0d34-0410-b5e6-96231b3b80d8
commit 88881e1168e32522529e2feaeb539dbf82cd4a4a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 18 02:36:02 2010 +0000
Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add an
--enable-shared configure flag to have the tools linked shared. (2.7svn is just
$(LLVMVersion) so it'll change to "2.7" in the release.) Always link the
example programs shared to test that the shared library keeps working.
On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is
16M static vs 440K shared.
Two things are less than ideal here:
1) The library doesn't include any version information. Since we expect to break
the ABI with every release, this shouldn't be much of a problem. If we do
release a compatible 2.7.1, we may be able to hack its library to work with
binaries compiled against 2.7.0, or we can just ask them to recompile. I'm
hoping to get a real packaging expert to look at this for the 2.8 release.
2) llvm-config doesn't yet have an option to print link options for the shared
library. I'll add this as a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96559 91177308-0d34-0410-b5e6-96231b3b80d8
commit eadf9fc23721aea592981955c91f3f4c250afbc6
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 18 02:13:50 2010 +0000
Some dag combiner goodness:
Transform br (xor (x, y)) -> br (x != y)
Transform br (xor (xor (x,y), 1)) -> br (x == y)
Also normalize (and (X, 1) == / != 1 -> (and (X, 1)) != / == 0 to match to "test on x86" and "tst on arm"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96556 91177308-0d34-0410-b5e6-96231b3b80d8
commit c94d789e58f994c2f2d8a588389965102e78710a
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 18 00:53:49 2010 +0000
New test case for r96543.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96544 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7292fda1bbff055771af5068db1db6593764648d
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 18 00:23:27 2010 +0000
fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96541 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8aabefbe150a42c2f429b33795e9065f68dc12ad
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 18 00:19:08 2010 +0000
Added for disassembly only the variants of DMB, DSB, and ISB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96540 91177308-0d34-0410-b5e6-96231b3b80d8
commit f95eb8ce753dff7310811807e467f420f1577946
Author: Eric Christopher <echristo@apple.com>
Date: Wed Feb 17 23:55:26 2010 +0000
Fix a few unused parameter warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96533 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f7a015d6c211d086ff07328bd20f41ada29b05b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 17 23:45:16 2010 +0000
MC/Mach-O: Update fixup values for change to X86 offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96532 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48b4e349ddac3e974a031d4dd988d35d69de963d
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 22:54:10 2010 +0000
Make this an unnumbered list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96528 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7ef1d069dd569aaa93feac6dfcbf7b4596741dd
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 22:50:12 2010 +0000
HTML validation fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96527 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c811a7b2e5b9c0c3ec4abf639b05b7c3cb8add2
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 22:47:06 2010 +0000
Add an "advanced" GetElementPtr FAQ document, with answers to
questions left unanswered by the first GetElementPtr FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96526 91177308-0d34-0410-b5e6-96231b3b80d8
commit c32176e1bd44ce5f9514a9ccf997e0c097122cd2
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 17 22:42:54 2010 +0000
Remove the NEON N2VSInt instruction class: it's only used in one place and
since it has no pattern, there's not much point in distinguishing an "N2VS"
class for intrinsics anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96525 91177308-0d34-0410-b5e6-96231b3b80d8
commit e51e54f5bb0f8634ab4e9753f98289ba9cd31ff3
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 17 22:37:58 2010 +0000
Added CLREX (Clear-Exclusive) for disassembly only.
A8.6.30
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96523 91177308-0d34-0410-b5e6-96231b3b80d8
commit c364642e09715f19769b5b53da29da56e52a7586
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 17 22:23:11 2010 +0000
More cleanup for NEON:
* Use "S" abbreviation for scalar single FP registers in class and pattern
names, instead of keeping the "D" (for "double") abbreviation and tacking on
an "s" elsewhere in the name.
* Move the scalar single FP register classes and patterns to be more
consistent with other definitions in the file.
* Rename "VNEGf32d" definition to "VNEGfd" for consistency.
* Deleted the N2VDIntsPat pattern; N2VSPat is good enough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96521 91177308-0d34-0410-b5e6-96231b3b80d8
commit 64f6921be53c5451a213952c145ffab395ce8c22
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 17 21:39:10 2010 +0000
Added RFE for disassembly only.
B6.1.8 RFE Return From Exception loads the PC and the CPSR from the word at the
specified address and the following word respectively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96519 91177308-0d34-0410-b5e6-96231b3b80d8
commit 98fc471e7a10772a978fd849928eb9905bb97859
Author: David Greene <greened@obbligato.org>
Date: Wed Feb 17 20:21:42 2010 +0000
Make the non-temporal bit "significant" in MemSDNodes so they aren't
CSE'd or otherwise combined with temporal MemSDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96505 91177308-0d34-0410-b5e6-96231b3b80d8
commit 587e14be8e8ac7fc3c74110de6a9e549e79434d5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Feb 17 20:18:50 2010 +0000
Remember to define super registers in mips calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96504 91177308-0d34-0410-b5e6-96231b3b80d8
commit b19b7d10d3ef4cdca16100ee15f78044d43c15d4
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 17 20:08:42 2010 +0000
Add Regex::sub, for doing regular expression substitution with backreferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96503 91177308-0d34-0410-b5e6-96231b3b80d8
commit 739ef571a2d239ebb3b0743748b042c99a8533d8
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 19:54:34 2010 +0000
irbuilder is doing constant folding now by default, PR6092
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96502 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1aedc2c20ca91f228093407fd5eee479f249a0f9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 19:51:31 2010 +0000
fix some out of date prose dating from the LLVMContext changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96500 91177308-0d34-0410-b5e6-96231b3b80d8
commit e209ed52e3d0baed0d80195a462ad80cf4f3a64c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 17 19:26:45 2010 +0000
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96498 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd84b4bebc1d3d9c85e4e65fe66ae7e10326cf95
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 19:19:50 2010 +0000
redisable this to save people a small amount of build time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96497 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17ab361f218b0c9c823b4900ed28876bc0848866
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Wed Feb 17 19:13:56 2010 +0000
Dead code elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96496 91177308-0d34-0410-b5e6-96231b3b80d8
commit 49b4f955f8027576a49aacf264e297cc0493b0d5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 18:57:19 2010 +0000
"Fix and issue in SparcAsmPrinter where multiple identical .LLGETPCHn symbols could be emitted in the same file (it was uniqued by block number, but not by function number). " Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96495 91177308-0d34-0410-b5e6-96231b3b80d8
commit 54f5c508486c1d120d8a62efe6bbcca444551478
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 18:52:56 2010 +0000
move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96492 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3cbf45556d0dd1cd039400aeba3b4ba5ac9a0202
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 18:42:24 2010 +0000
add a note, from PR5100
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96490 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e76fd0c478b8a328e76a3364688c9d9fe20525d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 18:39:56 2010 +0000
add missing method, PR6284
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96489 91177308-0d34-0410-b5e6-96231b3b80d8
commit daf84e05852c3b3199a3c075eba0fe8b915e8882
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 18:33:13 2010 +0000
add optional debian instructions, PR6272
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96488 91177308-0d34-0410-b5e6-96231b3b80d8
commit cac5f1f58d7df62d5ca893c3db3c8d3d706a7d99
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Feb 17 18:11:29 2010 +0000
Added routine to clone the body of a function and maintain a map of already
cloned functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96485 91177308-0d34-0410-b5e6-96231b3b80d8
commit 491a1ff42cd2b311880b77c70c401121fa6474ca
Author: Duncan Sands <baldrick@free.fr>
Date: Wed Feb 17 17:20:17 2010 +0000
Mention an API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96480 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7f5ee33ea755aa8110c6b3bede2589689adaf071
Author: Duncan Sands <baldrick@free.fr>
Date: Wed Feb 17 14:52:22 2010 +0000
Pacify gcc-4.5, which warns (correctly) that these switches have
cases that are not part of the enum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96477 91177308-0d34-0410-b5e6-96231b3b80d8
commit 197ad60fa75a81c866710e99bb9cc6dd0bb66541
Author: Eric Christopher <echristo@apple.com>
Date: Wed Feb 17 08:53:27 2010 +0000
Revert:
r95605 | dpatel | 2010-02-08 15:27:46 -0800 (Mon, 08 Feb 2010) | 2 lines
test case for r95604.
Which was the testcase for the patch reverted from llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96474 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfa756308b82a1644fb9176b3b8307fc82db1076
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 06:53:36 2010 +0000
reduce nesting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96466 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a1ae6843df7e7545e7c4bbb94fa9fdbc1c9561d
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Feb 17 06:48:50 2010 +0000
Added a function to clone locals of a function.( which for pic16 are globals
with mangled names).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96465 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3dea247c3b95e66a33ec36d08f00726f9a7da0c5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 06:47:35 2010 +0000
improve comments, the matcher is now feature complete, on to codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96464 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e90a2924873fee4f0c24f9bbe2e2acd6aafa6f7
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Feb 17 06:46:23 2010 +0000
Removed header files from .h by adding forward decls.
Renamed PIC16FrameOverlay namespace to PIC16OVERLAY.
Renamed PIC16FrameOverlay class to PIC16Overlay.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96463 91177308-0d34-0410-b5e6-96231b3b80d8
commit eb01b1e85f3c9730759fcb13349b45b0b42d4133
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 17 06:31:48 2010 +0000
Added BFI for disassembly only.
A8.6.18 BFI - Bitfield insert (Encoding A1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96462 91177308-0d34-0410-b5e6-96231b3b80d8
commit c6692fa908a3a3f4437609b0e817f0acd8098292
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 06:28:22 2010 +0000
sink special case "cannotyetselect" for intrinsics out of the
tblgen splatted code into the implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96460 91177308-0d34-0410-b5e6-96231b3b80d8
commit f1dd428284e6058052e5a6689b2af2060b838f11
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 06:23:39 2010 +0000
Emulate the current isel's "IsChainCompatible" logic for now.
I'd like to eventually rip it out, but for now producing the
same selections as the old matcher is more important.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96458 91177308-0d34-0410-b5e6-96231b3b80d8
commit f080de44754a95cddca4d9f86dc93e74988f0136
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 06:08:25 2010 +0000
properly record chain inputs to complex patterns,
resolving a fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96457 91177308-0d34-0410-b5e6-96231b3b80d8
commit 212c5804c459dfe7f23ea3de1941c105c7728af2
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 06:07:47 2010 +0000
rename and document some arguments so I don't have to keep
reverse engineering what they are.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96456 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d98c838d5eb47e3c66291ea2e27380f0d3139ef
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Wed Feb 17 05:53:11 2010 +0000
Use pointer-wide encoding for LSDA and FDE on Darwin.
Hopefully, this will fix the remaining issues seen there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96454 91177308-0d34-0410-b5e6-96231b3b80d8
commit eaf82d889ecc0056cbadb355c1153fdf7858686f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 05:35:28 2010 +0000
simplify IsChainCompatible codegen, add comments. no
functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96453 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0be6757d9bc10b078ddaa9e3987b6b0eaed2e4a0
Author: Lang Hames <lhames@gmail.com>
Date: Wed Feb 17 03:42:51 2010 +0000
Removed an early out which was causing the PBQP allocator to not compute live-in sets or run the rewriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96450 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51e24cb395ef99fbbc6fbe88be989a3f86bd9985
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 02:39:31 2010 +0000
Fix SCEVExpander's existing PHI reuse checking to recognize the
case where there are loop-invariant instructions somehow left
inside the loop, and in a position where they won't dominate
the IV increment position.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96448 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5419f2f9d45ac84f567eff6508a94a292c849e5
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 17 02:20:34 2010 +0000
Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96445 91177308-0d34-0410-b5e6-96231b3b80d8
commit 82d7099221326012de1a84a84832e66e2be2a8a3
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 02:16:19 2010 +0000
Prep work to handle input chains of matched patterns and checking for
'ischaincompatible' when a pattern has more than one input chain. Need
to do some commenting and cleanup now that I understand how this works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96443 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b423812d6e781c533b537e9beefa593cad45e88
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 01:55:54 2010 +0000
daniel remembered why this was needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96440 91177308-0d34-0410-b5e6-96231b3b80d8
commit c4ab22d6e915d3a1f6acd388c2209a3f4f9ea981
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 01:38:01 2010 +0000
add a comment explaining why darwin/i386 uses ## as a comment.
It's not clear why this is really required, but it was explicitly
added in r48808 with no real explanation or rdar #.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96438 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdbb8357a71f36257d0eee4f35024142806c928d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 01:34:15 2010 +0000
record input chains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96437 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4ab37e16af2275b8cb6d3960d83bb26563736822
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 01:27:29 2010 +0000
prefix captured value names with $ so they look like
variables. Use the fancy OpNo variable instead of i,
which has the right index including chains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96436 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0b4f2e55c0db3873138723b3a5f8de004dab506e
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Wed Feb 17 01:11:53 2010 +0000
Initial implementation of PIC16 Cloner pass.
This pass is supposed to be run on the linked .bc module.
It traveses the module call graph twice. Once starting from the main function
and marking each reached function as "ML". Again, starting from the ISR
and cloning any reachable function that was marked as "ML". After cloning
the function, it remaps all the call sites in IL functions to call the
cloned functions.
Currently only marking is being done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96435 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1da86b25d395726d446dbd4814b09e52c060ccd
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 01:08:57 2010 +0000
Don't check for comments, which vary between subtargets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96434 91177308-0d34-0410-b5e6-96231b3b80d8
commit e78397b57651577bf13613ac6ec6ab4b1b75b3c4
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 01:03:09 2010 +0000
improve comments on OPC_Record to say what we're recording a node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96433 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d1673fb026b070b802460077e62c3d8fdd1e004
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 00:54:58 2010 +0000
Fold bswap(undef) to undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96432 91177308-0d34-0410-b5e6-96231b3b80d8
commit a93b0de79e649a8d4463ca525a4a950b129db6eb
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 00:42:19 2010 +0000
Delete some unneeded casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96429 91177308-0d34-0410-b5e6-96231b3b80d8
commit ec933669c4039f33b38cc766982229974ca382ea
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 00:41:53 2010 +0000
Don't attempt to divide INT_MIN by -1; consider such cases to
have overflowed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96428 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4d4076386ecb4617e09b8b15e671cdc07c8a1db
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 00:41:34 2010 +0000
make the new isel's interpreter loop call the generated
CheckComplexPattern function. Though it is logically const,
I don't have the fortitude to clean up all the targets now,
and it not being const doesn't block anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96426 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59749a3cb6ae45955865f7e875e7dd38568df5d9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 00:39:26 2010 +0000
improve comments in generated matcher a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96422 91177308-0d34-0410-b5e6-96231b3b80d8
commit 69957ff9041ce113d7d2c5d41446ddf9c5900e44
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 17 00:37:20 2010 +0000
Make the operand and format specifier match, and print all
64 bits, fixing a variety of problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96421 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4411c2e11d783ee6d4b9a65a48fdc3f5ef03d7e9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 00:31:50 2010 +0000
make the new isel generator plop out a CheckComplexPattern function
for evaluating complex patterns. Some cleanup has to happen before
this can be used though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96419 91177308-0d34-0410-b5e6-96231b3b80d8
commit dfdce68ddbbb43b4a2f2628b58582870e8cc1b81
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 17 00:31:29 2010 +0000
Wrap lines to 80 columns and generally try to clean up whitespace and
indentation. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96418 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4d7619e9f971d2299ddf1140b14da3aeeb5b5e36
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 00:29:06 2010 +0000
roundss is an sse 4 thing, fix the test on non-sse41 builders
like llvm-gcc-x86_64-darwin10-selfhost
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96417 91177308-0d34-0410-b5e6-96231b3b80d8
commit 42675c6528107adcf75cbf2425e88dfe2132f630
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 17 00:11:30 2010 +0000
fix inverted condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96416 91177308-0d34-0410-b5e6-96231b3b80d8
commit 598072cf6deac9bad6c543d0186e6d0982580caa
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 16 23:25:23 2010 +0000
Make g5 target explicit; scheduling affects register choice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96413 91177308-0d34-0410-b5e6-96231b3b80d8
commit fa71393244402d8beffef682b9344b0a404c2ec9
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 23:16:25 2010 +0000
complex patterns don't get 'record' nodes, they implicitly
record all their results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96412 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4b8803bdb263d380042e910efe5444b39c9d1b4b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 23:13:59 2010 +0000
clean up some code, eliminate NodeIsComplexPattern, which
does the same thing as getComplexPatternInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96411 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5faa9d59ece74fdf5e836ef32d14976500ba6c3f
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Feb 16 22:47:14 2010 +0000
Make error statement more personal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96410 91177308-0d34-0410-b5e6-96231b3b80d8
commit 49e718489de8b969973ec4324acc8060ce11d0fa
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 22:38:31 2010 +0000
fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96409 91177308-0d34-0410-b5e6-96231b3b80d8
commit 494c589c39c9549b906398802608b0983adc88be
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 22:35:06 2010 +0000
fix rdar://7653908, a crash on a case where we would fold a load
into a roundss intrinsic, producing a cyclic dag. The root cause
of this is badness handling ComplexPattern nodes in the old dagisel
that I noticed through inspection. Eliminate a copy of the of the
code that handled ComplexPatterns by making EmitChildMatchCode call
into EmitMatchCode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96408 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38a65967dec66441c5610ba19dfe35a28272f2b9
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 16 22:31:31 2010 +0000
Adjust register numbers in tests to compensate for the
new lack of R2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96407 91177308-0d34-0410-b5e6-96231b3b80d8
commit 60fd8df8b5bbb2b66af3f97ebeabc8bb27180823
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 22:13:43 2010 +0000
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96404 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11ea1ddcc1b08203a0db0eea4146e93cf792a79c
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 16 22:01:59 2010 +0000
Handle tGPR register class in a few more places. This fixes some llvm-gcc
build failures due to my fix for pr6111.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96402 91177308-0d34-0410-b5e6-96231b3b80d8
commit d44933d247156442c64c8e0ac9c5b4ac121063c2
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 16 21:59:54 2010 +0000
Add SMC (Secure Monitor Call) system instruction for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96401 91177308-0d34-0410-b5e6-96231b3b80d8
commit 86bcc29c3189c775fae8c69f0359b4f9f510b1be
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 16 21:53:27 2010 +0000
Really reserve R2 on PPC Darwin. PR 6314.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96399 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14568d790b7e5dab04a4b9c1873a6a69d8055adc
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 16 21:39:34 2010 +0000
Use line and column number to distinguish two lexical blocks at the same level.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96395 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d473e60e8d1b9d5f2246e0b3b108cd93dcb1aea
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 16 21:23:02 2010 +0000
80 column cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96393 91177308-0d34-0410-b5e6-96231b3b80d8
commit feaea7beb8e8d2f4cdc8a9b9d0edeb5f443162ec
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 16 21:16:08 2010 +0000
New testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96391 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57fa1e6039d5414abe846d8b8b4a7348b9ca2299
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 16 21:09:44 2010 +0000
Look for SSE and instructions of this form: (and x, (build_vector c1,c2,c3,c4)).
If there exists a use of a build_vector that's the bitwise complement of the mask,
then transform the node to
(and (xor x, (build_vector -1,-1,-1,-1)), (build_vector ~c1,~c2,~c3,~c4)).
Since this transformation is only useful when 1) the given build_vector will
become a load from constpool, and 2) (and (xor x -1), y) matches to a single
instruction, I decided this is appropriate as a x86 specific transformation.
rdar://7323335
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96389 91177308-0d34-0410-b5e6-96231b3b80d8
commit d926bc7168536737dcb44b6b15ac11d78dddaaf8
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 16 21:07:46 2010 +0000
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96388 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74fd8d32929a7b076649f82b218f5d4d9aa0e03a
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 16 21:06:42 2010 +0000
Rename SuccessorNumber to GetSuccessorNumber.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96387 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d620a400b1479e1a4a37424b9c9fa325907f1ff
Author: David Greene <greened@obbligato.org>
Date: Tue Feb 16 20:50:18 2010 +0000
Add support for emitting non-temporal stores for DAGs marked
non-temporal. Fix from r96241 for botched encoding of MOVNTDQ.
Add documentation for !nontemporal metadata.
Add a simpler movnt testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96386 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2fadab28bfcef8470d12c068616ada11cbd683f5
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 16 20:48:55 2010 +0000
Testcase for critical edge splitting with load PRE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96385 91177308-0d34-0410-b5e6-96231b3b80d8
commit fef89ea2a62eaba2e0743530ac3530f00b817039
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 16 20:42:29 2010 +0000
Update Thumb2 to not use CarryDefIsUnused or CarryDefIsUsed predicates, but
to have the predicate on the pattern itself instead. Support for the new
ISel. Remove definitions of CarryDefIsUnused and CarryDefIsUsed since they are
no longer used anywhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96384 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8c650aa2c53a07d466ccf6845b7821768aa1d7d
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 16 20:35:59 2010 +0000
Remove redundant setting of Defs. CPSR is already marked by the block level set of Defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96383 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9e9c208698b4243e9a9a260ea5b1dbc34dc2694
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 16 20:25:07 2010 +0000
Refactor rewriting for PHI nodes into a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96382 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee58357256ebbf38229782dd30b8d5bdda0bdfcd
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 16 20:17:57 2010 +0000
First step in eliminating the CarryDefIsUnused and CarryDefIsUsed predicates.
They won't work with the new ISel mechanism, as Requires predicates are no
longer allowed to reference the node being selected. Moving the predicate to
the patterns instead solves the problem.
This patch handles ARM mode. Thumb2 will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96381 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77992fea5250cb63b179847da70dc42f91962c35
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 16 20:04:27 2010 +0000
Added for disassembly the following instructions:
o Store Return State (SRSW, SRS)
o Load/Store Coprocessor (LDC/STC and friends)
o MSR (immediate)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96380 91177308-0d34-0410-b5e6-96231b3b80d8
commit c9b39793e3f4dc0e33f898786ab7d7f7936083d4
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 16 19:51:59 2010 +0000
Split critical edges as needed for load PRE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96378 91177308-0d34-0410-b5e6-96231b3b80d8
commit 39eaa32127cf3250d6f2c6be289ee036038e5906
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 16 19:49:17 2010 +0000
Refactor to share code to find the position of a basic block successor in the
terminator's list of successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96377 91177308-0d34-0410-b5e6-96231b3b80d8
commit b7760d0e0606a822021c0159226242f3b007f9e2
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 16 19:42:34 2010 +0000
Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96372 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6680cd2dc9be8f353f9d5d494127e2c716e7fb38
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date: Tue Feb 16 19:28:02 2010 +0000
Function attributes have index ~0, not 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96370 91177308-0d34-0410-b5e6-96231b3b80d8
commit c7ce535453a375581f8d9857c5f17715bddbdc5d
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 19:19:58 2010 +0000
simplify this code. In the new world order there is no
need to scan the entire subtree of the pattern anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96369 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1b6280131fc345cd67c6246a800a886cc280c37
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 19:15:55 2010 +0000
convert the new matcher to check intermediate nodes for a single
use and only call IsProfitableToFold/IsLegalToFold on the load
being folded, like the old dagiselemitter does. This
substantially simplifies the code and improves opportunities for
sharing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96368 91177308-0d34-0410-b5e6-96231b3b80d8
commit d93d4503a10f8e4f7a3a2be7a32e57ab790a0fb9
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 19:03:34 2010 +0000
change dag isel emitter to only call 'IsProfitableToFold' on nodes
with chains. On interior nodes that lead up to them, we just directly
check that there is a single use. This generates slightly more
efficient code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96366 91177308-0d34-0410-b5e6-96231b3b80d8
commit f25ffc2eaca3ca1720444abe9993baa41380ac8d
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Feb 16 17:24:15 2010 +0000
Fix pr6111: Avoid using the LR register for the target address of an indirect
branch in ARM v4 code, since it gets clobbered by the return address before
it is used. Instead of adding a new register class containing all the GPRs
except LR, just use the existing tGPR class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96360 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1c5b8bfbb203c63720dfb83dce31625b9924a7c
Author: Duncan Sands <baldrick@free.fr>
Date: Tue Feb 16 14:50:09 2010 +0000
Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some
methods to try to have the type predicates be more logically positioned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96349 91177308-0d34-0410-b5e6-96231b3b80d8
commit 00f2a6b91ad2dbbce9edfecce9caa47d72ffac93
Author: Duncan Sands <baldrick@free.fr>
Date: Tue Feb 16 11:11:14 2010 +0000
There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
commit 10b11b5ee8b0dc0c620565411e2ef5c1af4d1ca8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Tue Feb 16 10:25:04 2010 +0000
Minor warning fixes (semicolons, newline at EOF).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96343 91177308-0d34-0410-b5e6-96231b3b80d8
commit f74051bfc6788ab0af465b7629aa213e5c381dcc
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 07:26:36 2010 +0000
mark all the generated node predicates 'const'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96337 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e4ed1a4543e88e5697469e24f17e800169c3129
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 07:21:10 2010 +0000
generate code for node and pattern predicates. Note that this won't
build if enabled, it will fail with constness issues. I'll resolve
these next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96336 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a6eebb2aebde9f605906bb08ab0b0f1ed228572
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 06:52:01 2010 +0000
refactor some code into a local class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96334 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2dd2f23953a69ec2c342d5421982db02af3d7f24
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 06:15:00 2010 +0000
remove now dead code and fixme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96333 91177308-0d34-0410-b5e6-96231b3b80d8
commit 638838d250bc239a714c16a3268cfe6d61013161
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 06:14:22 2010 +0000
remove dead code. This is never generated for any targets in mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96332 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6556761e463fa7022b3000a7f674501872f8607
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 06:10:58 2010 +0000
add support for the new isel matcher to generate
(isprofitable|islegal)tofold checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96331 91177308-0d34-0410-b5e6-96231b3b80d8
commit ab38222131e3e43a366e4da26aea0cc8e0ca4b8a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 16 05:03:17 2010 +0000
make pcrel immediate values relative to the start of the field,
not the end of the field, fixing rdar://7651978
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96330 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8b666cda8f23b02e7e37a50baad79e547299977b
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Feb 16 03:45:23 2010 +0000
Fix a typo in an LLVMOpcode enum. LLVMTrunk -> LLVMTrunc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96324 91177308-0d34-0410-b5e6-96231b3b80d8
commit d07191c7433f724ab011dc8dd066405b7d6a8543
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date: Tue Feb 16 03:45:17 2010 +0000
Fix some ocaml documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96323 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6fe8877a1160488bbe6b99bf57e89bd2c8537cca
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Tue Feb 16 03:41:07 2010 +0000
The code section for an ISR has a specific address.
Currently, whether a function is ISR or not is encoded in the section attribute for that function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96322 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0667d716109d2962b78895f11c6569c19ddf39de
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 16 01:57:28 2010 +0000
Handle DBG_VALUE mixed with labels when doing PHI
elimination. Before a DBG_VALUE could affect codegen.
The solution here is imperfect and not final.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96318 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9bbef3224217647a4ebd7dfa8fd96c0c242bd4e7
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Tue Feb 16 01:50:18 2010 +0000
Drop support for the InReg attribute on the ppc backend. This was used by
llvm-gcc but has been replaced with pad argument which don't need any
special backend support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96312 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74122dc59729d434f36bd9616da6a48ebe710bba
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 16 01:42:53 2010 +0000
Split the main for-each-use loop again, this time for GenerateTruncates,
as it also peeks at which registers are being used by other uses. This
makes LSR less sensitive to use-list order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96308 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56d339fd25e7fab39d24ffb2b9f526f462d70902
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 16 01:27:47 2010 +0000
Reapply 96294; now that I've gotten around to looking
at older buildbot messages, I see the failure predates
this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96307 91177308-0d34-0410-b5e6-96231b3b80d8
commit 146ea06aba961faffacce13ea7ef13bfc1bc0034
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Feb 16 00:58:02 2010 +0000
Apply patch from http://llvm.org/bugs/attachment.cgi?id=4136 now that PR5004 is
finished.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96304 91177308-0d34-0410-b5e6-96231b3b80d8
commit 308a961045b0f98cbb7ec563d714af28ea22cc57
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 16 00:43:58 2010 +0000
Something broke. Hard to believe it was this patch
but it's harder to believe it's the other candidate,
so reverting. Temporarily I hope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96303 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e08033bba79f68e5026dba6bff8b2c88f4969f0
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 16 00:20:08 2010 +0000
When reusing an existing PHI node in a loop, be even more
strict about the requirements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96301 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32e19800e215b85fa3add4e80dd02a41cf0c57ce
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 15 23:43:47 2010 +0000
Put repeated empty pattern into the AQI instruction class.
We could almost use a multiclass for the signed/unsigned instructions, but
there are only 6 of them so I guess it's not worth it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96297 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f4ee011ff7bf7b42502ce88731bcd87271847e9
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 15 23:16:53 2010 +0000
Fix a memory leak. Patch by Nicolas Geoffray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96295 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d3f45c5a477928f872cba01f9224955b3a3b24e
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 15 23:05:03 2010 +0000
More handling of DBG_VALUE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96294 91177308-0d34-0410-b5e6-96231b3b80d8
commit 865e8c7081d5ab11222986a6798f1ce58a618080
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:55:13 2010 +0000
Add missed entry to cmake build list file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96292 91177308-0d34-0410-b5e6-96231b3b80d8
commit a55abaffd833a86872e2e33b00eafda8a15c36f9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:38:25 2010 +0000
Use ttype encoding consistently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96290 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38d61a078546b3e111a46bc425ce585b76cdf5d2
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:38:10 2010 +0000
Fix a silly darwin-only typo introduced during merge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96289 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfda2e31ac49f798133c388273797c2b542de9e9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:37:53 2010 +0000
Move TLOF implementations to libCodegen to resolve layering violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96288 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4200bc29ff68ab1594cda5b2eee048e0c8359eb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:36:41 2010 +0000
It turns out that we emitted completely wrong common EH frame since the early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96287 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb1b1a8e83983d1b587f4b0366399ef73ae8b0ca
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:36:26 2010 +0000
Add suffix for stubs, so we won't have name clashes with private symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96286 91177308-0d34-0410-b5e6-96231b3b80d8
commit a8b5cf127ff2b6bc0058933115e479a5d2d19605
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Mon Feb 15 22:35:59 2010 +0000
Preliminary patch to improve dwarf EH generation - Hooks to return Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96285 91177308-0d34-0410-b5e6-96231b3b80d8
commit 83540cf4ee16238a036905f916ff450beef5136b
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Feb 15 22:09:09 2010 +0000
Teach the verifier to check the condition on a branch and ensure that it has
'i1' type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96282 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc3c0a23abd0dde7266c4a26a94da33ad11dfa9a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Mon Feb 15 22:03:29 2010 +0000
Fix PR6300.
A virtual register can be used before it is defined in the same MBB if the MBB
is part of a loop. Teach the implicit-def pass about this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96279 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3aa3691a322badcabcf0507fc5d418af3a245c21
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 15 21:56:40 2010 +0000
Last week we were generating code with duplicate induction variables in this
test, but the problem seems to have gone away today. Add a check to make sure
it doesn't come back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96277 91177308-0d34-0410-b5e6-96231b3b80d8
commit 64bc51ccf6c4d6feb599bb3926dd6be78c47ed0a
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Feb 15 21:52:04 2010 +0000
Fix crash in VerifyType when checking Contexts. Because there may not be a
Module (we were called with verifyFunction and an unowned Function) we can't
rely on Mod->getContext().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96275 91177308-0d34-0410-b5e6-96231b3b80d8
commit fce19f702065e5508104b97d398b421b0ae15548
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Feb 15 21:27:56 2010 +0000
Don't try to materialize a function that isn't materializable anyways. This
fixes a crash using FPM on a Function that isn't owned by a Module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96273 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5b71ecaa3ebeb3b1cab0dcffac87ea2234e4ae2
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Mon Feb 15 21:27:20 2010 +0000
A function with no Module owner isn't materializable. This fixes F->dump() for
functions not embedded within modules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96272 91177308-0d34-0410-b5e6-96231b3b80d8
commit bdf8ea5260cbc0da97b97c6375f5a08f91f544f0
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 21:14:50 2010 +0000
remove empty file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96271 91177308-0d34-0410-b5e6-96231b3b80d8
commit 29fb7359e9c95c60e25d6c6ec04226258e2f23d1
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Feb 15 21:08:22 2010 +0000
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96269 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2701109863eb6d7429f7466872be024975d250f6
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Feb 15 20:53:17 2010 +0000
Remove c++ style comments from c header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96266 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa926c2fa04593fcba3ac8c2be1e2d190de2a43e
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 20:53:01 2010 +0000
revert r96241. It breaks two regression tests, isn't documented,
and the testcase needs improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96265 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5649118a2dbf2c08001b2fbb0d14368452a170b1
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Feb 15 20:50:51 2010 +0000
Renumber Instruction enums in llvm-c.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96264 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06cbf699410d304f30bae868d77c24dd4d4c06db
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 20:47:49 2010 +0000
fix PR6305 by handling BlockAddress in a helper function
called by jump threading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96263 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c2a2ee1e16b8ea0e06b90e6144b8c530a02ba47
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 15 19:41:07 2010 +0000
Split SelectionDAGISel::IsLegalAndProfitableToFold to
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use.
This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96255 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1c2c36ec20ff2725c64b0f0abae8d31cfbedd6b5
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 18:55:04 2010 +0000
comment fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96248 91177308-0d34-0410-b5e6-96231b3b80d8
commit 22592eb38c87f396aa04c046a16e83045e6baea3
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 17:02:56 2010 +0000
Add support for emitting non-temporal stores for DAGs marked
non-temporal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96241 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06fd33bfbf6f211c48b4fd3ceeb04a3e110567da
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 17:00:31 2010 +0000
Add non-temporal flags and remove an assumption of default arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96240 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6b2f30ed619ffc3bcb0e661cad06160cc4ecc437
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:57:43 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96239 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1259402d5897c33be616a852ed4562de73a676b7
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:57:13 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96238 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4b152e3a7279b532f9341c9a0d68d3bd0d5b9820
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:57:02 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96237 91177308-0d34-0410-b5e6-96231b3b80d8
commit 61b1ae04b047927e8d446379ead249b894870b6b
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:56:53 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96236 91177308-0d34-0410-b5e6-96231b3b80d8
commit 633141d5738691281f96cfa0785299001d9dfa69
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:56:34 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96235 91177308-0d34-0410-b5e6-96231b3b80d8
commit c534755355037f2a75b39518aaa3a48f341c1253
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:56:22 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96234 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20cbce0f2c3e4ec73b27fd36b34babdcd6ce942a
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:56:10 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96233 91177308-0d34-0410-b5e6-96231b3b80d8
commit ec311a98211de0c5949700e7196a67cc24b5666e
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:55:58 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96232 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25e1f1a2577aa77accd8f74f7a70ae85701b5706
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:55:37 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96231 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31403f268e554af4c9764775df246d61762133b7
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:55:24 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96230 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33f0e02d5336a1719fb7b2d3c9c72b22ede654bb
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:55:07 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96229 91177308-0d34-0410-b5e6-96231b3b80d8
commit 82394ef82056375bf752676859c219791996319e
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:53:33 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96228 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf22e0946e6fe86ccd4c421a4b22ce7214f7cf5d
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:49:52 2010 +0000
Remove an assumption of default arguments. This is in anticipation of a
change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96227 91177308-0d34-0410-b5e6-96231b3b80d8
commit a870e9d00ccdf325bd441638e79d0ea799233835
Author: David Greene <greened@obbligato.org>
Date: Mon Feb 15 16:48:31 2010 +0000
Add non-temporal flags to MachineMemOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96226 91177308-0d34-0410-b5e6-96231b3b80d8
commit a1acb80d4e42f7a5a0fff08737d068afb5601149
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 15 16:12:20 2010 +0000
Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223 91177308-0d34-0410-b5e6-96231b3b80d8
commit b743e68144f4a59dac95dc80251fd794ba58e8d8
Author: Oscar Fuentes <ofv@wanadoo.es>
Date: Mon Feb 15 15:17:05 2010 +0000
CMake: Fixed syntax in conditional.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96221 91177308-0d34-0410-b5e6-96231b3b80d8
commit 011dfdfde2e50769b9f276ad614bd888b12fc7ae
Author: Andrew Lenharth <alenhar2@cs.uiuc.edu>
Date: Mon Feb 15 15:00:44 2010 +0000
Fix changes from r75027
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96220 91177308-0d34-0410-b5e6-96231b3b80d8
commit d31ee026569a5f24c445267e016cf9910583ecd1
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 15 10:28:37 2010 +0000
When testing whether a given SCEV depends on a temporary symbolic
name, test whether the SCEV itself is that temporary symbolic name,
in addition to checking whether the symbolic name appears as a
possibly-indirect operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96216 91177308-0d34-0410-b5e6-96231b3b80d8
commit 657373b3503c19e66e2dd7a396f14b8986883f81
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 08:04:42 2010 +0000
Check in the first big step of rewriting DAGISelEmitter to
produce a table based matcher instead of gobs of C++ Code.
Though it's not done yet, the shrinkage seems promising,
the table for the X86 ISel is 75K and still has a lot of
optimization to come (compare to the ~1.5M of .o generated
the old way, much of which will go away).
The code is currently disabled by default (the #if 0 in
DAGISelEmitter.cpp). When enabled it generates a dead
SelectCode2 function in the DAGISel Header which will
eventually replace SelectCode.
There is still a lot of stuff left to do, which are
documented with a trail of FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96215 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0dc91ca186b2e7dd7c308c4e6cf7d3e7969ca5e3
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 07:11:34 2010 +0000
give SDValue an operator->, allowing V->isTargetOpcode() and
many other natural things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96214 91177308-0d34-0410-b5e6-96231b3b80d8
commit f02f4757dc20afc15f8a81a882b4f1ecefd00077
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 06:39:31 2010 +0000
don't make insanely large node numbers for no reason,
packing somewhat densely is better than not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96213 91177308-0d34-0410-b5e6-96231b3b80d8
commit a4aac10ec660a06e22dce191128eb5024ab21518
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 06:38:41 2010 +0000
no need to add the instruction count anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96212 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1bba1bac8b95c78b92a4a72b5705e2a25713755f
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Mon Feb 15 03:17:06 2010 +0000
Revert r96130 ("Forward parameter options as '-option=param'").
This behaviour must be configurable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96210 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd9b922998ba89ea8f5d1189eace6e32789abaad
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 02:18:26 2010 +0000
enhance raw_svector_ostream::write_impl to work with unbuffered streams,
which may call write_impl on things that are not the usual buffer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96209 91177308-0d34-0410-b5e6-96231b3b80d8
commit 55386b01a4cecd00ced70506053c42a484377f97
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 15 02:17:50 2010 +0000
make PadToColumn return the stream so you can use:
OS.PadToColumn(42) << "foo";
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96208 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2fb413bb51d0dee81a73bd9172f9143a34131f00
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 15 01:45:47 2010 +0000
Ignore DBG_VALUE in a couple more places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96207 91177308-0d34-0410-b5e6-96231b3b80d8
commit f26cfe1cb289c64d1b4837ee27cf8a82c807c52b
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 15 00:21:43 2010 +0000
When restoring a saved insert location, check to see if the saved
insert location has become an "inserted" instruction since the time
it was saved. If so, advance to the first non-"inserted" instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96203 91177308-0d34-0410-b5e6-96231b3b80d8
commit ace26149d15397912b33d27b2581d5c8152ff748
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 22:33:49 2010 +0000
constize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96199 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8205a02f245f50066f35d18b185b10f6991437a
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 22:22:58 2010 +0000
clean up a bunch of code, move some random predicates
on TreePatternNode to be methods on TreePatternNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96197 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7345cb780331e29aaf65aac22dd0fa47cb2ab3a
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:53:19 2010 +0000
mark "addr" as having type "iPTR", eliminating some type comparisons
in hte generated dag isel fil.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96193 91177308-0d34-0410-b5e6-96231b3b80d8
commit d61d15ec8e1c357e5b95d2cb5165134f8a969d49
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:11:53 2010 +0000
remove the DisablePatternForFastISel predicate, which is a check
that predated -fast-isel which attempted to speed up the dag pattern
matchers at -O0. Since fast-isel is around, this is basically
obsolete and removing it shrinks the generated dag isels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96188 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5e3d5991f3236a4d47a10fed9b3a49fdac06e873
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:10:33 2010 +0000
add an insertion operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96187 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9579a01585fd387c4d3d4dcc422b6adcec0d91d4
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 21:10:15 2010 +0000
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96186 91177308-0d34-0410-b5e6-96231b3b80d8
commit 99fca24dccf031de508b81747ae8370f86360845
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 18:51:39 2010 +0000
Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96179 91177308-0d34-0410-b5e6-96231b3b80d8
commit c406240f44cb131e976cb4d51b7ab83a7b0b0ed9
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 18:51:20 2010 +0000
Fix a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96178 91177308-0d34-0410-b5e6-96231b3b80d8
commit 82460b98c2e062fd5148427a9cb1cb78a4909769
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 18:50:49 2010 +0000
When complicated expressions are broken down into subexpressions
with multiplication by constants distributed through, occasionally
those subexpressions can include both x and -x. For now, if this
condition is discovered within LSR, just prune such cases away,
as they won't be profitable. This fixes a "zero allocated in a
base register" assertion failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96177 91177308-0d34-0410-b5e6-96231b3b80d8
commit 40742a3a3882348c797524c7c86a9ec5814725aa
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Sun Feb 14 18:27:42 2010 +0000
fixes to pagesel/banksel inserter.
1. restore these across direct/indirect calls.
2. restore pagesel for any macros with gotos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96175 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33e8473580e0fbf1f3a69fdc43933f5587017f55
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Feb 14 18:25:41 2010 +0000
Forgot to commit the header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96174 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc2ace8a01bf1365ef8ee7b51c5c11ae8948fa0d
Author: Chris Lattner <sabre@nondot.org>
Date: Sun Feb 14 18:20:09 2010 +0000
follow-on to PR6280
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96172 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47600ebabd031883ce4391d8b6cb731be4fdb52a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sun Feb 14 15:19:54 2010 +0000
Drop winmcasminfo and use normal AT&T COFF for all windows targets.
Otherwise AT&T asm printer is used with non-compatible MCAsmInfo and
there is no way to override this behaviour.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96165 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3efdcb0c01aaf4f8ce026b8951a1355c07ea83ac
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sun Feb 14 06:32:20 2010 +0000
Try to factorize the specification of saturating add/subtract operations a bit,
as suggested by Bob Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96153 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a3f2908bb5c8bb7a7a431b46da88c0312fbf07f
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 03:21:49 2010 +0000
Actually, this code doesn't have to be quite so conservative in
the no-TLI case. But it should still default to declining the
transformation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96152 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8bbd4650fd1deb087fc0d14ef7ddd75433a56f61
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 03:12:47 2010 +0000
In rememberInstruction, if the value being remembered is the
current insertion point, advance the current insertion point.
This avoids a use-before-def situation in a testcase extracted
from clang which is difficult to reduce to a reasonable-sized
regression test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96151 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0c74bfa2a1ddd7a2ef248b0230fedf9876b8f575
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 02:48:58 2010 +0000
Simplify this code; no need for a custom subclass if it doesn't need
to override anything from the parent class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96150 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74fca1b9ff661b978f7618e0728f73e0fdd54a6d
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 02:47:26 2010 +0000
Remove a 'protected' keyword, now that SCEVExpander is no longer
intended to be subclassed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96149 91177308-0d34-0410-b5e6-96231b3b80d8
commit f264808f2cb4a8b38128c3a7ae2b4f1d879d3a4e
Author: Dan Gohman <gohman@apple.com>
Date: Sun Feb 14 02:45:21 2010 +0000
Don't attempt aggressive post-inc uses if TargetLowering is not available,
because profitability can't be sufficiently approximated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96148 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2aed470b47f8328773c0ddb95cf580fd3925d934
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sun Feb 14 01:47:19 2010 +0000
2.7: Note that DataTypes.h moved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96143 91177308-0d34-0410-b5e6-96231b3b80d8
commit eead7ba8da9d823e3bc0a65749598cab9884a89f
Author: John McCall <rjmccall@apple.com>
Date: Sat Feb 13 23:40:16 2010 +0000
Make LSR not crash if invoked without target lowering info, e.g. if invoked
from opt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96135 91177308-0d34-0410-b5e6-96231b3b80d8
commit 44f9090da450cf9dacfb75992fd9aeb26f68fc4d
Author: Eric Christopher <echristo@apple.com>
Date: Sat Feb 13 23:38:01 2010 +0000
Fix a problem where we had bitcasted operands that gave us
odd offsets since the bitcasted pointer size and the offset pointer
size are going to be different types for the GEP vs base object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96134 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8042b4e7edc9d542d2e58143943ffb3beaed9390
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:37:28 2010 +0000
Forward parameter options as '-option=parameter'.
Some tools do not like the '-option parameter' form. Should this be
configurable?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96130 91177308-0d34-0410-b5e6-96231b3b80d8
commit 92cd5e38ac6edcef4b749c69b80746c4259989a2
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:37:13 2010 +0000
Support some more Darwin-only options.
We really need a conditional compilation mechanism...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96129 91177308-0d34-0410-b5e6-96231b3b80d8
commit 49f2808120c4d0f15687725809b0e536474e791a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:37:00 2010 +0000
Support -mfix-and-continue properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96128 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50d6b85789129c236b23be735e1b32dd63abc8ca
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Sat Feb 13 22:36:43 2010 +0000
Revert r94752, turns out we don't need to touch these options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96127 91177308-0d34-0410-b5e6-96231b3b80d8
commit f23debd520b74ad86a216ada0e01f7fd0ffc61e2
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 22:23:47 2010 +0000
Trim trailing spaces (aka, trigger rebuild).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96126 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b0a6878e6c460e05f4b03c46bac57a7fa59a59c
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 20:06:50 2010 +0000
pull a bunch of huge inline methods in the PatternCodeEmitter
class out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96113 91177308-0d34-0410-b5e6-96231b3b80d8
commit 663660c70218e3a2d5278c28c9565a818151c332
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 19:16:53 2010 +0000
teach the encoder to handle pseudo instructions like FP_REG_KILL,
encoding them into nothing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96110 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30b038f436af6b6fd4628abf88d49d40c23d0fc1
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 19:07:06 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96109 91177308-0d34-0410-b5e6-96231b3b80d8
commit e253572d2fad7b182b894cbc7289ffc3375560f6
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:45:59 2010 +0000
MCAssembler: Fix pcrel relocations. Oh and,
--
ddunbar@ozzy:tmp$ clang -m32 -integrated-as hello.c && ./a.out
hello world!
--
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96096 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf1ebe1dbfdd13d852f13bf8d6974f3f5d87a0d4
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:29:02 2010 +0000
MC/Mach-O: Start emitting fixups/relocations for instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96095 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc7fba3c3fed472e1ad8dc3e649dd60482500e98
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:54 2010 +0000
MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96094 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f39f69797b8f84d4a40ab7ba02a93f55996444c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:43 2010 +0000
MCAssembler: Sink fixup list into MCDataFragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96093 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6e60008ce79947b3de0cfaf1db17750a162c93aa
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:32 2010 +0000
MCAssembler: Switch MCFillFragment to only taking constant values. Symbolic expressions can always be emitted as data + fixups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96092 91177308-0d34-0410-b5e6-96231b3b80d8
commit 09b30df90d48aca2e01f3f79e5067796f221f058
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:22 2010 +0000
MC/Mach-O: Implement EmitValue using data fragments + fixups instead of fill fragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96091 91177308-0d34-0410-b5e6-96231b3b80d8
commit 290d22e0420d15aa4ea88760f8e3e4dacc97892f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:15 2010 +0000
MCAssembler: Start applying fixups in the data section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96090 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb1e5f4b351ffa37946abf905337573a8dc0f70b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:28:03 2010 +0000
MCAssembler: Add assorted dump() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96089 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed2a7790092b11455a8595c78c875f5f975e4162
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 09:27:52 2010 +0000
X86: Move extended MCFixupKinds into X86FixupKinds.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96088 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca1cd7f210bbbb36d3124bf4acc3a04631042752
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 05:35:08 2010 +0000
Split some code out to a helper function (FindReusablePredBB)
and add a doxygen comment.
Cache the phi entry to avoid doing tons of
PHINode::getBasicBlockIndex calls in the common case.
On my insane testcase from re2c, this speeds up CGP from
617.4s to 7.9s (78x).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96083 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdfc77eb6fbafeed46c78bc811fcc2209946c066
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 05:01:14 2010 +0000
Speed up codegen prepare from 3.58s to 0.488s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96081 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74a9792208d00e0f761b05f81ffeafbace02c098
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 04:24:19 2010 +0000
PHINode::getBasicBlockIndex is O(n) in the number of inputs
to a PHI, avoid it in the common case where the BB occurs
in the same index for multiple phis. This speeds up CGP on
an insane testcase from 8.35 to 3.58s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96080 91177308-0d34-0410-b5e6-96231b3b80d8
commit b57f90e32d5fe848d9f74f11a28bc850bde69e87
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 04:15:26 2010 +0000
iterate over preds using PHI information when available instead of
using pred_begin/end. It is much faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96079 91177308-0d34-0410-b5e6-96231b3b80d8
commit ecdb218b1b4d1f8ab7bf8d17b0c9ec123e8cd566
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 04:04:42 2010 +0000
speed up CGP a bit by scanning predecessors through phi operands
instead of with pred_begin/end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96078 91177308-0d34-0410-b5e6-96231b3b80d8
commit a17ee30ede09175873860c5dead5c87c4f998729
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 03:42:24 2010 +0000
add encoder support and tests for rdtscp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96076 91177308-0d34-0410-b5e6-96231b3b80d8
commit d12893a3644282505cc9646c5b105377b431f48a
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sat Feb 13 02:51:09 2010 +0000
Add SETEND and BXJ instructions for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96075 91177308-0d34-0410-b5e6-96231b3b80d8
commit 16468d9e438555645102fbb2778432bd35abd4c3
Author: Sean Callanan <scallanan@apple.com>
Date: Sat Feb 13 02:06:11 2010 +0000
Added the rdtscp instruction to the x86 instruction
tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96073 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0cf36cd25850354adaf0f3edf3de938e0ec3bc80
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sat Feb 13 02:06:10 2010 +0000
Fix PR6283.
When coalescing with a physreg, remember to add imp-def and imp-kill when
dealing with sub-registers.
Also fix a related bug in VirtRegRewriter where substitutePhysReg may
reallocate the operand list on an instruction and invalidate the reg_iterator.
This can happen when a register is mentioned twice on the same instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96072 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f5f11fcbf30f78b7a5329a531e27f245db19c45
Author: Dan Gohman <gohman@apple.com>
Date: Sat Feb 13 02:06:02 2010 +0000
Fix a pruning heuristic which implicitly assumed that SmallPtrSet is
deterministically sorted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96071 91177308-0d34-0410-b5e6-96231b3b80d8
commit eff3bca8f97276e92e90f8d56c9e4291a66c4341
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 13 01:56:41 2010 +0000
Teach MachineFrameInfo to track maximum alignment while stack objects are being
created. This ensures it's updated at all time. It means targets which perform
dynamic stack alignment would know whether it is required and whether frame
pointer register cannot be made available register allocation.
This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test
case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96069 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e628ba996e2e2af6de56252cca6e53f426301b7
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sat Feb 13 01:51:53 2010 +0000
Enable the inlinehint attribute in the Inliner.
Functions explicitly marked inline will get an inlining threshold slightly
more aggressive than the default for -O3. This means than -O3 builds are
mostly unaffected while -Os builds will be a bit bigger and faster.
The difference depends entirely on how many 'inline's are sprinkled on the
source.
In the CINT2006 suite, only these tests are significantly affected under -Os:
Size Time
471.omnetpp +1.63% -1.85%
473.astar +4.01% -6.02%
483.xalancbmk +4.60% 0.00%
Note that 483.xalancbmk runs too quickly to give useful timing results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96066 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d3a51e5f880151165ac69bba2515f328ed66515
Author: Sean Callanan <scallanan@apple.com>
Date: Sat Feb 13 01:48:34 2010 +0000
Fixed encodings for invlpg, invept, and invvpid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96065 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58d70fd72375c42ccbb96705419ed1e13a44fdc7
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 01:28:07 2010 +0000
MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we avoid fixups for obvious cases like '-(16)'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96064 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbc39e6574315ebfefa022c80b089212f9bb796e
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sat Feb 13 01:21:01 2010 +0000
Added a bunch of saturating add/subtract instructions for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96063 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3116cb4e9495b87fdab0c951cc7d155f6b33b6c3
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 00:49:29 2010 +0000
rip out the 'heinous' x86 MCCodeEmitter implementation.
We still have the templated X86 JIT emitter, *and* the
almost-copy in X86InstrInfo for getting instruction sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96059 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7045e8c400a5496101069eb11da81da4a40ccad0
Author: Chris Lattner <sabre@nondot.org>
Date: Sat Feb 13 00:41:14 2010 +0000
remove special cases for vmlaunch, vmresume, vmxoff, and swapgs
fix swapgs to be spelled right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96058 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62b451b2ee84750519f2508d2945ed576a1cd034
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 13 00:31:44 2010 +0000
Besides removing phi cycles that reduce to a single value, also remove dead
phi cycles. Adjust a few tests to keep dead instructions from being optimized
away. This (together with my previous change for phi cycles) fixes Apple
radar 7627077.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96057 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7f18489ed04021e50814b8b8232e2c303f5bd89
Author: Dan Gohman <gohman@apple.com>
Date: Sat Feb 13 00:19:39 2010 +0000
Override dominates and properlyDominates for SCEVAddRecExpr, as a
SCEVAddRecExpr doesn't necessarily dominate blocks merely dominated
by all of its operands. This fixes an abort compiling 403.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96056 91177308-0d34-0410-b5e6-96231b3b80d8
commit 96b7ae4a9f1f68fd1cf9ec8c8bd828aa40fdf7c5
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Feb 13 00:17:21 2010 +0000
MC/X86: Push immediate operands as immediates not expressions when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96055 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8587b0bf8eb4a2d867b2a0243b4a115221df45dd
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Sat Feb 13 00:03:17 2010 +0000
Make PassRegistrar thread-safe since it can be modified by code running in
separate LLVMContexts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96051 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11203379493732fa422589f5c9ff46e7ae4e17c3
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:54:57 2010 +0000
Remove special cases for [LM]FENCE, MONITOR and MWAIT from
encoder and decoder by using new MRM_ forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96048 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8002ba66e96485214e3c57b43b4d6eb7706522d1
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:46:48 2010 +0000
add some disassemble testcases for weird instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96045 91177308-0d34-0410-b5e6-96231b3b80d8
commit a37c9b5a95253eb24d2658d55adb1c73b605c915
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Feb 12 23:39:46 2010 +0000
Reworked the Intel disassembler to support instructions
whose opcodes extend into the ModR/M field using the
Form field of the instruction rather than by special
casing each instruction. Commented out the special
casing of VMCALL, which is the first instruction to use
this special form. While I was in the neighborhood,
added a few comments for people modifying the Intel
disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96043 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62574fd778f9c1cd9b8e1404d1ad92daa0e8110f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:24:09 2010 +0000
implement the rest of correct x86-64 encoder support for
rip-relative addresses, and add a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96040 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3aaba2b64692bb1b59451546fba55b4d06fe5df0
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 23:16:24 2010 +0000
Add the problem I just hacked around in 96015/96020.
The solution there produces correct code, but is seriously
deficient in several ways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96039 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5978124b36300af6cb60dfd56c4200d4156eeb0f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:12:47 2010 +0000
give MCCodeEmitters access to the current MCContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96038 91177308-0d34-0410-b5e6-96231b3b80d8
commit faa7feddabee6e3f294785114ef824326268edf4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 12 23:05:31 2010 +0000
Make JIT::runFunction clean up the generated stub function.
Patch by Shivram K!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96037 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0609b1e6d69aa82937e6f54af73c92c6596252da
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 23:00:36 2010 +0000
implement infrastructure to support fixups for rip-rel
addressing. This isn't complete because I need an MCContext
to generate new MCExprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96036 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2ceb228ee2b5482144e935cbe17928f60648c601
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 22:53:19 2010 +0000
Add YIELD, WFE, WFI, and SEV instructions for disassembly only.
Plus add two formats: MiscFrm and ThumbMiscFrm. Some of the for disassembly
only instructions are changed from Pseudo Format to MiscFrm Format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96032 91177308-0d34-0410-b5e6-96231b3b80d8
commit 87ee5c9565c4362991e2fd99adf365f216574eff
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:47:55 2010 +0000
pull the rip-relative addressing mode case up early.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96031 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4410c7506473b5ff6c075356eed07fca9c87ec26
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:39:06 2010 +0000
fixme resolved!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96029 91177308-0d34-0410-b5e6-96231b3b80d8
commit da3abd11aead14b8b5812bb8a5dc7fff0687f399
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:36:47 2010 +0000
start producing reloc_pcrel_4byte/reloc_pcrel_1byte for calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96028 91177308-0d34-0410-b5e6-96231b3b80d8
commit c52c146a6c499821a37e4a260b17dcb65f46e2d1
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 12 22:34:54 2010 +0000
Fix a comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96027 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f45b9dfd57cd29af5a286c95c67e7f8831e6599
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 22:27:07 2010 +0000
enhance the immediate field encoding to know whether the immediate
is pc relative or not, mark call and branches as pcrel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96026 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7312910f142ffc20c8ed466df2808be6e6ffbc65
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 22:17:21 2010 +0000
Load / store multiple instructions cannot load / store sp. Sorry, can't come up with a reasonable test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96023 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78597677837983b2bd54345792c5727e5cb7df0d
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 22:00:40 2010 +0000
This should have gone in with 26015, see comments there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96020 91177308-0d34-0410-b5e6-96231b3b80d8
commit 97637b840f772fd49bbb73c0ec32b578a30ddc59
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 21:59:23 2010 +0000
Add halfword multiply accumulate long SMLALBB/BT/TB/TT for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96019 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0bcde6783ba1ef149066bf5f226ea3b5bb204a62
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 21:54:28 2010 +0000
doxygenize some comments, patch by Peter Collingbourne!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96018 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ccefd1972a73e609d2a4460ef24c4d1277332f
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 21:35:34 2010 +0000
When save/restoring CR at prolog/epilog, in a large
stack frame, the prolog/epilog code was using the same
register for the copy of CR and the address of the save slot. Oops.
This is fixed here for Darwin, sort of, by reserving R2 for this case.
A better way would be to do the store before the decrement of SP,
which is safe on Darwin due to the red zone.
SVR4 probably has the same problem, but I don't know how to fix it;
there is no red zone and R2 is already used for something else.
I'm going to leave it to someone interested in that target.
Better still would be to rewrite the CR-saving code completely;
spilling each CR subregister individually is horrible code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96015 91177308-0d34-0410-b5e6-96231b3b80d8
commit 964eda1b7e6d2c274537d6887598d94afc39cb86
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 20:49:41 2010 +0000
Add support for a union type in LLVM IR. Patch by Talin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96011 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d4b966df8f910f36c5d8e02befd5b8da5c39038
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 20:48:24 2010 +0000
Add SWP (Swap) and SWPB (Swap Byte) for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96010 91177308-0d34-0410-b5e6-96231b3b80d8
commit a477ca64a2ff06c295fc5d79a4ae847044964764
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 20:39:35 2010 +0000
Also recognize armv6t2-* and armv5te-* triplets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96008 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1abb17f23368025054fac2a266293c52308413c7
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 20:39:25 2010 +0000
Fix a case of mismatched types in an Add that turned up in 447.dealII.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96007 91177308-0d34-0410-b5e6-96231b3b80d8
commit db0084c8abbc02963d7087b1b89ed3ecb6bbc5d3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 20:13:44 2010 +0000
Add ARM bitcode file magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96006 91177308-0d34-0410-b5e6-96231b3b80d8
commit b20bd310eda5e159d28993229dabb4f6e481102c
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 19:35:25 2010 +0000
Reapply 95979, a compile-time speedup, now that the bug it exposed is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96005 91177308-0d34-0410-b5e6-96231b3b80d8
commit 91e7b9265d247c5206860c9655fdee62d16a8512
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 19:20:37 2010 +0000
Fix this code to avoid dereferencing an end() iterator in
offset distributions it doesn't expect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96002 91177308-0d34-0410-b5e6-96231b3b80d8
commit f012c07c5e30ab36e1fc81c6e6a27f19dba4fd44
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 18:55:33 2010 +0000
Add CPS, MRS, MRSsys, MSR, MSRsys for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95999 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0abe9e7645ab2f98ceafea4644c210d270a3b5d2
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Feb 12 18:40:17 2010 +0000
Rewrite handling of DBG_VALUE; previous algorithm
didn't handle
X =
Y<dead> = use X
DBG_VALUE(X)
I was hoping to avoid this approach as it's slower,
but I don't think it can be done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95996 91177308-0d34-0410-b5e6-96231b3b80d8
commit e92534406bed8cb0d869cf6f03bf0a0b5e8967e4
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 18:17:23 2010 +0000
1. modernize the constantmerge pass, using densemap/smallvector.
2. don't bother trying to merge globals in non-default sections,
doing so is quite dubious at best anyway.
3. fix a bug reported by Arnaud de Grandmaison where we'd try to
merge two globals in different address spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95995 91177308-0d34-0410-b5e6-96231b3b80d8
commit a996e79bdf9a1e3c94c87657c639ea3a4ff2a3cc
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 18:05:00 2010 +0000
rename test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95993 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ac9e9e4b79e63595606f0c2a1f956b460c1529b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 12 17:27:08 2010 +0000
Revert "Reverse the order for collecting the parts of an addrec. The order", it
is breaking llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95988 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d685a4fab6fd002bfd297096e3571df4deab415
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 12 15:29:13 2010 +0000
Testcases for recent stdcall / fastcall mangling improvements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95982 91177308-0d34-0410-b5e6-96231b3b80d8
commit 412cd99612db589101a9a01cf76109f517045a77
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 12 15:28:56 2010 +0000
Setup correct data layout to match gcc's expectations on mingw32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95981 91177308-0d34-0410-b5e6-96231b3b80d8
commit 24d33f599734b757d8574dbacbbfb7d09f43618d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Fri Feb 12 15:28:40 2010 +0000
Cleanup stdcall / fastcall name mangling.
This should fix alot of problems we saw so far, e.g. PRs 5851 & 2936
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95980 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8ed2ebf5ac86bfd799d9bdc66f99abe73a96620
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 11:08:26 2010 +0000
Reverse the order for collecting the parts of an addrec. The order
doesn't matter, except that ScalarEvolution tends to need less time
to fold the results this way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95979 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5a607b8949e73a508c26771e26f7c30b7cd26c0c
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 12 10:34:29 2010 +0000
Reapply the new LoopStrengthReduction code, with compile time and
bug fixes, and with improved heuristics for analyzing foreign-loop
addrecs.
This change also flattens IVUsers, eliminating the stride-oriented
groupings, which makes it easier to work with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95975 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca41a7d6ca95108aa285a499434a85e65830b200
Author: Lang Hames <lhames@gmail.com>
Date: Fri Feb 12 09:43:37 2010 +0000
* Updated the cost matrix normalization proceedure to better handle infinite costs.
* Enabled R1/R2 application for nodes with infinite spill costs in the Briggs heuristic (made
safe by the changes to the normalization proceedure).
* Removed a redundant header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95973 91177308-0d34-0410-b5e6-96231b3b80d8
commit 864d3c380bfe2a46ca0bb1e45a77232723a040d0
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 07:48:46 2010 +0000
Update test to match 95961.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95971 91177308-0d34-0410-b5e6-96231b3b80d8
commit 253134e443bed0a1abbac39f1159b43103805680
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 02:35:03 2010 +0000
Test for 95961.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95962 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2563a3d8062d011dc92c68bfab12d8aadb96cb14
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 02:06:33 2010 +0000
add a bunch of mod/rm encoding types for fixed mod/rm bytes.
This will work better for the disassembler for modeling things
like lfence/monitor/vmcall etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95960 91177308-0d34-0410-b5e6-96231b3b80d8
commit a11f1f613938c87def9975d1d02d24ab8e031db2
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 12 02:02:23 2010 +0000
Test case for 95958.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95959 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea6d61133cdc7b23708456c2f39b58f2999e8eeb
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 01:55:31 2010 +0000
revert r95949, it turns out that adding new prefixes is not a
great solution for the disassembler, we'll go with "plan b".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95957 91177308-0d34-0410-b5e6-96231b3b80d8
commit a6e257ddfe666a2a5f2d3c785ca0db1bc464ce55
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 12 01:46:54 2010 +0000
MC: Fix bug where trailing tied operands were forgotten; the X86 assembler
matcher is now free of implicit operands!
- Still need to clean up the code now that we don't to worry about implicit
operands, and to make it a hard error if an instruction fails to specify all
of its operands for some reason.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95956 91177308-0d34-0410-b5e6-96231b3b80d8
commit dc6dcfca28dededf4dacff3f810655dafe5f0fc1
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 12 01:44:23 2010 +0000
Added coprocessor Instructions CDP, CDP2, MCR, MCR2, MRC, MRC2, MCRR, MCRR2,
MRRC, MRRc2. For disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95955 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0267dc4352974ba2cc5d21eb434570c7e11b6cde
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Feb 12 01:30:21 2010 +0000
Add a new pass on machine instructions to optimize away PHI cycles that
reduce down to a single value. InstCombine already does this transformation
but DAG legalization may introduce new opportunities. This has turned out to
be important for ARM where 64-bit values are split up during type legalization:
InstCombine is not able to remove the PHI cycles on the 64-bit values but
the separate 32-bit values can be optimized. I measured the compile time
impact of this (running llc on 176.gcc) and it was not significant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95951 91177308-0d34-0410-b5e6-96231b3b80d8
commit dd9673a09a416b6f443c8191f7e4aa5272ab36c3
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 12 01:22:03 2010 +0000
X86: Fix definition for RCL/RCR.*m? operations -- they were getting represented
with "tied memory operands", which is wrong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95950 91177308-0d34-0410-b5e6-96231b3b80d8
commit c70ef3e2792a0a37e3517998f8aa6a7f3e9781df
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 01:15:16 2010 +0000
add another bit of space for new kinds of instruction prefixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95949 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3629bdb8b22324c2bfe33c036fa8cab10511548d
Author: Nate Begeman <natebegeman@mac.com>
Date: Fri Feb 12 01:10:45 2010 +0000
Add a missing pattern for movhps so that we get:
movq (%ecx,%edx,2), %xmm2
movhps (%ecx,%eax,2), %xmm2
rather than:
movq (%eax, %edx, 2), %xmm2
movq (%eax, %ebx, 2), %xmm3
movlhps %xmm3, %xmm2
Testcase forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95948 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76b82cb12274539b254a04a0423006b1a8584844
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 01:06:22 2010 +0000
fix the encodings of monitor and mwait, which were completely
busted in both encoders. I'm not bothering to fix it in the
old one at this point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95947 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30d51dce30851e64cdeb1e6136d6f6d5d879a4db
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 12 00:37:46 2010 +0000
improve support for minix, PR6280, patch by
Kees van Reeuwijk!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95946 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7e5dc6e9bdeefbc238c336bfba82bc403b8b69ac
Author: Charles Davis <cdavis@mines.edu>
Date: Fri Feb 12 00:31:15 2010 +0000
Add a new function attribute, 'alignstack'. It will indicate (when the backends
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95945 91177308-0d34-0410-b5e6-96231b3b80d8
commit c33bef344039f91e8bdc63766252b3c480b6a67a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 23:55:29 2010 +0000
Reapply coalescer fix for better cross-class coalescing.
This time with fixed test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95938 91177308-0d34-0410-b5e6-96231b3b80d8
commit af2b332ed86806c193669dcac77961b2d945b9a3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 22:57:32 2010 +0000
enhance llvm-mc -show-inst to print the enum of an instruction, like so:
testb %al, %al ## <MCInst #2412 TEST8rr
## <MCOperand Reg:2>
## <MCOperand Reg:2>>
jne LBB1_7 ## <MCInst #938 JNE_1
## <MCOperand Expr:(LBB1_7)>>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95935 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68316b7ed1283ed43ef1814d51a3666ae9c30ced
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 22:39:10 2010 +0000
add a new MCInstPrinter::getOpcodeName interface, when it is
implemented, llvm-mc --show-inst now uses it to print the
instruction opcode as well as the number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95929 91177308-0d34-0410-b5e6-96231b3b80d8
commit 13f9209eeea6b78a89e14da0a400c7281984cc1a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Thu Feb 11 21:51:51 2010 +0000
Document binutils requirements for coff targets (cygwin / mingw32).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95928 91177308-0d34-0410-b5e6-96231b3b80d8
commit ef7bd26055041eee137b3b732377e8ec7843b8c8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 21:45:31 2010 +0000
improve encoding information for branches. We now know they have
8 or 32-bit immediates, which allows the new encoder to handle
them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95927 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d0ac4072239b9aea6e993b67470d675c94b497f
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 11 21:29:46 2010 +0000
MC: Move assembler-backend's fixup list into the fragment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95926 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94ad6823bc3bb8e2ce5d285bb8258c6129df8e0c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Thu Feb 11 21:29:29 2010 +0000
MC: Move MCSectionData::Fixup out to MCAsmFixup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95925 91177308-0d34-0410-b5e6-96231b3b80d8
commit 252990b75fb84cd3b8005a8cd2abcdd1e3a7ebcb
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 21:27:18 2010 +0000
make getFixupKindInfo return a const reference, allowing
the tables to be const. Teach MCCodeEmitter to handle
the target-indep kinds so that we don't crash on them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95924 91177308-0d34-0410-b5e6-96231b3b80d8
commit e84ffbd5af615af4b4326b4a5937d8e7725fa875
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 21:19:44 2010 +0000
Revert functional change. This broke a bunch of tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95921 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf922f08f3f3dba6d8f6204270cc9d4df30c3dc3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 21:17:54 2010 +0000
switch to target-indep fixups for 1/2/4/8 byte data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95920 91177308-0d34-0410-b5e6-96231b3b80d8
commit a62b13e4334c3dd03f90db7e9212c5629455cc4a
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 20:58:56 2010 +0000
revert 95903.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95918 91177308-0d34-0410-b5e6-96231b3b80d8
commit bde99e7657bb11b7edf9fcf35467c9497abfd6f8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 20:58:45 2010 +0000
It is always good to do a cross-class join when the large register has a tiny interval.
Also avoid division by zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95917 91177308-0d34-0410-b5e6-96231b3b80d8
commit 892cf047c170383369f88f936e03607b87f2e4c3
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 20:31:08 2010 +0000
Added LDRT/LDRBT/STRT/STRBT for disassembly only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95916 91177308-0d34-0410-b5e6-96231b3b80d8
commit 021109ade238fd0e25cf8c69f7c367a461ea03ae
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 19:52:11 2010 +0000
unbreak the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95915 91177308-0d34-0410-b5e6-96231b3b80d8
commit 34b92a3f30c7e01062f7d7eee5db972a1b1208c8
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 11 19:35:26 2010 +0000
llvm-db was removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95904 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee2e10cf787b7c935085d156343ee9b48033bc86
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 19:35:10 2010 +0000
Destroy MDNodes while destructing llvm context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95903 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9f95edce8035bbea61d68c4fd373e46ae2cd493
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 19:31:22 2010 +0000
refactor x86 conditional branches to use a multipattern
that generates the 1-byte and 4-byte immediate versions
from one definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95902 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c9872327581faf7d85aad5e570973c6f359d77c
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 19:25:55 2010 +0000
refactor the conditional jump instructions in the .td file to
use a multipattern that generates both the 1-byte and 4-byte
versions from the same defm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95901 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1ef56bd34602273702b98cbb28c6a3c589ca70b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 19:15:20 2010 +0000
Make Kaleidoscope not link against the interpreter, since that didn't
work anyway (Interpreter::getPointerToFunction doesn't return a
callable pointer), and improve the error message when an
ExecutionEngine can't be created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95896 91177308-0d34-0410-b5e6-96231b3b80d8
commit df0649adf48fa3343dc1ec95975259777b87b45f
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 11 19:07:04 2010 +0000
Add an svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95895 91177308-0d34-0410-b5e6-96231b3b80d8
commit 98c5eed093b2f21580925541ff971003be227939
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 18:47:03 2010 +0000
Forgot to also check in this file for vcvt (floating-point <-> fixed-point, VFP).
Sorry!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95892 91177308-0d34-0410-b5e6-96231b3b80d8
commit 75f18b48f297a4f31af3d70dcacb6601558d174e
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 11 18:23:23 2010 +0000
Allow for more than one DBG_VALUE targeting the
same dead instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95890 91177308-0d34-0410-b5e6-96231b3b80d8
commit 177849e66e24ccca09fbbd282eaa4f5ed0904de7
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 11 18:22:31 2010 +0000
Don't allow DBG_VALUE to affect codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95889 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56c787f5c53084f7283a8fe47711db65d167c9a5
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 18:17:16 2010 +0000
Added VCVT (between floating-point and fixed-point, VFP) for disassembly.
A8.6.297
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95885 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31a24b15aa460aa543772be3b415f06432630506
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 18:12:29 2010 +0000
Added BKPT/tBKPT (breakpoint) to the instruction table for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95884 91177308-0d34-0410-b5e6-96231b3b80d8
commit d7cf68f307458f6cc214734685f361f530893b4a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 18:06:56 2010 +0000
Use array_pod_sort instead of std::sort for improved code size.
Use SmallVector instead of std::vector for better speed when indirectbr has
few successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95879 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a058c4604c121efbe8d8783c17d1b20605dc938
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 11 17:44:04 2010 +0000
Make sure that ConstantExpr offsets also aren't off of extern
symbols.
Thanks to Duncan Sands for the testcase!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95877 91177308-0d34-0410-b5e6-96231b3b80d8
commit 310f24fcfcf54e6cf1e6ca350b7b431b1c474c51
Author: Johnny Chen <johnny.chen@apple.com>
Date: Thu Feb 11 17:14:31 2010 +0000
Add pseudo instruction TRAP for disassembly, which is encoded according to A5-21
as the "Permanently UNDEFINED" instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95873 91177308-0d34-0410-b5e6-96231b3b80d8
commit 62b33dc015061dc780d345bf5c2e47c3b3c27051
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 11 10:37:57 2010 +0000
Use .empty() instead of .size().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95871 91177308-0d34-0410-b5e6-96231b3b80d8
commit d38bd5ececc6c84836b8ee52d809e2d6e450152a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 08:45:56 2010 +0000
dont' call getX86RegNum on X86::RIP, it doesn't like that. This
fixes the remaining x86-64 jit failures afaik.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95867 91177308-0d34-0410-b5e6-96231b3b80d8
commit 46a26bbf505cc07b5e51d2d7aab9827181cbf9d3
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 08:41:21 2010 +0000
fix a really nasty bug I introduced in r95693: r12 (and r12d,
r12b, etc) also encodes to a R/M value of 4, which is just
as illegal as ESP/RSP for the non-sib version an address.
This fixes x86-64 jit miscompilations of a bunch of programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95866 91177308-0d34-0410-b5e6-96231b3b80d8
commit 321617629bf8b7cec0b12c591acff40ccc278784
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 07:16:13 2010 +0000
Fix (harmless) memory leak found by memcheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95862 91177308-0d34-0410-b5e6-96231b3b80d8
commit ebce12bbcf2508514afc2fa55c7580d46e7e3afe
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 07:06:31 2010 +0000
Add and commonize encoder support for all immediates.
Stub out some dummy fixups to make things work.
We can now emit fixups like this:
subl $20, %esp ## encoding: [0x83,0xec,A]
## fixup A - offset: 2, value: 20, kind: fixup_1byte_imm
Emitting $20 as a single-byte fixup to be later resolved
by the assembler is ridiculous of course (vs just emitting
the byte) but this is a failure of the matcher, which
should be producing an imm of 20, not an MCExpr of 20.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95860 91177308-0d34-0410-b5e6-96231b3b80d8
commit f80c505d83787296cffb3e7495d3b8b7dfc35794
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:54:23 2010 +0000
generalize EmitDisplacementField to work with any size
and rename it to EmitImmediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95859 91177308-0d34-0410-b5e6-96231b3b80d8
commit 97374c6e6a29b7dff39632a1b8dc96ee86e44c1a
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:51:36 2010 +0000
eliminate the dead IsPCRel argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95858 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e07afd152a07b1c6c1d144646f4869e9533dc33
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:49:52 2010 +0000
eliminate the dead "PCAdj" logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95857 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77c7077e8f39f2efa8a74091743af08db20833f4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 06:41:30 2010 +0000
Fix some of the memcheck errors found in the JIT unittests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95856 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f3e09483b108ba4fa6ee06a1ca9540267d7d21b
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:26:33 2010 +0000
Rename ValueRequiresCast to ShouldOptimizeCast, to better reflect
what it does. Enhance it to return false to optimizing vector
sign extensions from vector comparisions, which is the idiom used
to get a splatted vector for a vector comparison.
Doing this breaks vector-casts.ll, add some compensating
transformations to handle the important case they cover without
depending on this canonicalization.
This fixes rdar://7434900 a serious pessimization of vector compares.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95855 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48df834a4a87a035ff4311057ad8fd2250415249
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 06:24:37 2010 +0000
convert to filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95854 91177308-0d34-0410-b5e6-96231b3b80d8
commit f05a4a82b719a1bd583cdd7739079504d9963422
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 05:11:54 2010 +0000
Make DSE only scan blocks that are reachable from the entry
block. Other blocks may have pointer cycles that will crash
basicaa and other alias analyses. In any case, there is no
point wasting cycles optimizing dead blocks. This fixes
rdar://7635088
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95852 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9211ea57815c52083d4bd54c2f40fe1cbee1744f
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 05:08:05 2010 +0000
a testcase that doesn't crash GVN but could someday.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95851 91177308-0d34-0410-b5e6-96231b3b80d8
commit 089ed82c48bd69fe4a98ab3ef8e37ae26eabd9a1
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 11 04:40:44 2010 +0000
Make jump threading honor x|undef -> true and x&undef -> false,
instead of considering x|undef -> x, which may not be true.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95850 91177308-0d34-0410-b5e6-96231b3b80d8
commit 042109e6237b5fc008570e8adbb6ba445fb6120e
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 11 01:48:54 2010 +0000
Add ConstantExpr handling to Intrinsic::objectsize lowering.
Update testcase accordingly now that we can optimize another
section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95846 91177308-0d34-0410-b5e6-96231b3b80d8
commit 65944ae3e1b2fdd6b8966b5af084f9607b34999d
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 01:31:01 2010 +0000
test case for r95842.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95844 91177308-0d34-0410-b5e6-96231b3b80d8
commit 459468d4434427a26cbc0fe5f79e4c31fbaf2795
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 11 01:15:27 2010 +0000
Fix to get it to compile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95840 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4880f4c56524735b593e4a852b584e101c80a54
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Feb 11 01:13:02 2010 +0000
Don't print out a default newline when emitting the section offset. There are
almost always comments afterwards that need printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95839 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3caf596efddb31aa4998bf8f9bbea09071198c2
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Feb 11 01:07:39 2010 +0000
Make it possible to create multiple JIT instances at the same time, by removing
the global TheJIT and TheJITResolver variables. Lazy compilation is supported
by a global map from a stub address to the JITResolver that knows how to
compile it.
Patch by Olivier Meurant!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95837 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5d1bc4945f66b39363f5adb70d652280d71f796
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 00:34:33 2010 +0000
Reuse operand location when updating PHI instructions.
Calling RemoveOperand is very expensive on huge PHI instructions. This makes
early tail duplication run twice as fast on the Firefox JavaScript
interpreter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95832 91177308-0d34-0410-b5e6-96231b3b80d8
commit 983620a4957887088e3a54edf80d4a52789d7de3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 11 00:34:18 2010 +0000
Remove duplicate successors from indirectbr instructions before building the machine CFG.
This makes early tail duplication run 60 times faster when compiling the Firefox
JavaScript interpreter, see PR6186.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95831 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01dd2eed529c40aaee21eb3ce179e12cad1f36d9
Author: Devang Patel <dpatel@apple.com>
Date: Thu Feb 11 00:20:49 2010 +0000
Ignore dbg info intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95828 91177308-0d34-0410-b5e6-96231b3b80d8
commit bddbb3549a3e706e1e48f4069b0820872b4bfe49
Author: Kevin Enderby <enderby@apple.com>
Date: Thu Feb 11 00:18:12 2010 +0000
Remove the few # TAILCALL comments that snuck in. As they may fail on linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95827 91177308-0d34-0410-b5e6-96231b3b80d8
commit f9d6893474485fb9d42fb67f566494bf8119184b
Author: Kevin Enderby <enderby@apple.com>
Date: Thu Feb 11 00:13:43 2010 +0000
Update the X86 assembler matcher test case now that a few more things match
with some of the recent changes that have gone into llvm-mc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95826 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3125ea6e98852dab38710e6c9f4eb1fe31fec216
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 23:58:53 2010 +0000
Add support to llvm-extract for extracting multiple functions and/or
multiple global variables at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95825 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c0275b0f91c1ea26942e6178dd62b0247b4252d
Author: Mon P Wang <wangmp@apple.com>
Date: Wed Feb 10 23:37:45 2010 +0000
The previous fix of widening divides that trap was too fragile as it depends on custom
lowering and requires that certain types exist in ValueTypes.h. Modified widening to
check if an op can trap and if so, the widening algorithm will apply only the op on
the defined elements. It is safer to do this in widening because the optimizer can't
guarantee removing unused ops in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95823 91177308-0d34-0410-b5e6-96231b3b80d8
commit a4f4b1506d2a7bd676adcd886d98c12012bdd952
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 23:04:09 2010 +0000
Ignore debug info one more place during coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95819 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0df83f4b11cb2e8b6f793a1425b77f9b6cd5e19b
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 23:03:20 2010 +0000
Allow isDebug inquiry on any MO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95818 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1ca197830a1a1906a5657c9e9c52977510106e39
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 10 22:58:57 2010 +0000
Delete dead PHI machine instructions. These can be created due to type
legalization even when the IR-level optimizer has removed dead phis, such
as when the high half of an i64 value is unused on a 32-bit target.
I had to adjust a few test cases that had dead phis.
This is a partial fix for Radar 7627077.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95816 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b0ea846f73eb83706dd80d1fbde28fe3eeed217
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 21:47:48 2010 +0000
Skip debug info in a couple of places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95814 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3393b63d1a2483a7b7a2dd23e20cb16ea43c210
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 10 21:41:57 2010 +0000
Use an index instead of pointers into the vector. If the vector resizes, then
the pointer values could be invalid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95813 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4dae4593c8310d09e587a928c15d3e7b32172037
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 21:41:41 2010 +0000
When I rewrote this loop per Chris' preference I
changed its behavior. Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95811 91177308-0d34-0410-b5e6-96231b3b80d8
commit e824fb17b264b0696b236304671ddb4ccb50c895
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 21:37:31 2010 +0000
add a virtual dtor to MCTargetExpr, hopefully silencing some warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95810 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b9161cf664d44a0c0789a2ea7e439b81f02d83f
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Wed Feb 10 21:26:04 2010 +0000
A few missed optimizations; the last one could have a significant impact on
code with lots of bitfields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95809 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1196f9ba64661542cc87fcd99b96655874c057d4
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 21:22:51 2010 +0000
work around a gcc bug with -Wuninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95808 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4343998c96075c771bc1b8c486cd4d141f4ddf9f
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 10 21:19:56 2010 +0000
Strip new llvm.dbg.value intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95807 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c7b65e886227bf3cbff010868d91c22daec111b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:19:28 2010 +0000
MC/X86 AsmMatcher: Fix a use after free spotted by d0k, and de-XFAIL
x86_32-encoding.s in on expectation of it passing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95806 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06e24dc5f9ea9603d282f77e327fff27748c8e95
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:01:04 2010 +0000
XFAIL this on linux until I figure out what is happening.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95804 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63bb9e8ff151f1d947682100594e794b646a6646
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:00:55 2010 +0000
lit: Ignore dot files when scanning for tests (e.g., editor temprary files,
etc.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95803 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20631dbca24c6895ac647923fa3742fe94e7b3a7
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 21:00:47 2010 +0000
MC/AsmMatcher: Tweak conversion function name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95802 91177308-0d34-0410-b5e6-96231b3b80d8
commit 013ca607f6404a26921689e0e2936f9eeff85891
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:42:57 2010 +0000
Minor whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95801 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3eeaacd71c0b4925eef44b315fa41d16588f2fad
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:42:37 2010 +0000
Use an AssemblyAnnotatorWriter to clean up IVUsers' debug output.
The "uses=" comments are just clutter in this context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95799 91177308-0d34-0410-b5e6-96231b3b80d8
commit d73878ab5df6dcade0aab73f789b9173e0a21a3e
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:41:46 2010 +0000
Add a hook to AssemblyAnnotationWriter to allow custom info comments
to be printed, in place of the familiar "uses=" comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95798 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50d20e115bc9907aa170fd14b720a17c002e3db6
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:23:33 2010 +0000
Use doxygen comment syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95797 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1cb9e26a4f8e5f3037fe24dff0780cfb0c8acae0
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 20:04:19 2010 +0000
Fix several comments which had previously been "the the" where a
different word was intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95795 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6cd9da8b837fbb130cfb68bdfaf307f069838a6a
Author: Kevin Enderby <enderby@apple.com>
Date: Wed Feb 10 19:13:56 2010 +0000
Replace this file containing 4 tests of x86 32-bit encodings with a file
containing the subset of the full auto generated test case that currently
encodes correctly. Again it is useful as we bring up the the new encoder
to make sure currently working stuff stays working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95791 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e91762c19cff323979775171efd78ce52cbd6f2
Author: Johnny Chen <johnny.chen@apple.com>
Date: Wed Feb 10 18:02:25 2010 +0000
Added NOP, DBG, SVC to the instruction table for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95784 91177308-0d34-0410-b5e6-96231b3b80d8
commit af23afb740065a6c0c12f1d2fbc88eb3f18036bd
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 16:03:48 2010 +0000
Fix "the the" and similar typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
commit 349b2a1b5c6c41646b8f04bf96ed0383b5607602
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 15:54:22 2010 +0000
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95780 91177308-0d34-0410-b5e6-96231b3b80d8
commit a960e5e14330ff0f2791bd69fb3576813a5cea7a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Feb 10 13:34:02 2010 +0000
Silence GCC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95779 91177308-0d34-0410-b5e6-96231b3b80d8
commit 67f1b0e981f324a66a7e6713a20cd6758ce57633
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 08:15:48 2010 +0000
MC/AsmMatcher: Add support for creating tied operands when constructing MCInsts.
- Pretty messy, but we need to rework how we handle tied operands in MCInst
anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95774 91177308-0d34-0410-b5e6-96231b3b80d8
commit f35eb9fa274c8e1ca4cd0c349cfb780aefda3758
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 06:52:12 2010 +0000
emit some simple (and probably incorrect) fixups for symbolic
displacement values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95773 91177308-0d34-0410-b5e6-96231b3b80d8
commit 64f2e32ed184eb327d7dca782a2f34e0e4ed6e0f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 06:41:02 2010 +0000
keep track of what the current byte being emitted is
throughout the X86 encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95771 91177308-0d34-0410-b5e6-96231b3b80d8
commit 52a804e27005885de0e26cc29ecdbfda4389bc17
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 06:30:00 2010 +0000
simplify displacement handling, emit displacements by-operand
even for the immediate case. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95770 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb024ff9f39712daa425d097cd3d497e2973087f
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 06:13:07 2010 +0000
Canonicalize sizeof and alignof on pointer types to a canonical
pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95769 91177308-0d34-0410-b5e6-96231b3b80d8
commit d637aba529b5cc6a8dedbddfc187b3cd6ef4ccde
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 10 05:54:04 2010 +0000
Implement operators |=, &=, and ^= for SmallBitVector, and remove the
restriction in BitVector for |= and ^= that the operand must be the
same length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95768 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2c7ab5dec64227e63d7417a99abe57324ae84436
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:47:08 2010 +0000
MC: Switch MCFixup to just hold an MCExpr pointer instead of index into the
MCInst it came from.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95767 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5336c8961a2c3379da09d95ee4d7903fd04f7ad8
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:46:51 2010 +0000
Fix a signed comparison warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95766 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbeaaa6b9892186196acaa7576334eec63a738e5
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:10:10 2010 +0000
Remove stray DOS newline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95765 91177308-0d34-0410-b5e6-96231b3b80d8
commit 252efd4f274ba896f82b785774973941198a79c9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 04:09:52 2010 +0000
Add a ReleaseNotes FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95764 91177308-0d34-0410-b5e6-96231b3b80d8
commit 99fff3e301012321a0a0a7db660bfc6ca6852a38
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Wed Feb 10 03:38:29 2010 +0000
Prevented build on WINDOWS using default make system. Stopped WINDOWS build
at eh llvm/examples level using if check on LLVM_ON_UNIX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95763 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07663f302606e6b2112b4fde8db8c1c76bb97c11
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 10 03:23:23 2010 +0000
Updated the enhanced disassembly library's TableGen
backend to not use exceptions at all except in cases
of actual error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95762 91177308-0d34-0410-b5e6-96231b3b80d8
commit f327869a5de5fb01a4c42cc789ab97663fc31762
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Wed Feb 10 02:50:08 2010 +0000
Prevented ExceptionDemo example being built on WINDOWS via if( NOT WIN32 )
check in examples cmake list file. This has NOT been tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95761 91177308-0d34-0410-b5e6-96231b3b80d8
commit 096b097f4a245dd6e043ffbff4d574800f4768c4
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 10 02:47:08 2010 +0000
Updated the TableGen emitter for the Enhanced
Disassembler to take advantage of the refactored
AsmWriterInst.h. Note removed parser code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95760 91177308-0d34-0410-b5e6-96231b3b80d8
commit 605a402cc2a7ef412ad4144a2de45d68f7b65dcb
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 10 02:27:43 2010 +0000
Changed AsmWriterOperand to also include the index of the
operand into the CodeGenInstruction's list of operands,
which is useful for EDEmitter. (Still working on PR6219)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95759 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8f028b8bce6e92e12809beac0e0379b601980a4
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 10 02:17:34 2010 +0000
Now that ShrinkDemandedOps() is separated out from DAG combine. It sometimes leave some obvious nops which dag combine used to clean up afterwards e.g. (trunk (ext n)) -> n. Look for them and squash them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95757 91177308-0d34-0410-b5e6-96231b3b80d8
commit a7a939aeea7bbbadddde5c0491621dbe1059c00d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:46:47 2010 +0000
"fixup" a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95754 91177308-0d34-0410-b5e6-96231b3b80d8
commit 33fe554b0bb1dd7fc2ee9c9e5d7afae9233d652c
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:45:28 2010 +0000
Introduce a new CodeGenInstruction::ConstraintInfo class
for representing constraint info semantically instead of
as a c expression that will be blatted out to the .inc
file. Fix X86RecognizableInstr to use this instead of
parsing C code :).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95753 91177308-0d34-0410-b5e6-96231b3b80d8
commit b6129a289288b6bd0d237dece7ccc494a01bb59e
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 10 01:41:14 2010 +0000
llvm-mc: Remove --show-fixups and always show as part of --show-encoding.
Also, fix a silly memory leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95752 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf8fe6a7fc7a6722143d6025007aaab01a3b1526
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 01:31:26 2010 +0000
Rewrite loop to suit Chris' preference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95749 91177308-0d34-0410-b5e6-96231b3b80d8
commit c3f58b6ce58d2287a291f0c82993b461c0cc5bc6
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:23:18 2010 +0000
fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8fc7b209da57482995dcb78a33449bcb3ceacbf
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 10 01:22:57 2010 +0000
Remove duplicated #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95747 91177308-0d34-0410-b5e6-96231b3b80d8
commit 93726d8a787a3b1e7d709ea6259eca7eb8bdd6c8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 10 01:21:02 2010 +0000
Emit an error for illegal inline asm constraint (which uses illegal type) rather than asserting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95746 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b2322be1ee42dbf4dd1df42e3cb097b231f7603
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:17:36 2010 +0000
fix missing #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95745 91177308-0d34-0410-b5e6-96231b3b80d8
commit 28afd8223a04f38c87746e0fe8c7e1e251db0a97
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:05:28 2010 +0000
daniel *really* likes fixups!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95742 91177308-0d34-0410-b5e6-96231b3b80d8
commit e90535cbb30c071096987e9f5ae2114f3132ea96
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 01:04:16 2010 +0000
Stop MachineInstr.h from #including AsmPrinter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95741 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce5a93e4cdc1ca70c5dc436453f227b3d0fcb715
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 10 00:59:47 2010 +0000
Improve comments a even more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95740 91177308-0d34-0410-b5e6-96231b3b80d8
commit d832aa8fb8044b80a86273493c70770537bcce14
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:55:42 2010 +0000
Skip DBG_VALUE many places in live intervals and
register coalescing. This fixes many crashes and
places where debug info affects codegen (when
dbg.value is lowered to machine instructions, which
it isn't yet in TOT).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95739 91177308-0d34-0410-b5e6-96231b3b80d8
commit f87769d484291b79abcbce9c1d93e189a9429529
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 00:47:53 2010 +0000
Move verbose asm instruction comments to using MCStreamer.
The major win of this is that the code is simpler and they
print on the same line as the instruction again:
movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95738 91177308-0d34-0410-b5e6-96231b3b80d8
commit db7b35ff8026dfdbc0d33da63a3a7c19b6e656ea
Author: Bill Wendling <isanbard@gmail.com>
Date: Wed Feb 10 00:45:28 2010 +0000
Improve comments a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95737 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c711aa69b6220492b543f42e477dc1b92704450
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:44:23 2010 +0000
more comment updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95736 91177308-0d34-0410-b5e6-96231b3b80d8
commit de4b068361b29005fab942ac14ac8f12be1b743e
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:41:49 2010 +0000
Add isDebug argument to ChangeToRegister; this prevents
the field from being used uninitialized later in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95735 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8e397b58489fd96a45e69c7d7710eab6d5cab18
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 00:36:00 2010 +0000
print all the newlines at the end of instructions with
OutStreamer.AddBlankLine instead of textually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95734 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf50ddc93cf854eb803d580e07b4b2276a4e6430
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date: Wed Feb 10 00:14:03 2010 +0000
IntegerValType holds a uint32_t, so its constructor should take a uint32_t. This allows it to be properly initialized with bit widths > 65535
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95731 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94f6097942b3dd9b13c2c71a74b7f7c034cc70e0
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 10 00:11:11 2010 +0000
Fix comments to reflect renaming elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95730 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3d9d97cddb404caf738a7b494b931b17e8f585a8
Author: Kevin Enderby <enderby@apple.com>
Date: Wed Feb 10 00:10:31 2010 +0000
Fix the encoding of the movntdqa X86 instruction. It was missing the 0x66
prefix which is part of the opcode encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95729 91177308-0d34-0410-b5e6-96231b3b80d8
commit 59ee3d246bb7292180f55bdc97b9d0ace583f7db
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 10 00:10:18 2010 +0000
Add ability for MCInstPrinters to add comments for instructions.
Enhance the x86 backend to show the hex values of immediates in
comments when they are large. For example:
movl $1072693248, 4(%esp) ## imm = 0x3FF00000
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95728 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0431e6c49421e302de8d311c1a5581549fc1f18
Author: David Greene <greened@obbligato.org>
Date: Tue Feb 9 23:52:19 2010 +0000
TableGen fragment refactoring.
Move some utility TableGen defs, classes, etc. into a common file so
they may be used my multiple pattern files. We will use this for
the AVX specification to help with the transition from the current
SSE specification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95727 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a6844b9567642a99a459eee65f8bce25dbe7449
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Tue Feb 9 23:22:43 2010 +0000
Adds a JIT based exception handling example to the examples directory.
Both zero cost example domain specific, and C++ foreign exception handling are
shown. The example's documentation fully explains how to run the example.
Notes:
1) The code uses an extremely simple type info model.
2) Only a single landing pad is used per unwind edge
(one call to llvm.eh.selector)
3) llvm.eh.selector support for filter arguments is not given.
4) llvm.eh.typeid.for is not used.
5) Forced unwind behavior is not supported.
6) Very little if any error handling is given.
7) __attribute__((__aligned__)) is used.
8) The code uses parts from the llvm compiler-rt project and
the llvm Kaleidoscope example.
9) The code has not been ported or tested on WINDOWS.
10) The code was not tested with a cmake build.
11) The code was tested for a debug build on 32bit X86 CentOS LINUX,
and both a debug and release build on OS X 10.6.2 (64bit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95723 91177308-0d34-0410-b5e6-96231b3b80d8
commit 490852e92928683702e224b0a92a4d5a333c3bf7
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 23:06:35 2010 +0000
Fixed some indentation in the AsmWriterInst
implementation. Also changed the constructor
so that it does not require a Record, making it
usable by the EDEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95715 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23d193a06140d17e33ddb4428a71f67d8d3992a6
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 9 23:05:23 2010 +0000
Add VBIF/VBIT for disassembly only.
A8.6.279
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95713 91177308-0d34-0410-b5e6-96231b3b80d8
commit c321472b1f49b10f261f74508c40cb5ce72431da
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 9 23:03:44 2010 +0000
Make --disable-libffi work on systems with libffi installed. Also
make no-ffi the default even on systems with libffi. This fixes
http://llvm.org/PR5018.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95712 91177308-0d34-0410-b5e6-96231b3b80d8
commit c1bdcf1fa7cdd98c7b4da719dd74ebfec1f4e027
Author: David Greene <greened@obbligato.org>
Date: Tue Feb 9 23:03:05 2010 +0000
Only dump output in debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95711 91177308-0d34-0410-b5e6-96231b3b80d8
commit ab57543e713bc754b2640e3747c2ff65457b63c2
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 9 23:00:14 2010 +0000
llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95710 91177308-0d34-0410-b5e6-96231b3b80d8
commit e466b68c58bdc2ce05dbabdc02783c53b955500b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 9 23:00:03 2010 +0000
MC/X86: Add a dummy implementation of MCFixup generation for hacky X86 MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95709 91177308-0d34-0410-b5e6-96231b3b80d8
commit c5a052a84947f80567a72d99944f943b79d9f76b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 9 22:59:55 2010 +0000
MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95708 91177308-0d34-0410-b5e6-96231b3b80d8
commit b8f02384dcbe2c57d4a0798687cdc06ebcdf0845
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Feb 9 22:49:16 2010 +0000
Improve comments in the LSDA somewhat. They can be improved much more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95707 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63ac41c0db09647d6469560b8803ee8d0a2d8903
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 9 22:35:38 2010 +0000
Added VMRS/VMSR for disassembly only.
A8.6.335 & A8.6.336
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95703 91177308-0d34-0410-b5e6-96231b3b80d8
commit ecadd7d8ef99681205ed4527530cda4773a5bbbb
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 22:29:16 2010 +0000
Added AsmWriterInst.cpp to the CMakeList so that
it builds OK on Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95702 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78db1ba08fe914adb89e6c66e7065a7c0eb202ea
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 22:15:27 2010 +0000
Disable unittests/ADT/BitVectorTest on PPC Darwin.
It fails with a release build only, for reasons
as yet unknown. (If there's a better way to Xfail
things here let me know, doesn't seem to be any
prior art in unittests.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95700 91177308-0d34-0410-b5e6-96231b3b80d8
commit f373fc3257d5b0aa0fcfc59298f8033d2643078b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:57:34 2010 +0000
port encoder enhancements over to the new encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95699 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3b3acf9317ca5fac7207f3493583422f7a9400f
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 21:50:41 2010 +0000
Per PR 6219, factored AsmWriterInst and AsmWriterOperand
out of the AsmWriterEmitter. This patch does the physical
code movement, but leaves the implementation unchanged. I'll
make any changes necessary to generalize the code in a
separate patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95697 91177308-0d34-0410-b5e6-96231b3b80d8
commit e8b1aac62bd8a74b004e4abed07d2f693a4cd365
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:47:19 2010 +0000
fix X86 encoder to output [disp] only addresses with no SIB byte
in X86-32 mode. This is still required in x86-64 mode to avoid
forming [disp+rip] encoding. Rewrite the SIB byte decision logic
to be actually understandable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95693 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d47ee14b397d7315c3fa1767cb01bd6823daa87
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 21:24:27 2010 +0000
Move Intrinsic::objectsize lowering back to InstCombineCalls and
enable constant 0 offset lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95691 91177308-0d34-0410-b5e6-96231b3b80d8
commit 616e35969b69d0fcb063634b465a41c1bf8a817a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:21:26 2010 +0000
revert r95689: getX86RegNum(BaseReg) != N86::ESP is
a confusing idiom to check for ESP or RSP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95690 91177308-0d34-0410-b5e6-96231b3b80d8
commit 20f133563c8c6dd09f4c754e6236bc79801e0adf
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 21:00:12 2010 +0000
simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95689 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a50aac9641027f9608ce3ab34664266bab982e7
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 19:54:29 2010 +0000
Re-disable for Darwin; I was mistaken to think this was fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95688 91177308-0d34-0410-b5e6-96231b3b80d8
commit 261a07e6802837ca121afbd35aa67d66b8cddf79
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 19:54:29 2010 +0000
move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
commit 10b4c2ecc28cb21e6038f53185a0409a12ba02fc
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 9 19:51:37 2010 +0000
Radar 7417921
tMOVCCi pattern only valid for low registers, as the Thumb1 mov immediate to
register instruction only works with low registers. Allowing high registers
for the instruction resulted in the assembler choosing the wide (32-bit)
encoding for the mov, but LLVM though the instruction was only 16 bits wide,
so offset calculations for constant pools became incorrect, leading to
out of range constant pool entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95686 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6ab0b29165870293ea8a9c896fcda6bb15f685ab
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Feb 9 19:07:19 2010 +0000
Add support for TypeBuilder<const/volatile void*, false>.
Thanks to Jochen Wilhelmy for the suggestion!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95677 91177308-0d34-0410-b5e6-96231b3b80d8
commit 01f65f0fa690ad8c066d2b79b9c0ffe51f7e300a
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 17:29:18 2010 +0000
Pull these back out, they're a little too aggressive and time
consuming for a simple optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95671 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3dd1b1df4e46cfa0453b91c17d5d5513b0573262
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 9 17:24:21 2010 +0000
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95670 91177308-0d34-0410-b5e6-96231b3b80d8
commit 887f91b80eeb4259ebcf31ed1404fdc7eaec8d4c
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 9 17:21:56 2010 +0000
Added vcvtb/vcvtt (between half-precision and single-precision, VFP).
For disassembly only.
A8.6.300
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95669 91177308-0d34-0410-b5e6-96231b3b80d8
commit 541e03a3b0eee5b3d76cc1ae3cd8544e40476e7e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 9 17:20:11 2010 +0000
Remember to update live-in lists when coalescing physregs.
Patch by M Wahab!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95668 91177308-0d34-0410-b5e6-96231b3b80d8
commit aa2cc940fb5cc78df37805e32e5f2c1650107b3a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Feb 9 17:20:03 2010 +0000
clang test suite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95667 91177308-0d34-0410-b5e6-96231b3b80d8
commit f5839e96c8d3207d3640a2c2dc07a2ab5ce18630
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 17:00:40 2010 +0000
Mention IndVarSimplify in the comment by getSmallConstantTripCount, as
is done for getTripCount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95666 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6fc8fab2a22b9ef1bc4a9d9c5dd8077a87a6554
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 16:59:14 2010 +0000
Mention vAny and iPTRAny in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95665 91177308-0d34-0410-b5e6-96231b3b80d8
commit d2609573cf0c9beb247b7f0e8c9d280bce8656ac
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:41:03 2010 +0000
move tests that depend on the x86 backend out of codegen/generic,
and remove a few old and unreduced ones. Fixes PR5624.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95656 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50c7723419a8a2e74c9f511917e120a8a9f4f45f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:36:30 2010 +0000
make target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95655 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0392fa4a69ca47c515211ce34325408b3dedb97e
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:35:50 2010 +0000
merge a target-specific add test into x86 directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95654 91177308-0d34-0410-b5e6-96231b3b80d8
commit 636fef000f14238f8efdf5308e0630a849f35a7f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:33:27 2010 +0000
merge another test in, drop the trivially constant folded cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95653 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3c0bc8b5d2cdd6217ee00202582d426996cd29e
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:24:00 2010 +0000
consolidate and filecheckize two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95652 91177308-0d34-0410-b5e6-96231b3b80d8
commit db71d597a8f3632d5e8c7417fa5247dc589543cc
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 06:19:20 2010 +0000
merge two tests, make target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95651 91177308-0d34-0410-b5e6-96231b3b80d8
commit 46bf694a136bd056d2546abe8a1d6b74f0a56efa
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 05:55:14 2010 +0000
move PR3462 to here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95650 91177308-0d34-0410-b5e6-96231b3b80d8
commit a3f972db36312b043592d64b359686f77a2d1e0c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 05:45:29 2010 +0000
add a note from PR6194
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95649 91177308-0d34-0410-b5e6-96231b3b80d8
commit a70edceec20bee694492901eb019aa97b8f27e75
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 02:01:46 2010 +0000
Skip DEBUG_VALUE in some places where it was affecting codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95647 91177308-0d34-0410-b5e6-96231b3b80d8
commit ad7410a2b169cd871652cbeeda802c3955960e69
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 9 01:58:33 2010 +0000
Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95646 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2f916df02dd583e77cc2414ce0c5d6a26a42ecf6
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 01:50:54 2010 +0000
Updated the enhanced disassembly library to produce
whitespace tokens in the right places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95645 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8257d65e9602988beb2bc4f85a07ba4ef52722ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 01:39:46 2010 +0000
fix llvm_build_struct_gep for PR6167, patch by
Peter Hawkins!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95644 91177308-0d34-0410-b5e6-96231b3b80d8
commit 420101c495eff5b9473802dcac80ab787ca2fc9a
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 01:14:06 2010 +0000
simplify this code, duh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95643 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23480f2817a488aad23eea3858b328fbccbc85b5
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 01:12:41 2010 +0000
fix PR6193, only considering sign extensions *from i1* for this
xform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95642 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f11751b8b463eed987b81ec2352fff4a2ba654e
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 01:11:03 2010 +0000
Add file in here too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95641 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51cc5e94852ad9d40e2715b6e22f285b68b6b339
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 9 01:00:18 2010 +0000
Fixed a problem where the enhanced disassembly
library was reporting inaccurate token IDs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95639 91177308-0d34-0410-b5e6-96231b3b80d8
commit c092b994e77608bec7eae1478d7f39d0479dc107
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:54:51 2010 +0000
make -show-inst be formatted a bit nicer. Before:
movl $3735928559, a ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>>
after:
movl $3735928559, a ## <MCInst #1273
## <MCOperand Reg:0>
## <MCOperand Imm:1>
## <MCOperand Reg:0>
## <MCOperand Expr:(a)>
## <MCOperand Reg:0>
## <MCOperand Expr:(3735928559)>>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95637 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73aae2a863dc7bdc27506b9d9f8c037cb35bc810
Author: Lang Hames <lhames@gmail.com>
Date: Tue Feb 9 00:50:27 2010 +0000
Fixed a bug in the PBQP allocator's findCoalesces method.
Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95636 91177308-0d34-0410-b5e6-96231b3b80d8
commit f8fdb73df3da757998d2e067b1f62a2b4df1f53d
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:49:22 2010 +0000
Implement x86 asm parsing support for %st and %st(4)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95634 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7b2795d4e1854a9d649280895bea2ead196e45c3
Author: Lang Hames <lhames@gmail.com>
Date: Tue Feb 9 00:45:48 2010 +0000
Added copy sensible construction & assignment to PBQP graphs and fixed a memory access bug in the heuristic solver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95633 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4895f0c2e0218dfb21c8e52849e1191b8db23734
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 9 00:42:08 2010 +0000
Debug operands should not be def or kill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95632 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2a60d78777508f981da8ba050a16009751e6bcf0
Author: Lang Hames <lhames@gmail.com>
Date: Tue Feb 9 00:41:23 2010 +0000
Changed the definition of an "invalid" slot to include the empty & tombstone values, but not zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95631 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4c9a75bd96cec540f28ec731274329dfcf2b2b7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:40:07 2010 +0000
stop using reserved identifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95630 91177308-0d34-0410-b5e6-96231b3b80d8
commit e45e9747b90f8717f22e1c433e5208ad7aee3750
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 9 00:35:38 2010 +0000
Add a new pass to do llvm.objsize lowering using SCEV.
Initial skeleton and SCEVUnknown lowering implemented,
the rest should come relatively quickly. Move testcase
to new directory.
Move pass to right before SimplifyLibCalls - which is
moved down a bit so we can take advantage of a few opts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95628 91177308-0d34-0410-b5e6-96231b3b80d8
commit d332011a64483f20d6095defb03d03ce0dbd32f1
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:34:28 2010 +0000
pass stringref by value instead of by const&
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95627 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38600491dcf049ee6444b4c9b3a5e805b3ed89c9
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 00:29:29 2010 +0000
Add explicit keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95626 91177308-0d34-0410-b5e6-96231b3b80d8
commit 945d6e6ef5500953740ddf25d349b7d8553b3539
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:11:10 2010 +0000
move PR6212 to this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95624 91177308-0d34-0410-b5e6-96231b3b80d8
commit 60992d698f56b41c8052610257dd0a84900e8b96
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 9 00:05:45 2010 +0000
enhance bits_storage to work with enums by using a c-style
cast instead of reinterpret_cast, fixing PR6243. Apparently
reinterpret_cast and I aren't getting along today.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95622 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47a9f41cc78716c82d2bbe2ce4b0211d33a916cf
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 9 00:02:37 2010 +0000
Implement AsmPrinter support for several more operators which have
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95620 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2376dd8e47d549492464909444dff454c23a7b3d
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 23:58:47 2010 +0000
Document that MCExpr::Mod is actually remainder.
Document that MCExpr::Div, Mod, and the comparison operators are all
signed operators.
Document that the comparison operators' results are target-dependent.
Document that the behavior of shr is target-dependent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95619 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8479c1b655a03a1c166221803312525333cc2f46
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:56:03 2010 +0000
fix some problems handling large vectors reported in PR6230
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95616 91177308-0d34-0410-b5e6-96231b3b80d8
commit cba43384cca80445e3c3f75208aeba9cfc3c25e4
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:48:10 2010 +0000
this is done, tested by CodeGen/ARM/iabs.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95609 91177308-0d34-0410-b5e6-96231b3b80d8
commit 015b886f496c17e3283b12ee9898e3795fe17964
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:47:34 2010 +0000
convert to filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95608 91177308-0d34-0410-b5e6-96231b3b80d8
commit b31a0feb5bf1db49cb3a9be767650a7b6a4a5f74
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 8 23:34:25 2010 +0000
Added header file declarations and .exports entries
for the new APIs offered by the enhanced disassembler
for inspecting operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95606 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4e2d98e4e90b4cd1042261bf561b83cd3971d5a
Author: Devang Patel <dpatel@apple.com>
Date: Mon Feb 8 23:27:46 2010 +0000
test case for r95604.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95605 91177308-0d34-0410-b5e6-96231b3b80d8
commit 98b68dabfc5f27450a8827437dbc66ce9736f987
Author: Jim Grosbach <grosbach@apple.com>
Date: Mon Feb 8 23:22:00 2010 +0000
tighten up eh.setjmp sequence a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95603 91177308-0d34-0410-b5e6-96231b3b80d8
commit f444ae4711a92742b13d76d3174611058cfb2c40
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:10:08 2010 +0000
now that @GOTOFF is no longer represented as a suffix on a
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95601 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7566f7ea341feb29e7d06d560ea0468f9da7e76
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 23:03:41 2010 +0000
unify the paths for external symbols and global variables:
2 files changed, 48 insertions(+), 83 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95599 91177308-0d34-0410-b5e6-96231b3b80d8
commit 878b5bee0314e26770cf4c4940c250c68707d1c5
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:52:47 2010 +0000
switch the rest of the "@ concatentation" logic in the X86
backend to use X86MCTargetExpr, simplifying a bunch of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95595 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4b7310a90a8dc31334903ce141fb6728bef4a0d
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 8 22:50:23 2010 +0000
Fixed the AT&T AsmLexer to report the proper strings
for register tokens. Before, if it encountered
'%al,' it would report 'al,' as the token. Now it
correctly reports '%al'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95594 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3c9bf8bf6d2ac83f79f0e3d5f3f7de7ae1579ef9
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:33:55 2010 +0000
switch ELF @GOTOFF references to use X86MCTargetExpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95593 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36657aab3e97cf1ca68815bf7eba7b5b4e080b30
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 22:19:11 2010 +0000
ConstantFoldConstantExpression can theoretically return the original
expression; don't go into an infinite loop if it does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95591 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0fdcbcae5f72970bc4c9732ecd9c72d0e4bed5e1
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:09:08 2010 +0000
add an x86 implementation of MCTargetExpr for
representing @GOT and friends. Use it for
personality references as a first use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95588 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0d2e850f5ff5a513c8ab0177b034361f2f489cba
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:07:36 2010 +0000
don't make hte dtor private or we can't construct the class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95587 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0273f0d4692800e282fa4a1babcf3511a22fe8a
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 22:05:38 2010 +0000
use a c-style cast instead of reinterpret-cast, as sometimes the
cast needs to adjust for a vtable pointer when going from base to
derived type (when the base doesn't have a vtable but the
derived type does).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95585 91177308-0d34-0410-b5e6-96231b3b80d8
commit d1240766902e48f93afc1b46520bc146007bdb9f
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 8 22:02:41 2010 +0000
Add VCVTR (between floating-point and integer, VFP) for disassembly purpose.
The 'R' suffix means the to-integer operations use the rounding mode specified
by the FPSCR, encoded as Inst{7} = 0.
A8.6.295
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95584 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea0b08efa466c274c270305165ea473406353d7a
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 22:02:38 2010 +0000
When CodeGen'ing unoptimized code, there may be unfolded constant expressions
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.
This fixes PR6255.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95583 91177308-0d34-0410-b5e6-96231b3b80d8
commit 642a130ec467059b96527271834db7ec40c5eb0c
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 22:00:06 2010 +0000
Add const qualifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95582 91177308-0d34-0410-b5e6-96231b3b80d8
commit 739b7feb51bda6378f4a403e248cdb36ac4d28e0
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 8 21:53:27 2010 +0000
Apply the 95471 fix to SelectionDAGBuilder as well;
we can get in here if FastISel gives up in a block.
(Actually the two copies of this need to be unified. Later.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95579 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95d7e60ad7d30e54f42e40ac6d6362e8ed079821
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 20:34:14 2010 +0000
In guaranteed tailcall mode, don't decline the tailcall optimization
for blocks ending in "unreachable".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95565 91177308-0d34-0410-b5e6-96231b3b80d8
commit a64ddd5cca43fd3abfaa3191f01ff1ecc762ada4
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 8 20:27:50 2010 +0000
Rename the PerformTailCallOpt variable to GuaranteedTailCallOpt to reflect
its current purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95564 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d81583775836536a9e7a7c2d0140ab236a67f98
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 8 19:41:48 2010 +0000
Add VCMP (VFP floating-point compare without 'E' bit set) for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95560 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1020ff0702994f0ae376d644967f824716e11182
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 8 19:41:07 2010 +0000
add scaffolding for target-specific MCExprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95559 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f85fa82f062103cbbf764911e4c29720bbdee01
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 8 19:36:51 2010 +0000
Flesh out the list of predicates, for those who like this style. I was
looking for isPointer, and added the rest for uniformity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95557 91177308-0d34-0410-b5e6-96231b3b80d8
commit 683f4fdca2b99ea8313f4ec9e95d91f1ceadbe2b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Mon Feb 8 18:08:46 2010 +0000
ImmutableIntervalMap: Fix for unqualified lookup into dependent base class, done
by clang's -fixit! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95551 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4bd310a7b73b1e80acb35c8c415db368ca854d0
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 8 17:26:09 2010 +0000
Added VMOVRRS/VMOVSRR to ARMInstrVFP.td for disassembly purpose.
A8.6.331 VMOV (between two ARM core registers and two single-precision registers)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95548 91177308-0d34-0410-b5e6-96231b3b80d8
commit 11449e728495f679b4c6b67dc3d656cd04796f9a
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 8 11:03:31 2010 +0000
Fix some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95542 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e8ce476cbf724f9490deefccf6a170b7a1330a7
Author: Edwin Török <edwintorok@gmail.com>
Date: Mon Feb 8 08:37:27 2010 +0000
Fix x86 JIT stub on MSVC.
Thanks to Kristaps Straupe for noticing the bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95537 91177308-0d34-0410-b5e6-96231b3b80d8
commit abd3dd6ba14de9b44290bb2b4861406fdc076fa0
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Mon Feb 8 06:08:32 2010 +0000
Fixed build error for redefinition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95532 91177308-0d34-0410-b5e6-96231b3b80d8
commit 022752dff182da48cd5f6db70a90a331d7aaaa46
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date: Mon Feb 8 05:56:37 2010 +0000
Add uppercase and lowercase part defines in driver.
Use a temp dir with a unique name in the current dir itself.
Use forward_value instead of unpack_values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95530 91177308-0d34-0410-b5e6-96231b3b80d8
commit 640885d04fc3bdd4d001fea92ef486a325fb0d72
Author: Nick Lewycky <nicholas@mxc.ca>
Date: Sun Feb 7 21:13:46 2010 +0000
Make the destructor for TypeMapBase protected. Spotted by Duncan Sands with
cppcheck!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95527 91177308-0d34-0410-b5e6-96231b3b80d8
commit b29f6887c9b9ca1815e71885a14de6f4119a61ee
Author: Duncan Sands <baldrick@free.fr>
Date: Sun Feb 7 21:09:22 2010 +0000
Give DwarfPrinter a protected (but not virtual) destructor. Cppcheck
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95526 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78506244d7ca04009b74cba63a767bfff889362b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Feb 6 21:00:02 2010 +0000
Add suport for VASTART on Mips.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95506 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac629f51303d4578b4024ea9112bdea846b1fb6b
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Feb 6 19:20:49 2010 +0000
First step towards varargs support in Mips:
- o32 cc must pass all arguments in A0...A3 and stack regardless
if its type (but respect the alignment).
- Store all variable arguments back to the caller stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95500 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4377cdcc95e445d0cd120d7911bf73603ca1e1c1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 6 09:07:11 2010 +0000
Run codegen dce pass for all targets at all optimization levels. Previously it's
only run for x86 with fastisel. I've found it being very effective in
eliminating some obvious dead code as result of formal parameter lowering
especially when tail call optimization eliminated the need for some of the loads
from fixed frame objects. It also shrinks a number of the tests. A couple of
tests no longer make sense and are now eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95493 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63d86fe59317d155058309d486d9b12c9749af7e
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 6 09:00:30 2010 +0000
Remove a large test case that (soon will) no longer make sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95492 91177308-0d34-0410-b5e6-96231b3b80d8
commit ebcb016721cf15218e983e00896d7d0fd9c69aee
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 6 05:55:20 2010 +0000
Fix an uninitialized value. Radar 7609421.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95488 91177308-0d34-0410-b5e6-96231b3b80d8
commit ddc00c2e5437a927e17e5f9990e95c3adf202a01
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Sat Feb 6 03:32:21 2010 +0000
Fix alignment on ppc linux. This fixes the build of crtend.o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95477 91177308-0d34-0410-b5e6-96231b3b80d8
commit a338d790c56083d455bc753f473949f7c77ee3e9
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Feb 6 03:28:46 2010 +0000
Do not emit callseq instructions around sibcalls. This eliminated some unnecessary stack adjustments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95475 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4fdd461c821799cfb547167b3f6dc339a0d4531c
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Feb 6 02:28:32 2010 +0000
Add a Debug bit to MachineOperand, for uses that
are from debug info. Add an iterator to MachineRegisterInfo
to skip Debug operands when walking the use list. No
functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95473 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8ce1aefd18dd02f4a7a780423d83f0934f2ff883
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Feb 6 02:26:02 2010 +0000
After Victor's latest commits I am seeing null
addresses in dbg.declare; ignore this for the
moment to prevent things from breaking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95471 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8d5b21baf41576fa4016a3c6d838c1b77d8f000b
Author: Victor Hernandez <vhernandez@apple.com>
Date: Sat Feb 6 01:31:55 2010 +0000
Linker should not remap null operands of metadata
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95468 91177308-0d34-0410-b5e6-96231b3b80d8
commit a48cde4a81346c7b01a3359b48d0fdb1434b2ec2
Author: Victor Hernandez <vhernandez@apple.com>
Date: Sat Feb 6 01:21:09 2010 +0000
Function-local metadata whose operands had been optimized to no longer refer to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95467 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3f30baafce7c09af90bb6e9e79c152f9eb4b7b0b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Sat Feb 6 01:16:28 2010 +0000
Reintroduce the InlineHint function attribute.
This time it's for real! I am going to hook this up in the frontends as well.
The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.
We need some experiments to determine if that is the right thing to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466 91177308-0d34-0410-b5e6-96231b3b80d8
commit 268778b077fe46127e6a00235ce728bf64858387
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 6 01:16:25 2010 +0000
Add a test for my change to disable reassociation for i1 types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95465 91177308-0d34-0410-b5e6-96231b3b80d8
commit 13ccbeb95d19fd81634289f1bb7ecdd1bebd056f
Author: Devang Patel <dpatel@apple.com>
Date: Sat Feb 6 01:02:37 2010 +0000
Set DW_AT_artificial only if argument is marked as artificial.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95461 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac664e555198be231007a735bd10b376fbf08c59
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Feb 6 00:24:38 2010 +0000
Handle AddrMode6 (for NEON load/stores) in Thumb2's rewriteT2FrameIndex.
Radar 7614112.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95456 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f5a066d16bee2846ae86747422154fae74382ce
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 5 23:21:31 2010 +0000
Don't unroll loops containing function calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95454 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed4441a21fde2e7c649dff89fbc78469111e2be9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 5 23:21:18 2010 +0000
Update CodeMetrics to count 'big' function calls explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95453 91177308-0d34-0410-b5e6-96231b3b80d8
commit a27bd000ed8d5a90462c151449de482167518d73
Author: Devang Patel <dpatel@apple.com>
Date: Fri Feb 5 23:09:20 2010 +0000
Do not generate specification DIE for nested functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95452 91177308-0d34-0410-b5e6-96231b3b80d8
commit f77c07ec9ec5fce04c1c12449d86e8aa76d89958
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:56:11 2010 +0000
fix incorrect encoding of SBB8mi that Kevin noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95448 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb382fa1126c564624a73f3f3c342e7257c65965
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:49:06 2010 +0000
fix a case where we'd mis-encode fisttp because of an incorrect (and
redundant with a correct one) pattern that was added for the disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95446 91177308-0d34-0410-b5e6-96231b3b80d8
commit 58758822aa166beecd3633bb2dcc0d1cb40270f7
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:48:33 2010 +0000
add note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95445 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76c3b4645cfb88bed06ac303e3bd5eca7fbd76d3
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:46:46 2010 +0000
remove fixme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95444 91177308-0d34-0410-b5e6-96231b3b80d8
commit fede66007333c9d37b55becc6478c660ffbb2f97
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:20:08 2010 +0000
print encodings like this:
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0x00,0x00,0x00]
instead of like this:
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0000,0000,0000]
this only affects 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95441 91177308-0d34-0410-b5e6-96231b3b80d8
commit d29fd16ba6730e5d468b3c801036defc38d4fee8
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 22:10:22 2010 +0000
port X86InstrInfo::determineREX over to the new encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95440 91177308-0d34-0410-b5e6-96231b3b80d8
commit e263df713726cad8194b57e152b239fefe116328
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Feb 5 22:03:18 2010 +0000
Teach SimplifyCFG about magic pointer constants.
Weird code sometimes uses pointer constants other than null. This patch
teaches SimplifyCFG to build switch instructions in those cases.
Code like this:
void f(const char *x) {
if (!x)
puts("null");
else if ((uintptr_t)x == 1)
puts("one");
else if (x == (char*)2 || x == (char*)3)
puts("two");
else if ((intptr_t)x == 4)
puts("four");
else
puts(x);
}
Now becomes a switch:
define void @f(i8* %x) nounwind ssp {
entry:
%magicptr23 = ptrtoint i8* %x to i64 ; <i64> [#uses=1]
switch i64 %magicptr23, label %if.else16 [
i64 0, label %if.then
i64 1, label %if.then2
i64 2, label %if.then9
i64 3, label %if.then9
i64 4, label %if.then14
]
Note that LLVM's own DenseMap uses magic pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95439 91177308-0d34-0410-b5e6-96231b3b80d8
commit ea6cb061194032ea1cc02f3a0fa464862414c8c7
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:51:35 2010 +0000
wire up 64-bit MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95438 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca4ccadd5a260f18e4a0028eb8e98eb66aed0119
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:34:18 2010 +0000
really kill off the last MRMInitReg inst, remove logic from encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95437 91177308-0d34-0410-b5e6-96231b3b80d8
commit f2187ef165bbd8862570d9a442efa069a2f21c32
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:30:49 2010 +0000
lower the last of the MRMInitReg instructions in MCInstLower.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95435 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1d1881dc28eaf484040bae6693cd05a37268f3e6
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:21:06 2010 +0000
teach X86MCInstLower to lower the MOV32r0 and MOV8r0
pseudo instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95433 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a7f3c694c409396d5afc89a011156d4ba0cf540
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:15:57 2010 +0000
genericize helpers, use them for MOV16r0/MOV64r0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95432 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c9facc0f5829c9a757001a9be72fe525a7092c6
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 21:13:48 2010 +0000
factor code better in X86MCInstLower::Lower, teach it to
lower the SETB* instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95431 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e91ee7ed44cec2961c224a7658517bfdb571339
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:53:02 2010 +0000
fix logical-select to invoke filecheck right, and fix hte instcombine
xform it is checking to actually pass. There is no need to match
m_SelectCst<0, -1> since instcombine canonicalizes that into not(sext).
Add matches for sext(not(x)) in addition to not(sext(x)).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95420 91177308-0d34-0410-b5e6-96231b3b80d8
commit bef7eae141f95e6f9bac2d89e32821aac60be254
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:37:31 2010 +0000
implement the rest of the encoding types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95414 91177308-0d34-0410-b5e6-96231b3b80d8
commit e49d7f0238b69efa30030feaa7c0902de2d34372
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:24:13 2010 +0000
move functions for decoding X86II values into the X86II namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95410 91177308-0d34-0410-b5e6-96231b3b80d8
commit e124253d75ebdf633ea46bfc88249f0d8816da80
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 5 19:24:11 2010 +0000
Implement releaseMemory in CodeGenPrepare and free the BackEdges
container data. This prevents it from holding onto dangling
pointers and potentially behaving unpredictably.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95409 91177308-0d34-0410-b5e6-96231b3b80d8
commit 00da15e44575b6dd929c98ffcea255fd1e3c417f
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:20:30 2010 +0000
constant propagate a method away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95408 91177308-0d34-0410-b5e6-96231b3b80d8
commit d288fa5c437772beb0e8fd80321f3d30483bec69
Author: Dan Gohman <gohman@apple.com>
Date: Fri Feb 5 19:20:15 2010 +0000
Use a SmallSetVector instead of a SetVector; this code showed up as a
malloc caller in a profile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95407 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4cb61fd7b7f6ab2a46be75570f738b78d4759c7b
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:16:26 2010 +0000
change getSizeOfImm and getBaseOpcodeFor to just take
TSFlags directly instead of a TargetInstrDesc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95405 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee40acfedd0178837836456fd0be4056a490c481
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 19:04:37 2010 +0000
add some more encodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95403 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0444fea9072a78d761b68d00d7d65596a13a2439
Author: Eric Christopher <echristo@apple.com>
Date: Fri Feb 5 19:04:06 2010 +0000
Remove this code for now. I have a better idea and will rewrite with
that in mind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95402 91177308-0d34-0410-b5e6-96231b3b80d8
commit aed0106212e26a122c13834c5a99aebcd94e7caa
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 5 18:09:19 2010 +0000
Make lit's gtest support honor config.environment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95398 91177308-0d34-0410-b5e6-96231b3b80d8
commit f4af5e911cadff4f2f5a01d8bace2adc5cadbaeb
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Feb 5 18:04:58 2010 +0000
VMOVRRD and VMOVDRR both have Inst{7-6} = 0b00.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95397 91177308-0d34-0410-b5e6-96231b3b80d8
commit 56fbc4ede9610b426e5dbf62a5f7362082c2ce2e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Feb 5 16:19:36 2010 +0000
Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp.
llc.cpp also defined these flags, meaning that when I linked all of LLVM's
libraries into a single shared library, llc crashed on startup with duplicate
flag definitions. This patch passes them through the EngineBuilder into
JIT::selectTarget().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95390 91177308-0d34-0410-b5e6-96231b3b80d8
commit 739d920a390fa32de22d3559c7f330e664b8cbed
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 5 11:21:05 2010 +0000
Make test more fucused eliminating extraneous bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95384 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3e9ffb3d5bf4f0694d95396cf9be6236eb7b7705
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Feb 5 07:32:18 2010 +0000
MC: Change default comment column to 40 characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95378 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1253ac260d7878f554e92d5faca350e05e3da1c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 5 06:37:00 2010 +0000
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95373 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0216b2e36ecb4f9495a76c6742b5130fc28f554
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 06:16:07 2010 +0000
implement the non-relocation forms of memory operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95368 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1af931d655ccd22047e6f10b4bc87275099048d3
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 5 02:21:12 2010 +0000
Handle tail call with byval arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95351 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9f1617ad56becb49ba3acd0f0277a852e747c7d4
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 02:18:40 2010 +0000
start adding MRMDestMem, which requires memory form mod/rm encoding
to start limping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95350 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb61e493e8166c3c5fa2e9be00cf7c2258a0454c
Author: Chris Lattner <sabre@nondot.org>
Date: Fri Feb 5 01:53:19 2010 +0000
Add a few more encodings, we can now encode all of:
pushl %ebp
movl %esp, %ebp
movl $42, %eax
popl %ebp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95344 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14eaa6d49a9c27f5ca3568336f423dbd3a9a362b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Feb 5 01:27:11 2010 +0000
When the scheduler unfold a load folding instruction it move some of the predecessors to the unfolded load. It decides what gets moved to the load by checking whether the new load is using the predecessor as an operand. The check neglects the cases whether the predecessor is a flagged scheduling unit.
rdar://7604000
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95339 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7b8b3190e0b394f680aec4a3a2bbeb8d9683f8c6
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Feb 5 00:17:02 2010 +0000
An empty global constant (one of size 0) may have a section immediately
following it. However, the EmitGlobalConstant method wasn't emitting a body for
the constant. The assembler doesn't like that. Before, we were generating this:
.zerofill __DATA, __common, __cmd, 1, 3
This fix puts us back to that semantic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95336 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4754ce2bbdbc22901c895e808f6d3b59fd0e6ca5
Author: Bob Wilson <bob.wilson@apple.com>
Date: Thu Feb 4 23:32:37 2010 +0000
Do not reassociate expressions with i1 type. SimplifyCFG converts some
short-circuited conditions to AND/OR expressions, and those expressions
are often converted back to a short-circuited form in code gen. The
original source order may have been optimized to take advantage of the
expected values, and if we reassociate them, we change the order and
subvert that optimization. Radar 7497329.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95333 91177308-0d34-0410-b5e6-96231b3b80d8
commit d0ee4d055a7df10fd00e7e2c79f49150794dc84b
Author: Evan Phoenix <evan@fallingsnow.net>
Date: Thu Feb 4 19:56:59 2010 +0000
Disable external stubs for X86-32 and X86-64
Instruction selection for X86 now can choose an instruction
sequence that will fit any address of any symbol, no matter
the pointer width. X86-64 uses a mov+call-via-reg sequence
for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95323 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6d58f1c83e473d7ef4bbe5eca61b44caf2ee9217
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 19:07:06 2010 +0000
Fix typo Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95322 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a89cf2a84a9742cb18541da4cf7c9256ae4f72c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 4 18:48:20 2010 +0000
Increase inliner thresholds by 25.
This makes the inliner about as agressive as it was before my changes to the
inliner cost calculations. These levels give the same performance and slightly
smaller code than before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95320 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6858dd68e42d90b458b0b447612323bcaab6028c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Thu Feb 4 18:46:28 2010 +0000
Fix small bug in handling instructions with more than one implicitly defined operand.
ProcessImplicitDefs would only mark one operand per instruction with <undef>.
This fixed PR6086.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95319 91177308-0d34-0410-b5e6-96231b3b80d8
commit 224fafa77876e93609df4cbd2f1fc8189353f520
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Feb 4 18:40:11 2010 +0000
Get the LLVMC tests working with clang++ by removing the problematic CXXFLAG in lit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95318 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08c61aa2f10ad1819dcb72b9cf97e63e9ae1aad0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Feb 4 11:57:54 2010 +0000
Apply property changes from PR6228.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95303 91177308-0d34-0410-b5e6-96231b3b80d8
commit 361dab7c6f2a1549ad87ace3fbfd8cb6845f7a4f
Author: Edwin Török <edwintorok@gmail.com>
Date: Thu Feb 4 09:31:35 2010 +0000
New flag for GenLibDeps, and llvm-config-perobjincl.
This allows to show the explicit files that need to be built/linked to get an
LLVM component.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95300 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5856a4fae7c87dc2938c1442f4ce73e9117ed52e
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 07:32:01 2010 +0000
move the PR6214 microoptzn to this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95299 91177308-0d34-0410-b5e6-96231b3b80d8
commit ec8ea91a09cc6dfaadb5c1c867467f1e4185e236
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 07:11:08 2010 +0000
fix a broken archive that was breaking dejagnu only (not lit)
after r95292
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95296 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8b36ef7f8be0244c1f43d84eed43178991668089
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 06:47:24 2010 +0000
Re-enable x86 tail call optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95295 91177308-0d34-0410-b5e6-96231b3b80d8
commit bd2bd23ea5f37c9bf362137e0fcab6ce798b9d37
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 4 06:41:27 2010 +0000
Temporarily revert this since it appears to have caused a build
failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95294 91177308-0d34-0410-b5e6-96231b3b80d8
commit c102e823b361cdf9c0f7e0d95b3668e13617d7da
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 06:34:01 2010 +0000
add support for the sparcv9-*-* target triple to turn on
64-bit sparc codegen. Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95293 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2d60cc5451bbcc875d8d0d4c42a3dc970a7469e8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Feb 4 06:19:43 2010 +0000
From PR6228:
"Attached patch removes the extra NUL bytes from the output and changes
test/Archive/MacOSX.toc from a binary to a text file (removes
svn:mime-type=application/octet-stream and adds svn:eol-style=native). I can't
figure out how to get SVN to include the new contents of the file in the patch
so I'm attaching it separately."
Patch by James Abbatiello!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95292 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb6f779a5ff24d22b74bb396232ac84b9386d682
Author: Eric Christopher <echristo@apple.com>
Date: Thu Feb 4 02:55:34 2010 +0000
Rework constant expr and array handling for objectsize instcombining.
Fix bugs where we would compute out of bounds as in bounds, and where
we couldn't know that the linker could override the size of an array.
Add a few new testcases, change existing testcase to use a private
global array instead of extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95283 91177308-0d34-0410-b5e6-96231b3b80d8
commit fa66ea30c2cf83a19157ec92b4e520f5cf4bd299
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 02:45:02 2010 +0000
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95282 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9462c3a8c6cabfac5824aaf1274a210edaca3993
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 4 02:43:51 2010 +0000
Change the argument to getIntegerSCEV to be an int64_t, rather
than int. This will make it more convenient for LSR, which does
a lot of things with int64_t offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95281 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c9b1478e9781dfd689a7297d401f259f67c3d68
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Feb 4 02:40:39 2010 +0000
Indirect tail call has to go through a call preserved register since it's after callee register pops. X86 isel lowering is using EAX / R11 and it was somehow adding that to function live out. That prevented the real function return register from being added to the function live out list and bad things happen.
This fixes 483.xalancbmk (with tail call opt).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95280 91177308-0d34-0410-b5e6-96231b3b80d8
commit d77df71803f0e9d49c876caa31f4ace2c4b4cd98
Author: Sean Callanan <scallanan@apple.com>
Date: Thu Feb 4 01:43:08 2010 +0000
Filled in a few new APIs for the enhanced
disassembly library that provide access to
instruction information, and fixed ambiguous
wording in the comments for the header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95274 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0926ed7137ab99acade66f1c9bf746d040a2db27
Author: Dan Gohman <gohman@apple.com>
Date: Thu Feb 4 01:42:13 2010 +0000
Use a tab instead of space after .type, for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95272 91177308-0d34-0410-b5e6-96231b3b80d8
commit 40787dcb640de2fc69c0291e1a788c46d0ed3d78
Author: Dale Johannesen <dalej@apple.com>
Date: Thu Feb 4 01:33:43 2010 +0000
Rewrite FP constant handling in DEBUG_VALUE yet
again, so it more or less handles long double.
Restore \n removed in latest MC frenzy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95271 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5aa5f8dbf6127b2c4afe4f1bb15396e82fdca049
Author: Victor Hernandez <vhernandez@apple.com>
Date: Thu Feb 4 01:13:08 2010 +0000
Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95269 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4fefacb214916e74d81d132fcb76a089e020499c
Author: Eric Christopher <echristo@apple.com>
Date: Wed Feb 3 23:56:07 2010 +0000
If we're dealing with a zero-length array, don't lower to any
particular size, we just don't know what the length is yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95266 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1bce8ccee05dd5340560bc330068e5d6e3602f99
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 22:33:17 2010 +0000
This test passes now on ppc darwin; if it doesn't pass
on some other ppc say something on the list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95265 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07c1cb52549b6c95ce42c23893bff6764b6e7042
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 22:29:02 2010 +0000
This test passes now on ppc darwin, so reenable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95264 91177308-0d34-0410-b5e6-96231b3b80d8
commit c09099dadac902f3e672e26c0831d6b2151d779f
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 22:24:49 2010 +0000
Debugging is now reenabled on PPC darwin, so reenable
these tests (they pass).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95263 91177308-0d34-0410-b5e6-96231b3b80d8
commit 777872cc6a319b8695bd62962aaeb9ebbf3d969e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:57:59 2010 +0000
enhance new encoder to support prefixes + RawFrm
instructions with no operands. It can now handle
define void @test2() nounwind { ret void }
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95261 91177308-0d34-0410-b5e6-96231b3b80d8
commit 364fb537e4e3f3c4bb46d15a086b682a36bb3065
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:43:43 2010 +0000
set up some infrastructure, some minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95260 91177308-0d34-0410-b5e6-96231b3b80d8
commit a825a3149e613e5e42730fa790f9e39e5a9f635c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 21:40:40 2010 +0000
Speculatively disable x86 automatic tail call optimization while we track down a self-hosting issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95259 91177308-0d34-0410-b5e6-96231b3b80d8
commit 41aed3c15b65cdec29da235390b3e3cd7b11ad7a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 21:39:04 2010 +0000
Make test less fragile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95258 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd2d81f36803ff0e9f0efdaea13b0276b49d7843
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:24:49 2010 +0000
stub out a new X86 encoder, which can be tried with
-enable-new-x86-encoder until its stable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95256 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1bb768cf0398615a2a6cbc4e98af77eefe960764
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 21:14:33 2010 +0000
rename createX86MCCodeEmitter to more accurately reflect what it creates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95254 91177308-0d34-0410-b5e6-96231b3b80d8
commit ae5bc0f4122457a67bbfcfddd89b063803e34e3d
Author: Kevin Enderby <enderby@apple.com>
Date: Wed Feb 3 21:04:42 2010 +0000
Added support for X86 instruction prefixes so llvm-mc can assemble them. The
Lock prefix, Repeat string operation prefixes and the Segment override prefixes.
Also added versions of the move string and store string instructions without the
repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of
move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is
happy building the disassembler files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95252 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2831d5d4aff7323c6526bfa99857dac2bf94295e
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 3 20:08:48 2010 +0000
Emit appropriate expression to find virtual base offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95242 91177308-0d34-0410-b5e6-96231b3b80d8
commit 51ea0cc2933924feb130d52d071e5bdee8ed694b
Author: Devang Patel <dpatel@apple.com>
Date: Wed Feb 3 19:57:19 2010 +0000
Provide interface to identifiy artificial methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95240 91177308-0d34-0410-b5e6-96231b3b80d8
commit b1af53a796f93066a34cdf4cf7b9371aa173c1c3
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 19:18:04 2010 +0000
r94686 changed all ModuleProvider parameters to Modules, which made the
1-argument ExecutionEngine::create(Module*) ambiguous with the signature that
used to be ExecutionEngine::create(ModuleProvider*, defaulted_params). Fixed
by removing the 1-argument create(). Fixes PR6221.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95236 91177308-0d34-0410-b5e6-96231b3b80d8
commit 819e4ea9858786a3a202642b179f4dffc0cde9c2
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 18:49:55 2010 +0000
Make docs less specific about their versions, at Chris's suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95231 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2402ff84538dadd53e6f13f5ad9dd7c6bdfe0ef0
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 3 18:43:46 2010 +0000
Add llvm_supports_darwin_and_target to DejaGNU as well, I'd almost forgotten it
ever existed. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95230 91177308-0d34-0410-b5e6-96231b3b80d8
commit 38bec178a30bdb19ad3197fcc0abd6b61fe72ee1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 18:23:23 2010 +0000
Mention the version in the documentation index and link to the 2.6 docs, which
is what most readers will actually be aiming for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95229 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0889414038faa0c5c8f1fd28db4391c7a1dfabad
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Feb 3 18:18:30 2010 +0000
llvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly
output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95227 91177308-0d34-0410-b5e6-96231b3b80d8
commit 76fd987a802f86d0ca298812b63552a15b7f174d
Author: Dan Gohman <gohman@apple.com>
Date: Wed Feb 3 17:27:31 2010 +0000
Add "Author Date Id Revision" svn:keyword properties to these files, as
is done with the other html files in doc, to hopefully keep strings like
"Last modified" current.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95225 91177308-0d34-0410-b5e6-96231b3b80d8
commit 66b7149074808f51fd6365b509028ff862a05108
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 3 17:23:56 2010 +0000
Adjust the heuristics used to decide when SROA is likely to be profitable.
The SRThreshold value makes perfect sense for checking if an entire aggregate
should be promoted to a scalar integer, but it is not so good for splitting
an aggregate into its separate elements. A struct may contain a large embedded
array along with some scalar fields that would benefit from being split apart
by SROA. Even if the total aggregate size is large, it may still be good to
perform SROA. Thus, the most important piece of this patch is simply moving
the aggregate size comparison vs. SRThreshold so that it guards only the
aggregate promotion.
We have also been checking the number of elements to decide if an aggregate
should be split up. The limit of "SRThreshold/4" seemed rather arbitrary,
and I don't think it's very useful to derive this limit from SRThreshold
anyway. I've collected some data showing that the current default limit of
32 (since SRThreshold defaults to 128) is a reasonable cutoff for struct
types. One thing suggested by the data is that distinguishing between structs
and arrays might be useful. There are (obviously) a lot more large arrays
than large structs (as measured by the number of elements and not the total
size -- a large array inside a struct still counts as a single element given
the way we do SROA right now). Out of 8377 arrays where we successfully
performed SROA while compiling a large set of benchmarks, only 16 of them had
more than 8 elements. And, for those 16 arrays, it's not at all clear that
SROA was actually beneficial. So, to offset the compile time cost of
investigating more large structs for SROA, the patch lowers the limit on array
elements to 8.
This fixes Apple Radar 7563690.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95224 91177308-0d34-0410-b5e6-96231b3b80d8
commit b692ce605e860ee4d6928eab7586d3cfc2302407
Author: Garrison Venn <gvenn.cfe.dev@gmail.com>
Date: Wed Feb 3 12:00:02 2010 +0000
Repository access test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95221 91177308-0d34-0410-b5e6-96231b3b80d8
commit b49b883b85ef0c4d56c3343a46bcbea6e4d09a3e
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Wed Feb 3 09:05:21 2010 +0000
Remove redundant declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95213 91177308-0d34-0410-b5e6-96231b3b80d8
commit b68773962f3210db4e2a3837197737c8eaa6e0ad
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Wed Feb 3 09:04:11 2010 +0000
Add constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95212 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1f506f73258301e6cfb4128a3cce5bf93380460a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:42:38 2010 +0000
reapply r95206, this time actually delete the code I'm replacing in the third stub case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95209 91177308-0d34-0410-b5e6-96231b3b80d8
commit cd96d73fe03dff21c9fe0bf9787fc34e37411e34
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:41:18 2010 +0000
revert r95206, it is apparently causing bootstrap failure on i386-darwin9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95208 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7a1f1f72708b2ff83d4f5ea1df34e652a73e1ba0
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:28:13 2010 +0000
print instruction encodings with the existing comment facilities,
so that llvm-mc -show-encoding prints like this:
hlt ## encoding: [0xf4]
instead of like this:
hlt
# encoding: [0xf4]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95207 91177308-0d34-0410-b5e6-96231b3b80d8
commit b8efb41ad3922cdd022a2eedc8bb5ee098e68b91
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:21:16 2010 +0000
make the x86 backend emit darwin stubs through mcstreamer
instead of textually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95206 91177308-0d34-0410-b5e6-96231b3b80d8
commit e550c4e717d5135efe0df7e679ec1e83b7ecc0f9
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 06:18:30 2010 +0000
make MachineModuleInfoMachO hold non-const MCSymbol*'s instead
of const ones. non-const ones aren't very useful, because you can't
even, say, emit them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95205 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73cdb9fff3e6e69e6429be28339d10ae0ba78d1a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 05:55:08 2010 +0000
change addPassesToEmitFile to return true on failure instead of its input,
add -filetype=null for performance testing and remove -filetype=dynlib,
which isn't planned to be implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95202 91177308-0d34-0410-b5e6-96231b3b80d8
commit 73b9dcac300a4b4f5814fd628a774ecd2693b639
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 03:55:59 2010 +0000
Revert 94937 and move the noreturn check to codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95198 91177308-0d34-0410-b5e6-96231b3b80d8
commit acfc18fbad20b8f2e402408648537a463f3cbb57
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Feb 3 03:46:41 2010 +0000
Fixed the disassembler so it accepts multiple
instructions on a single line. Also made it a
bit more forgiving when it reports errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95197 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7550a4139b55d976e60bf2025e41e9a76d9bc6df
Author: John McCall <rjmccall@apple.com>
Date: Wed Feb 3 03:42:44 2010 +0000
Make APInt::countLeadingZerosSlowCase() treat the contents of padding bits
as undefined. Fixes an assertion in APFloat::toString noticed by Dale.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95196 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4c2d02dcf909a29ad5776b8e320a3e896ec81d91
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Feb 3 03:28:02 2010 +0000
Allow all types of callee's to be tail called. But avoid automatic tailcall if the callee is a result of bitcast to avoid losing necessary zext / sext etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95195 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7aec47e78037512575e13a5b31b059bb2ea02cf6
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Feb 3 02:11:49 2010 +0000
Reconfigure with autoconf-2.60, and fix autoconf.ac to work with that version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95191 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5da1e50388dd0ba4a949dd5c559ffb6c9433abc1
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:49:49 2010 +0000
don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,
.o files don't like that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95187 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25137eb1159bc82bdf8a9b6c56a3bc1d05febd8a
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:46:05 2010 +0000
privatize a bunch of methods and move \n printing into them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95186 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed2c379e4c3bf39afbdfe08b573f965a62063b45
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:41:03 2010 +0000
rename printMachineInstruction -> EmitInstruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95184 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0ee7ca20cd5c9b157c4a1ab9825d6c2f0ba99e96
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 01:40:33 2010 +0000
Reapply 95050 with a tweak to check the register class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95183 91177308-0d34-0410-b5e6-96231b3b80d8
commit dab48b4dbe274d58ffe036848efe3f3de25596eb
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:16:28 2010 +0000
print instructions through the mcstreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95181 91177308-0d34-0410-b5e6-96231b3b80d8
commit 74887bc2f8910a00660b4dfe55cbd2a3f5639681
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:15:03 2010 +0000
emit instructions through the streamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95180 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5099786d0b6e63912227de6fe21f1921bb8ca311
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:13:25 2010 +0000
Finally eliminate printMCInst and send instructions through
the streamer. Demo:
$ cat t.ll
define i32 @test() nounwind {
ret i32 42
}
$ llc t.ll -o -
...
_test:
movl $42, %eax
ret
$ llc t.ll -o t.o -filetype=obj
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_test:
00000000 movl $0x0000002a,%eax
00000005 ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95179 91177308-0d34-0410-b5e6-96231b3b80d8
commit f49ae3f1c237f37309d8b8d3c096c902e64156a7
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:09:55 2010 +0000
rejigger the world so that EmitInstruction prints the \n at
the end of the instruction instead of expecting the caller to
do it. This currently causes the asm-verbose instruction
comments to be on the next line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95178 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89ef2563079e2c3e90116949105928b57eca6c97
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 01:00:52 2010 +0000
sink handling of target-independent machine instrs (other
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp
file. This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95177 91177308-0d34-0410-b5e6-96231b3b80d8
commit c38f1118b1fe7c43c8b4fe67dd920d50a574874e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 00:48:53 2010 +0000
make these less sensitive to asm verbose changes by disabling it for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95175 91177308-0d34-0410-b5e6-96231b3b80d8
commit a43ec0f4625cfbff87cf1cad3e233d564fb5b79f
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Feb 3 00:36:40 2010 +0000
Print FPImm a less kludgy way; APFloat.toString seems
to have some problems anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95171 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a7420b3f92907948e325b870253bb2215ee871b
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Feb 3 00:33:21 2010 +0000
Fix some comment typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95170 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07a7fb4dfc55877789e4ac89e8e15f7eb193a1c0
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 00:29:55 2010 +0000
pass an instprinter into the AsmPrinter if it is available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95168 91177308-0d34-0410-b5e6-96231b3b80d8
commit b881efd98a3db73235b51fef4a67c8a27ab6c86d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Feb 3 00:22:02 2010 +0000
make any use of the "O" stream in asmprinter print to
stderr if in filetype=obj mode. This is a hack, and will
live until dwarf emission and other random stuff that is
not yet going through MCStreamer is upgraded. It only
impacts filetype=obj mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95166 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23ce2ffb517fec9f017309966c12c1f79a92593e
Author: Eric Christopher <echristo@apple.com>
Date: Wed Feb 3 00:21:58 2010 +0000
Recommit this, looks like it wasn't the cause.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95165 91177308-0d34-0410-b5e6-96231b3b80d8
commit 455d28b90ab94ef472ed76178182626c18f36424
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 23:58:13 2010 +0000
ByVal frame object size should be that of the byval argument, not the size of the type which is just a pointer. This is not known to break stuff but is wrong nevertheless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95163 91177308-0d34-0410-b5e6-96231b3b80d8
commit 756d064ed2ce9da3f9ce4667a9bd3dd132312808
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 23:57:42 2010 +0000
Hook up -filetype=obj through the MachO streamer. Here's a demo:
$ cat t.ll
@g = global i32 42
$ llc t.ll -o t.o -filetype=obj
$ nm t.o
00000000 D _g
There is still a ton of work left. Instructions are not being encoded
yet apparently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95162 91177308-0d34-0410-b5e6-96231b3b80d8
commit 21e1c2718234fa1657c0aeeea86b5dece6ce1d74
Author: Jim Grosbach <grosbach@apple.com>
Date: Tue Feb 2 23:56:14 2010 +0000
As of r79039, we still try to eliminate the frame pointer on leaf functions,
even when -disable-fp-elim is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95161 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f7db78a1e125e52592115b0c97029143fae537a
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 23:55:14 2010 +0000
Revert 95130.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95160 91177308-0d34-0410-b5e6-96231b3b80d8
commit dcbc37a6c5942a820f36cf6b66bdc041df414ce7
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 2 23:54:23 2010 +0000
Accept floating point immediates in DEBUG_VALUE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95159 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc21f9123f818edf24d5b40c526dc02a6a2151a4
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 23:46:47 2010 +0000
AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need
some mechanism for specifying alternative syntaxes, but I'm not sure what form
that should take yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95158 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5f6ea763bf9b8e0dd4f2d3698a5e29e8d2a5017a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 23:46:36 2010 +0000
AsmMatcherEmitter: Use stable_sort when reordering instructions, so that order
is still deterministic even amongst ambiguous instructions (eventually ambiguous
match orders will be a hard error, but we aren't there yet).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95157 91177308-0d34-0410-b5e6-96231b3b80d8
commit 397cebe4eb9631eb73da640399ac802d76a412fb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 23:45:17 2010 +0000
use OwningPtr and factor code better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95156 91177308-0d34-0410-b5e6-96231b3b80d8
commit bc40c64e5548d1a6b93613dc50b487820d8e7d91
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 23:37:42 2010 +0000
refactor code so that LLVMTargetMachine creates the asmstreamer and
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95155 91177308-0d34-0410-b5e6-96231b3b80d8
commit d334d70d6b78b9533b875b329aac174ffa922747
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 23:01:31 2010 +0000
Hopefully temporarily revert this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95154 91177308-0d34-0410-b5e6-96231b3b80d8
commit b5696b523dbc5c8586a5222d5519fe820ee9424b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:58:13 2010 +0000
simplify getVerboseAsm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95153 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6b284d094e3805cf4d3dca8fbb91acbad84cf546
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:54:51 2010 +0000
move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with the rest of the command line options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95152 91177308-0d34-0410-b5e6-96231b3b80d8
commit e80dc6079eaeaf314617975b9518414674af2cbd
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:37:42 2010 +0000
remove dead #include, stupid symlinks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95150 91177308-0d34-0410-b5e6-96231b3b80d8
commit d8982c7f29ed5ead56d2b93cfaa728a50a3ed12c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:36:29 2010 +0000
remove the # TAILCALL markers, which was causing the to fail.
It's unclear if the matcher is nondeterminstic of what here,
but I'm getting matches without TAILCALL and some other hosts
are getting matches with it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95149 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8622da039332c3928eb306e8317c8cd1a18d4809
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:31:11 2010 +0000
Remove a bunch of stuff around the edges of the ELF writer.
Now the only use of the ELF writer is the JIT, which won't be
easy to fix in the short term. :( :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95148 91177308-0d34-0410-b5e6-96231b3b80d8
commit c66b12bfe23a9469cfe8316dd99204cc94b4b5cf
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 22:29:26 2010 +0000
Reformat my last patch slightly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95147 91177308-0d34-0410-b5e6-96231b3b80d8
commit 049f71265b0a9dc1bf938c87b9d3c3b076e47835
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:13:21 2010 +0000
tidy some targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95146 91177308-0d34-0410-b5e6-96231b3b80d8
commit e3b4b0ba19b5001a565087800fd343cef5be9e39
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 22:10:43 2010 +0000
Re-add strcmp and known size object size checking optimization.
Passed bootstrap and nightly test run here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95145 91177308-0d34-0410-b5e6-96231b3b80d8
commit ed3cf2287918962e1d0c7a4daf3817fef8700fb0
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 22:03:00 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95144 91177308-0d34-0410-b5e6-96231b3b80d8
commit b84851fd840d1bc4d79d696b6e8679d3acbafcda
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 22:00:15 2010 +0000
MCAssembler/Darwin: Add a test (on Darwin) that we assemble a bunch of
instructions exactly like 'as', and produce equivalent .o files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95143 91177308-0d34-0410-b5e6-96231b3b80d8
commit 062ed9b30fff92c004912477bb9255722f8835ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:55:58 2010 +0000
detemplatize the ppc code emitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95142 91177308-0d34-0410-b5e6-96231b3b80d8
commit 669180b467a7ec704fd95d8d26251fbaffe3e1fd
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:52:03 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95141 91177308-0d34-0410-b5e6-96231b3b80d8
commit 050e1f2800742f0fe7dbc4cf416a49bb1f6ac773
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:49:29 2010 +0000
add a definition for ID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95140 91177308-0d34-0410-b5e6-96231b3b80d8
commit d19fc96465d615f29b254a2a5bdb5a9a431b6dab
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:48:51 2010 +0000
detemplatize ARM code emitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95138 91177308-0d34-0410-b5e6-96231b3b80d8
commit 85186c4e27f082dce8568ce347983481bce4607e
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 21:44:16 2010 +0000
MCAsmParser/X86: Represent absolute memory operands as CodeGen does, with scale
== 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95137 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6776221b04b736cec359aace62501c512d2dc7a1
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 21:44:10 2010 +0000
MCCodeEmitter/X86: Handle tied registers better when converting MCInst ->
MCMachineInstr. This also fixes handling of tied registers for MRMSrcMem
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95136 91177308-0d34-0410-b5e6-96231b3b80d8
commit df557c865aaa18a337964f7cccf7973b12d9735a
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 21:44:01 2010 +0000
MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95135 91177308-0d34-0410-b5e6-96231b3b80d8
commit f9365bf724b4308e2bac368a2f29a02fe949ff0f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:38:59 2010 +0000
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95134 91177308-0d34-0410-b5e6-96231b3b80d8
commit f393cd4958708c36c353f9179ee4f3324edc801c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:35:47 2010 +0000
detemplatize alpha code emission, it is now JIT specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95133 91177308-0d34-0410-b5e6-96231b3b80d8
commit bb4e4e82f29f101e47c0d3fc42be85a82e993cad
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:31:47 2010 +0000
eliminate all the dead addSimpleCodeEmitter implementations.
eliminate random "code emitter" stuff in Alpha, except for
the JIT path. Next up, remove the template cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95131 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32abfae758e1d86d915f1f0e5aec20bea802d4fa
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 21:29:10 2010 +0000
Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95130 91177308-0d34-0410-b5e6-96231b3b80d8
commit 818ad00b8aa8a10052e77c92c67f69f32b2356ba
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 21:11:22 2010 +0000
Make DenseSet's erase pass on the return value rather than swallowing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95127 91177308-0d34-0410-b5e6-96231b3b80d8
commit f3adb09481fcde8dd865a5a2fcb8201e3dac7b97
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 21:10:27 2010 +0000
Fix function names in comments. Thanks Duncan!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95126 91177308-0d34-0410-b5e6-96231b3b80d8
commit 138c76eb26da9c0d40033566d2a57f2d5510f1ba
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 21:06:45 2010 +0000
eliminate FileModel::Model, just use CodeGenFileType. The client
of the code generator shouldn't care what object format a target
uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95124 91177308-0d34-0410-b5e6-96231b3b80d8
commit 71f26cdad52675b2b0ef19c349d0f59cd27323ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 20:57:28 2010 +0000
this apparently depends on the host somehow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95122 91177308-0d34-0410-b5e6-96231b3b80d8
commit f792e0305f7a44f12e12b65a89c101a43aeb687b
Author: Bill Wendling <isanbard@gmail.com>
Date: Tue Feb 2 20:56:02 2010 +0000
XFAIL for PPC Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95121 91177308-0d34-0410-b5e6-96231b3b80d8
commit 742d333e513f892dfe2e5d31d3e53008bf3176f7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 20:41:39 2010 +0000
disable this test for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95120 91177308-0d34-0410-b5e6-96231b3b80d8
commit cfe96230d1779423b5f75664be0053fece155600
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 20:20:30 2010 +0000
...and fixed the Makefile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95119 91177308-0d34-0410-b5e6-96231b3b80d8
commit 29afd237bdf1618d1f9e82919bb9346b8e8f3833
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 20:11:23 2010 +0000
Renamed the ed directory to edis, as suggested
yesterday. This eliminates possible confusion
about what exactly in this directory; the name
is still short, though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95118 91177308-0d34-0410-b5e6-96231b3b80d8
commit 63cb9e7fa1ca3ddf761bf5d1ea3a35711ca16689
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:41:23 2010 +0000
remove the remnants of TargetMachOWriterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95114 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6f6ee467bd3d1dd02b2dd8d95e90d1aad451fafb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:38:14 2010 +0000
Add a new top-level MachO.h file for manifest constants, fixing
a layering violation from MC -> Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95113 91177308-0d34-0410-b5e6-96231b3b80d8
commit 982557e7ea0bb8dda5799323072c0e2ce7c5099d
Author: Johnny Chen <johnny.chen@apple.com>
Date: Tue Feb 2 19:31:58 2010 +0000
Added t2BFI (Bitfield Insert) entry for disassembler, with blank pattern field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95112 91177308-0d34-0410-b5e6-96231b3b80d8
commit 368dfe8381c0b8bf62cd2f7c279af5917ceb24eb
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:23:55 2010 +0000
remove PPCMachOWriterInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95111 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0b860df49af8a5ce36983931fe3c3473e318d037
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:14:27 2010 +0000
eliminate all forms of addPassesToEmitMachineCode except
the one used by the JIT. Remove all forms of
addPassesToEmitFileFinish except the one used by the static
code generator. Inline the remaining version of
addPassesToEmitFileFinish into its only caller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95109 91177308-0d34-0410-b5e6-96231b3b80d8
commit c74cb6dfb1a37f36bf306ce88282c8478c40f062
Author: Kevin Enderby <enderby@apple.com>
Date: Tue Feb 2 19:05:57 2010 +0000
Added another version of the X86 assembler matcher test case.
This test case is different subset of the full auto generated test case, and a
larger subset that is in x86_32-bit.s (that set will encode correctly). These
instructions can pass though llvm-mc as it were a logical cat(1) and then
reassemble to the same instruction. It is useful as we bring up the parser and
matcher so we don't break things that currently work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95107 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf50076b6922bd5761ce8f827c44fd5395329dc7
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 19:03:39 2010 +0000
remove dead code, we're requesting TargetMachine::AssemblyFile here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95105 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8184d24c93887f1d3eb9cbda7d7e8fa19e8c6344
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 2 18:52:56 2010 +0000
Test revert 95050; there's a good chance it's causing
buildbot failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95103 91177308-0d34-0410-b5e6-96231b3b80d8
commit 545b1b1a9d368259e05f745840ebf091d0cad704
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 18:44:12 2010 +0000
Inline addAssemblyEmitter into its one real caller and delete
the -print-emitted-asm option. The JIT shouldn't have to pull
in the asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95100 91177308-0d34-0410-b5e6-96231b3b80d8
commit abebd2f6102df6dbf12b44e147132ca029a36018
Author: Duncan Sands <baldrick@free.fr>
Date: Tue Feb 2 12:53:04 2010 +0000
Adding missing methods for creating Add, Mul, Neg and Sub with NUW.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95086 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8142256571dbba74bf0d1dc5dc3c696096dd185c
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 07:05:31 2010 +0000
Return value on every path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95075 91177308-0d34-0410-b5e6-96231b3b80d8
commit d4c74a63f9c6569b68b0c4dd086f3fbf2c8c5add
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 06:33:32 2010 +0000
simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95074 91177308-0d34-0410-b5e6-96231b3b80d8
commit 84aa735e88bb3f357f00f9a83f9e4d7bfb1440d2
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 06:22:08 2010 +0000
More logic correction: RemoveOverlap should always create new tree. Add a
parameter to record whether changes actually happened.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95073 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9eeca10a528f87882fcc1bdeeb267a008b97296c
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 05:23:23 2010 +0000
Add a lookup method to the IntervalMap. The difference from the original
lookup is that if the lookup key is contained in the key, we return the data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95070 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32b86302fc0e3568bfdd453919443e7b3589d9d0
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 2 03:47:27 2010 +0000
Apparently gdb is not amused by empty lines in pubtypes section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95064 91177308-0d34-0410-b5e6-96231b3b80d8
commit b36a8b11f1b7e8b451c805c554b357f9924d98d2
Author: Devang Patel <dpatel@apple.com>
Date: Tue Feb 2 03:37:03 2010 +0000
NULL terminate name in pubtypes sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95062 91177308-0d34-0410-b5e6-96231b3b80d8
commit 44e7bce35179730d599b3ae35096df04b0e79553
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 02:43:51 2010 +0000
don't turn (A & (C0?-1:0)) | (B & ~(C0?-1:0)) -> C0 ? A : B
for vectors. Codegen is generating awful code or segfaulting
in various cases (e.g. PR6204).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95058 91177308-0d34-0410-b5e6-96231b3b80d8
commit 06e4b56331b271118d56da0e64ea49ec9a3ecab2
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 02:40:56 2010 +0000
Fix a bunch of errors in the old logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95056 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ba1ba9fcd7fcb040dcb3d216183d07dce285d9
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 02:26:54 2010 +0000
fix a crash in loop unswitch on a loop invariant vector condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95055 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8a64e3edd146c918912c07ea7cf95f1e103dcc88
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Feb 2 02:23:37 2010 +0000
remove an unreduced testcase, rename another.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95054 91177308-0d34-0410-b5e6-96231b3b80d8
commit f03020966b3492b238fe1262c062e7a7d9fc58b4
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Feb 2 02:22:50 2010 +0000
Perform sibcall in some cases when arguments are passes memory. Look for cases
where callee's arguments are already in the caller's own caller's stack and
they line up perfectly. e.g.
extern int foo(int a, int b, int c);
int bar(int a, int b, int c) {
return foo(a, b, c);
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95053 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8e0bbfc241381fdc3c8bdfa0c9e93b8b49d8f2e
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 02:18:20 2010 +0000
Removed an unnecessary class from the EDDisassembler
implementation. Also made sure that the register maps
were created during disassembler initialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95051 91177308-0d34-0410-b5e6-96231b3b80d8
commit c0d238a0dbb716040b1058342db54fe4eb7e652e
Author: Dale Johannesen <dalej@apple.com>
Date: Tue Feb 2 02:08:02 2010 +0000
Make local RA smarter about reusing input register of a copy
as output. Needed for (functional) correctness in inline asm,
and should be generally beneficial. 7361612.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95050 91177308-0d34-0410-b5e6-96231b3b80d8
commit e078aea60472fd4dcb96170350fe942c01f830af
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Tue Feb 2 01:57:01 2010 +0000
11.8p1: A nested class is a member and as such has the same access rights as
any other member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95047 91177308-0d34-0410-b5e6-96231b3b80d8
commit 03cd7a89d7f9c3e7114d25a513da4f15ba4e2dbf
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 01:44:02 2010 +0000
LangRef.html says that inttoptr and ptrtoint always use zero-extension
when the cast is extending.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95046 91177308-0d34-0410-b5e6-96231b3b80d8
commit 94974afa225f916cc1fc5d9aa7aa6b373cb235d9
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 01:41:39 2010 +0000
Factor out alignof expression folding into a separate function and
generalize it to handle more cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95045 91177308-0d34-0410-b5e6-96231b3b80d8
commit c45b3aa1897a99f74fbb73038c8fd2995eb250bc
Author: Dan Gohman <gohman@apple.com>
Date: Tue Feb 2 01:38:49 2010 +0000
Various code simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95044 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6eb9d10f94d819a320f61f8c961643758515dd50
Author: Daniel Dunbar <daniel@zuster.org>
Date: Tue Feb 2 01:12:20 2010 +0000
Update CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95041 91177308-0d34-0410-b5e6-96231b3b80d8
commit d7e49f3f6b670e14a3ee8c4c6e5c72474e323d6a
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 00:51:45 2010 +0000
Don't need to check the last argument since it'll always be bool. We also
don't use TargetData here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95040 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3b60eab75e05595d7ec77de8b4f9bfaee8f3249d
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 00:13:06 2010 +0000
More indentation/tabification fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95036 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4b27f221be15788393f00a22a602ebf169801bf1
Author: Eric Christopher <echristo@apple.com>
Date: Tue Feb 2 00:06:55 2010 +0000
Untabify previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95035 91177308-0d34-0410-b5e6-96231b3b80d8
commit ac567ab867a93e8ce46f5b56228314bedfcceba5
Author: Sean Callanan <scallanan@apple.com>
Date: Tue Feb 2 00:04:46 2010 +0000
Changed to Chris Lattner's suggested approach, which
merely stubs out the blocks-based disassembly functions
if the library wasn't built with blocks, which allows a
constant .exports file and also properly deals with
situations in which the compiler used to build a client
is different from the compiler used to build the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95034 91177308-0d34-0410-b5e6-96231b3b80d8
commit 61aac7ef2bc97f1c04f0d7e826df89ffe4bb2559
Author: Nate Begeman <natebegeman@mac.com>
Date: Mon Feb 1 23:56:58 2010 +0000
Kill the Mach-O writer, and temporarily make filetype=obj an error.
The MCStreamer based assemblers will take over for this functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95033 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3617f6aebcdb06b1465ba0165f9bc35d7207bbf7
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 23:27:57 2010 +0000
Fix for builds with separate source and build
directories (like, oh, say, any multistage build)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95028 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9e99517c5996acc9ca1b774275515fea7fcf1525
Author: Eric Christopher <echristo@apple.com>
Date: Mon Feb 1 23:25:03 2010 +0000
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95027 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a5f31df635d0c8d65f19d0cc32f6c3476836cc5
Author: Johnny Chen <johnny.chen@apple.com>
Date: Mon Feb 1 23:06:04 2010 +0000
MOVi16 should also be marked as a UnaryDP instruction, i.e., it doesn't have a
Rn operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95025 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a9df81d4d00aea149cb8de9195b7322e3361200
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 23:01:38 2010 +0000
Updated to use the proper .exports file for the
target platform, depending on whether the target
supports the blocks API or not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95024 91177308-0d34-0410-b5e6-96231b3b80d8
commit d89e3fb6c3baedce21438f3cc3032aacb49a9088
Author: Bill Wendling <isanbard@gmail.com>
Date: Mon Feb 1 22:51:23 2010 +0000
Add "dump" method to IVUsersOneStride.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95022 91177308-0d34-0410-b5e6-96231b3b80d8
commit aaaed409c8cfd5e9dbaa694a30d2b0a7500c595c
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 1 22:46:05 2010 +0000
Testcase for 94996 (PR 6157)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95021 91177308-0d34-0410-b5e6-96231b3b80d8
commit 17e9fca94d44eb1bec5b7a39be5f2e1e63655773
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 1 22:40:09 2010 +0000
Fix PR6196. GV callee may not be a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95017 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba34ec2cabc28cde10a7ada59c5b52de0b4fe27c
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 1 22:32:42 2010 +0000
Add test case for 95013.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95014 91177308-0d34-0410-b5e6-96231b3b80d8
commit 50a68ccb7108932f75967a0036a15638cbec3cd1
Author: Mon P Wang <wangmp@apple.com>
Date: Mon Feb 1 22:15:09 2010 +0000
Improve EXTRACT_VECTOR_ELT patch based on comments from Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95012 91177308-0d34-0410-b5e6-96231b3b80d8
commit 61e230d031189201840a17be52d44fa73e66067e
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 21:57:50 2010 +0000
Rollback on including blocks functionality in .exports
because some platforms don't support blocks and then
break because the symbols aren't present
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95011 91177308-0d34-0410-b5e6-96231b3b80d8
commit a493aa499b18bb534004ab850caba29042d44cd0
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 1 21:17:14 2010 +0000
Add an option to GVN to remove all partially redundant loads. This is currently
disabled by default. This divides the existing load PRE code into 2 phases:
first it checks that it is safe to move the load to each of the predecessors
where it is unavailable, and then if it is safe, the code is changed to move
the load. Radar 7571861.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95007 91177308-0d34-0410-b5e6-96231b3b80d8
commit c4350840a22dd22fcae29ed124309d46ca107a3e
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 1 20:57:35 2010 +0000
Do an early exit when the result is known cheaply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95002 91177308-0d34-0410-b5e6-96231b3b80d8
commit e985e1fe58b689501fcd07947a0b9e288c275951
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 20:48:08 2010 +0000
eliminate a bunch of pointless LLVMContext arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95001 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8abd8f0541a289c17536761bd5e236cf1fa280f8
Author: Duncan Sands <baldrick@free.fr>
Date: Mon Feb 1 20:42:02 2010 +0000
Fix typo "of" -> "or" and change the way a line was formatted to fit
into 80 columns to match my artistic preferences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95000 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4f9385fc14a2cc39dc912c1f425a73f27d78f2a9
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 20:04:40 2010 +0000
fix PR6195, a bug constant folding scalar -> vector compares.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94997 91177308-0d34-0410-b5e6-96231b3b80d8
commit e1c3887e98f2b62b9a25b308619217fe19c41459
Author: Dale Johannesen <dalej@apple.com>
Date: Mon Feb 1 19:54:53 2010 +0000
fix PR 6157. Testcase pending.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94996 91177308-0d34-0410-b5e6-96231b3b80d8
commit 356faaae39ef1499382bf50573537fa2bc463237
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 19:54:45 2010 +0000
cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94995 91177308-0d34-0410-b5e6-96231b3b80d8
commit 03ad0a8bb6f3be3a2185ee63b83cbae9bf18f2b2
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 19:35:08 2010 +0000
fix PR6197 - infinite recursion in ipsccp due to block addresses
evaluateICmpRelation wasn't handling blockaddress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94993 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4762dd39a17dc7e9700bd0308ae4125be085a2c3
Author: Mon P Wang <wangmp@apple.com>
Date: Mon Feb 1 19:03:18 2010 +0000
Fixed a couple of optimization with EXTRACT_VECTOR_ELT that assumes the result
type is the same as the element type of the vector. EXTRACT_VECTOR_ELT can
be used to extended the width of an integer type. This fixes a bug for
Generic/vector-casts.ll on a ppc750.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94990 91177308-0d34-0410-b5e6-96231b3b80d8
commit 32ec1a5d49759636247ef24827f42e9c66c026f3
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 19:00:32 2010 +0000
Update this test for a trivial register allocation difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94989 91177308-0d34-0410-b5e6-96231b3b80d8
commit 45f1643e0c6fe92ec35ed81d12386372f14be6e3
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 18:27:38 2010 +0000
Generalize target-independent folding rules for sizeof to handle more
cases, and implement target-independent folding rules for alignof and
offsetof. Also, reassociate reassociative operators when it leads to
more folding.
Generalize ScalarEvolution's isOffsetOf to recognize offsetof on
arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr
to getOffsetOfExpr, for consistency with analagous ConstantExpr routines.
Make the target-dependent folder promote GEP array indices to
pointer-sized integers, to make implicit casting explicit and exposed
to subsequent folding.
And add a bunch of testcases for this new functionality, and a bunch
of related existing functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94987 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2091359832897a7ba7769eeebf6e0ebc67c83867
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 18:11:34 2010 +0000
fix rdar://7590304, a miscompilation of objc apps on arm. The caller
of objc message send was getting marked arm_apcscc, but the prototype
isn't. This is fine at runtime because objcmsgsend is implemented in
assembly. Only turn a mismatched caller and callee into 'unreachable'
if the callee is a definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94986 91177308-0d34-0410-b5e6-96231b3b80d8
commit e82dad6d1c3606ee017379967e31c385b4eb5750
Author: Chris Lattner <sabre@nondot.org>
Date: Mon Feb 1 18:04:58 2010 +0000
fix rdar://7590304, an infinite loop in instcombine. In the invoke
case, instcombine can't zap the invoke for fear of changing the CFG.
However, we have to do something to prevent the next iteration of
instcombine from inserting another store -> undef before the invoke
thereby getting into infinite iteration between dead store elim and
store insertion.
Just zap the callee to null, which will prevent the next iteration
from doing anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94985 91177308-0d34-0410-b5e6-96231b3b80d8
commit 14cf1435c8c2e5f774127a1234c7f76079435e26
Author: Bob Wilson <bob.wilson@apple.com>
Date: Mon Feb 1 17:41:44 2010 +0000
Fix pr6198 by moving the isSized() check to an outer conditional.
The testcase from pr6198 does not crash for me -- I don't know what's up with
that -- so I'm not adding it to the tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94984 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48f174e79a252d99bdc8aee2c821f6871dbbe0bc
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 16:38:14 2010 +0000
Add a getNUWMul function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94982 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57c194af6e3725787f73ae1ffeb752906914ca5d
Author: Dan Gohman <gohman@apple.com>
Date: Mon Feb 1 16:37:38 2010 +0000
Add a generalized form of ConstantExpr::getOffsetOf which works for
array types as well as struct types, and which accepts arbitrary
Constant indicies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94981 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7269641c424bd8d0e0f6c22f6402521bd8dfad2a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Mon Feb 1 12:16:39 2010 +0000
MulOp is actually a Mips specific node, so do the match using Opcode. This fixes PR6192
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94977 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9b5cef72a83cda3fc651e07c92fab7e83153333c
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Mon Feb 1 10:43:31 2010 +0000
Add an immutable interval map, prepared to be used by flat memory model
in the analyzer. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94976 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c30767bed5a692acf43f4bb07f82e12e593a933
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 09:02:24 2010 +0000
Whoops, left some debugging code in that broke
a buildbot. Removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94975 91177308-0d34-0410-b5e6-96231b3b80d8
commit 95ba688843344ba4f811127dd4f7904f3c6cbcb0
Author: Sean Callanan <scallanan@apple.com>
Date: Mon Feb 1 08:49:35 2010 +0000
Added the enhanced disassembly library's implementation and
fleshed out the .exports file. I still have to fix several
details of operand parsing, but the basic functionality is
there and usable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94974 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0790256d8b2b86223eae754e8659630ec606ac88
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date: Mon Feb 1 07:32:52 2010 +0000
Simplify code. We can compare TNew with T in one batch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94973 91177308-0d34-0410-b5e6-96231b3b80d8
commit ee5eee2923fa2b9b8c8b68559bce92b2838c74c1
Author: Evan Cheng <evan.cheng@apple.com>
Date: Mon Feb 1 02:13:39 2010 +0000
Undo r94946 now all the tests are passing again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94970 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4cd00632df8334a9fcbce4f01160030cdb6e7ba4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Mon Feb 1 02:03:24 2010 +0000
Fix stack size bug while using o32 abi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94969 91177308-0d34-0410-b5e6-96231b3b80d8
commit fb62f2f3ab0bfdbf5598e586964736db2ad55da4
Author: Johnny Chen <johnny.chen@apple.com>
Date: Sun Jan 31 11:22:28 2010 +0000
For MVNr and MVNs, we need to set Inst{25} = 0 so as not to confuse the decoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94955 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4489953fa201178eac3af8e19f04f58bdb3e2b28
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 07:28:44 2010 +0000
Change TAILJMP's to be varargs and transfer implicit uses over from TCRETURN's. Otherwise the missing uses can make post-regalloc scheduling do bad things. This fixes 403.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94950 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf3892e990dfce6790ff57e7dccc9e5fb829b258
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 07:27:31 2010 +0000
Fix a missing check from my last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94949 91177308-0d34-0410-b5e6-96231b3b80d8
commit a04696cdaaaebb88550de183439178e812c85e7f
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 06:44:49 2010 +0000
Avoid recursive sibcall's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94946 91177308-0d34-0410-b5e6-96231b3b80d8
commit cf83c91bbd530f19054c51da0758e41a189a0251
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 04:55:32 2010 +0000
Remove a completed item, add a couple new ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94945 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8867dbd7ba85a07d11267561f58db7675c2af561
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 04:40:45 2010 +0000
Remove test which is no longer relevant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94944 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5714a01e760ee1591da125c9fb4dfdd2df4a051d
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 04:29:12 2010 +0000
Simplify/generalize the xor+add->sign-extend instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94943 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7fa5774587e56d1071348acdadd7569a4fa9092
Author: Eli Friedman <eli.friedman@gmail.com>
Date: Sun Jan 31 02:30:23 2010 +0000
Add a small transform: transform -(X<<Y) to (-X<<Y) when the shift has a single
use and X is free to negate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94941 91177308-0d34-0410-b5e6-96231b3b80d8
commit c91dadab87396596808a85161727d7d966162c93
Author: Sean Callanan <scallanan@apple.com>
Date: Sun Jan 31 02:28:18 2010 +0000
Moved InstallLexer() from the X86-specific AsmLexer
to the TargetAsmLexer class so that clients can
actually use the TargetAsmLexer they get from a
Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94940 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5d40692b1b30ecd409a6bdc3d7bf4c433bf634ae
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sun Jan 31 00:59:31 2010 +0000
Do not mark no-return calls tail calls. It'll screw up special calls like longjmp and it doesn't make much sense for performance reason. If my logic is faulty, please let me know.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94937 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc3179860ceed01b85071c63c3686ad7dbbb3ec9
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Jan 30 18:32:07 2010 +0000
Fix PR6144. Reload GP before the emission of CALLSEQ_END to guarantee the right reload order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94915 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5c4cf9d40bb5d64470e410317fbad462a318a0a0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date: Sat Jan 30 18:29:19 2010 +0000
Fix mov.d out register by using the FFR register class directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94914 91177308-0d34-0410-b5e6-96231b3b80d8
commit 592196d5d01f44ad2929c06e0d2cda9b57d09168
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date: Sat Jan 30 14:08:12 2010 +0000
Fix a gross typo: ARMv6+ may or may not support unaligned memory operations.
Even if they are suported by the core, they can be disabled
(this is just a configuration bit inside some register).
Allow unaligned memops on darwin and conservatively disallow them otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94889 91177308-0d34-0410-b5e6-96231b3b80d8
commit b79f9b62f198d1ae452da23bf7d5a9aea486c0c9
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Jan 30 04:42:39 2010 +0000
Check alignment of loads when deciding whether it is safe to execute them
unconditionally. Besides checking the offset, also check that the underlying
object is aligned as much as the load itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94875 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0108c91d2ac699a4437e0ab1b1e1c5d15bc4f603
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Jan 30 01:22:00 2010 +0000
Allow more tailcall optimization: calls with inputs that are all passed in registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94873 91177308-0d34-0410-b5e6-96231b3b80d8
commit bbbdf911a8e061b5bb0da8236af38ff309c3fdd8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Sat Jan 30 01:16:15 2010 +0000
Don't forget to transfer target flag when inserting a tailcall instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94872 91177308-0d34-0410-b5e6-96231b3b80d8
commit a24e103806f5cc8150d95a3d17c34f7b15a2ac54
Author: Devang Patel <dpatel@apple.com>
Date: Sat Jan 30 01:08:30 2010 +0000
Emit declaration DIE for the class static variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94870 91177308-0d34-0410-b5e6-96231b3b80d8
commit 827c600e36786c4cb41fae2e9b41a829c1a52c75
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 01:02:48 2010 +0000
MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing
something totally broken and parsing them as immediates, but the .td file also
had the wrong match class so things sortof worked. Except, that is, that we
would parse
movl $0, %eax
as
movl 0, %eax
Feel free to guess how well that worked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94869 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23b9b1e20e2939687c01c26435ae27f9af28a201
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 01:02:37 2010 +0000
AsmMatcher: Create operand classes before use, apparently records aren't visited
in the order they were declared.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94868 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5b5007f7ee0140eebeb7a41adcc32fead57e4569
Author: Dale Johannesen <dalej@apple.com>
Date: Sat Jan 30 00:57:47 2010 +0000
Fix a case where debug_value could affect codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94866 91177308-0d34-0410-b5e6-96231b3b80d8
commit da88458ae2e4520e5a57b8e4a1e478c25a2d231f
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Jan 30 00:41:10 2010 +0000
Use more specific types to avoid casts. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94863 91177308-0d34-0410-b5e6-96231b3b80d8
commit df2bdbad3c28a03d5ac73599f1bf101fb2a3f71c
Author: Bob Wilson <bob.wilson@apple.com>
Date: Sat Jan 30 00:40:23 2010 +0000
Remove ARM-specific calling convention from this test. Target data is
needed for this test, but otherwise, there's nothing ARM-specific about
it and no need to specify the calling convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94862 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9a758cd460d0f29f9a7dfe3a0c15492f40c7b86b
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 00:24:12 2010 +0000
X86.td: Refactor to bring operands that use print_pcrel_imm together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94861 91177308-0d34-0410-b5e6-96231b3b80d8
commit 23f4491b48f762af658aa54cd0a1edaee9339ea9
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 00:24:06 2010 +0000
FileCheck: When looking for "possible matches", only compare against the prefix
line. Turns out edit_distance can be slow if the string we are scanning for
happens to be quite large.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94860 91177308-0d34-0410-b5e6-96231b3b80d8
commit f70705634a6eb03429eddab5e4cb6e43dfaa3fde
Author: Daniel Dunbar <daniel@zuster.org>
Date: Sat Jan 30 00:24:00 2010 +0000
AsmMatcher/X86: Separate out sublass for memory operands that have no segment
register, and use to cleanup a FIXME in X86AsmParser.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94859 91177308-0d34-0410-b5e6-96231b3b80d8
commit 943e7d9fa17371889cab42815cd698d942d81b73
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Fri Jan 29 23:54:14 2010 +0000
Keep iterating over all uses when meeting a phi node in AllUsesOfValueWillTrapIfNull().
This bug was exposed by my inliner cost changes in r94615, and caused failures
of lencod on most architectures when building with LTO.
This patch fixes lencod and 464.h264ref on x86-64 (and likely others).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94858 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b50cf92f36da35ca33074783b5ecc1a556657c0
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Jan 29 23:32:40 2010 +0000
MC/X86: Add a nice X86 assembler matcher test case from Kevin Enderby.
- This test case is auto generated, and has been verified to round-trip
correctly through llvm-mc by checking the assembled .o file before and after
piping through llvm-mc. It will be extended over time as the matcher grows
support for more instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94857 91177308-0d34-0410-b5e6-96231b3b80d8
commit 92411a8e37a8f1d29aec9d0531ff4ec2895f875f
Author: Johnny Chen <johnny.chen@apple.com>
Date: Fri Jan 29 23:21:10 2010 +0000
Modified encoding bits specification for VFP instructions. In particular, the D
bit (Inst{22}) and the M bit (Inst{5}) should be left unspecified. For binary
format instructions, Inst{6} and Inst{4} need to specified for proper decodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94855 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6069dd121294d238437705678bfef24e7cfd012
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 23:12:36 2010 +0000
Print a comment next to "materializable" global values, to distinguish
them from values that are not actually defined in the module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94854 91177308-0d34-0410-b5e6-96231b3b80d8
commit e7b6d2c6a6443d73a3f3f6d31faf4d57ec10655b
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Jan 29 23:05:56 2010 +0000
PPC is not ready for sibcall optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94853 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9aa401e14dca8c65d2fb4c82c43b1d9cbe8f1fbd
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Jan 29 22:39:21 2010 +0000
Preserve load alignment in instcombine transformations. I've been unable to
create a testcase where this matters. The select+load transformation only
occurs when isSafeToLoadUnconditionally is true, and in those situations,
instcombine also changes the underlying objects to be aligned. This seems
like a good idea regardless, and I've verified that it doesn't pessimize
the subsequent realignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94850 91177308-0d34-0410-b5e6-96231b3b80d8
commit ccfec8175249ecc3b926755db90e916cfd806583
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 21:57:46 2010 +0000
Minor code cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94848 91177308-0d34-0410-b5e6-96231b3b80d8
commit 833de98561fcf7f668d1a176eeee80f0c871b358
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 21:55:16 2010 +0000
Skip whitespace when looking for a potential intended match.
Before:
<stdin>:94:1: note: possible intended match here
movsd 4096(%rsi), %xmm0
^
After:
<stdin>:94:2: note: possible intended match here
movsd 4096(%rsi), %xmm0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94847 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7786f1bdb609cac7e31b20efbcd2050674f0eee6
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 21:53:18 2010 +0000
Fix the position of the caret in the FileCheck error message.
Before:
test/CodeGen/X86/lsr-reuse.ll:52:34: error: expected string not found in input
; CHECK: movsd -2048(%rsi), %xmm0
^
After:
test/CodeGen/X86/lsr-reuse.ll:52:10: error: expected string not found in input
; CHECK: movsd -2048(%rsi), %xmm0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94846 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2e27257da571ae4897b9367dedb358da00d6c9b9
Author: Junjie Gu <jgu222@gmail.com>
Date: Fri Jan 29 21:34:26 2010 +0000
Make sure the size is doubled (not 4x).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94845 91177308-0d34-0410-b5e6-96231b3b80d8
commit 385d68b0ed46d8896662325493a245d1ec8c0dce
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 21:21:44 2010 +0000
Removed symbols from .exports that are not yet in
the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94844 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08ad58149cf43b916c44c4710c7fa27154285cca
Author: Dale Johannesen <dalej@apple.com>
Date: Fri Jan 29 21:21:28 2010 +0000
Add assertion to humor the paranoid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94843 91177308-0d34-0410-b5e6-96231b3b80d8
commit cb265567b7b4d8db906ca74b73235a4f5bdec1c6
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Jan 29 21:19:19 2010 +0000
We were not writing bitcode for function-local metadata whose operands have been erased (making it not have any more function-local operands)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94842 91177308-0d34-0410-b5e6-96231b3b80d8
commit e0521734588adfaec93ccf7dffba127b014c3658
Author: Eric Christopher <echristo@apple.com>
Date: Fri Jan 29 21:16:24 2010 +0000
Revert my last couple of patches. They appear to have broken bison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94841 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2e0df3849e3ab8909485c1a17fa9c5cdea6269da
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Jan 29 21:11:04 2010 +0000
Rename two IRReader.h functions to indicate that they return a Module
that loads its contents lazily from bitcode. I think these are the
only remaining mis-named functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94840 91177308-0d34-0410-b5e6-96231b3b80d8
commit 30f1709250c8f855ac512cac5f0d806097957d60
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Jan 29 20:34:28 2010 +0000
Use uint64_t instead of unsigned for offsets and sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94835 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2fea743797a4779b62b14d78a6537d59247e1e38
Author: Dan Gohman <gohman@apple.com>
Date: Fri Jan 29 19:43:48 2010 +0000
Add svn:ignore properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94833 91177308-0d34-0410-b5e6-96231b3b80d8
commit 5575c54de367c1991dde5e53127c3adf0fb75def
Author: Bob Wilson <bob.wilson@apple.com>
Date: Fri Jan 29 19:19:08 2010 +0000
Improve isSafeToLoadUnconditionally to recognize that GEPs with constant
indices are safe if the result is known to be within the bounds of the
underlying object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94829 91177308-0d34-0410-b5e6-96231b3b80d8
commit e472109fe15b02c2f6b264df4546367e9320f10f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Fri Jan 29 19:10:38 2010 +0000
Belatedly document r85295 and r85330.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94825 91177308-0d34-0410-b5e6-96231b3b80d8
commit d839e1a9792eff26a79c8baef8e1b34ab61b24bb
Author: Devang Patel <dpatel@apple.com>
Date: Fri Jan 29 18:34:58 2010 +0000
Add size and location info in DW_TAG_class_type descriptor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94822 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1126e04037ca1207fa56151f6c9c06fda8cfe1cc
Author: Devang Patel <dpatel@apple.com>
Date: Fri Jan 29 18:30:57 2010 +0000
Before inserting llvm.dbg.declare intrinsic at the end of a basic block, check whether the basic block has a terminator or not.
This API is used by clang and the test case is test/CodeGen/debug-info-crash.c in clang module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94820 91177308-0d34-0410-b5e6-96231b3b80d8
commit 289c0564c911670f5c4e1826420e3fd820f582c0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Jan 29 15:19:06 2010 +0000
Fix MSVC build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94809 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2b58d509ef83ef2d0c14f0d206fd39354a2ddc62
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Jan 29 14:42:22 2010 +0000
Convert some users of ftostr to raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94808 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b3c938a44e57ec75cbea9c4cf003a0016cfbd56
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Fri Jan 29 14:40:33 2010 +0000
Use llvm::format instead of ftostr (which just calls sprintf).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94807 91177308-0d34-0410-b5e6-96231b3b80d8
commit 273c038fca6dd89a242c42978f922d69770bd407
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Jan 29 09:45:26 2010 +0000
Change the SREM case to match the logic in the IR version ComputeMaskedBits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94805 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4aa47bd2b13b887593399ebb4a8c18555e08ca13
Author: Evan Cheng <evan.cheng@apple.com>
Date: Fri Jan 29 06:45:59 2010 +0000
Catch more trivial tail call opportunities: no inputs and output types match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94804 91177308-0d34-0410-b5e6-96231b3b80d8
commit a1deef01c49f252e0a4145459ec10c535637130e
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Jan 29 06:18:46 2010 +0000
Having RHSKnownZero and RHSKnownOne be alternative names for KnownZero and KnownOne
(via APInt &RHSKnownZero = KnownZero, etc) seems dangerous and confusing to me: it
is easy not to notice this, and then wonder why KnownZero/RHSKnownZero changed
underneath you when you modified RHSKnownZero/KnownZero etc. So get rid of this.
No intended functionality change (tested with "make check" + llvm-gcc bootstrap).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94802 91177308-0d34-0410-b5e6-96231b3b80d8
commit c852af1cafe657e4897e153d3a2bc10505b990ef
Author: Duncan Sands <baldrick@free.fr>
Date: Fri Jan 29 06:18:37 2010 +0000
It looks like the changes to the SRem logic of SimplifyDemandedUseBits
(fix for PR6165) are needed here too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94801 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8c57220a2ef346d8d4cbc40d5533d3c9f094424c
Author: Daniel Dunbar <daniel@zuster.org>
Date: Fri Jan 29 03:22:19 2010 +0000
FileCheck: Switch "possible match" calculation to use StringRef::edit_distance.
- Thanks Doug, who is obviously less lazy than me!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94795 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8413ab7835e70bbd458a93be8239f1011e073031
Author: Eric Christopher <echristo@apple.com>
Date: Fri Jan 29 01:37:11 2010 +0000
Make strcpy_chk lower to strcpy if we have a safe size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94783 91177308-0d34-0410-b5e6-96231b3b80d8
commit c94c6dfca03fbe5ba2173cd79fb4e7d902d7ba90
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 01:34:29 2010 +0000
Quick fix to make the header file for the enhanced
disassembly information have a better comment (and
better guard macros).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94781 91177308-0d34-0410-b5e6-96231b3b80d8
commit 442bd4e292c9bbfe2f34b0fc53f9e34d7fde07be
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 01:30:01 2010 +0000
Added a bare-bones Makefile to build the enhanced disassembly
library as a static and a shared library. Added dependencies
so the target-specific enhanced disassembly info tables are
built before the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94780 91177308-0d34-0410-b5e6-96231b3b80d8
commit 133eb9c346127f28c89966a9671de0ca96f629fe
Author: Ted Kremenek <kremenek@apple.com>
Date: Fri Jan 29 01:10:55 2010 +0000
Recognize 'add_executable' when analyzing CMake files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94777 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1aa2f8adbb477ffa51fb521676a2fd1293ba8143
Author: Ted Kremenek <kremenek@apple.com>
Date: Fri Jan 29 01:10:25 2010 +0000
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94776 91177308-0d34-0410-b5e6-96231b3b80d8
commit 77fe12bf626a284d889283033322e1d1d3877454
Author: Eric Christopher <echristo@apple.com>
Date: Fri Jan 29 01:09:57 2010 +0000
Add constant support to object size handling and remove default
lowering. We'll either figure it out, or not and be lowered by
SelectionDAGBuild.
Add test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94775 91177308-0d34-0410-b5e6-96231b3b80d8
commit f495802f3e81462b29e23c5e83902d3dca5f0fea
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Jan 29 00:52:43 2010 +0000
Generic reformatting and comment fixing. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94771 91177308-0d34-0410-b5e6-96231b3b80d8
commit 93bff173ea147f2b516677828f1f79edb171c29e
Author: Bill Wendling <isanbard@gmail.com>
Date: Fri Jan 29 00:27:39 2010 +0000
Add newline to debugging output, and fix some grammar-os in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94765 91177308-0d34-0410-b5e6-96231b3b80d8
commit 323f7068c889952ac6a2700ef08c1af6ba3f9bc3
Author: Sean Callanan <scallanan@apple.com>
Date: Fri Jan 29 00:21:04 2010 +0000
Added a custom TableGen backend to support the
enhanced disassembler, and the necessary makefile
rules to build the table for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94764 91177308-0d34-0410-b5e6-96231b3b80d8
commit 48539b5d4d4e6e17cf58179b2d2d6fc6e1f7c1d9
Author: Victor Hernandez <vhernandez@apple.com>
Date: Fri Jan 29 00:01:35 2010 +0000
mem2reg erases the dbg.declare intrinsics that it converts to dbg.val intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94763 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68d271623713a16ffe62a60edf32d7e3b6c2f275
Author: Bill Wendling <isanbard@gmail.com>
Date: Thu Jan 28 21:51:40 2010 +0000
Assign the ordering of SDNodes in a much less intrusive fashion. After the
"visit*" method is called, take the newly created nodes, walk them in a DFS
fashion, and if they don't have an ordering set, then give it one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94757 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1a12c56badd0733754baee7f7921b495509f9e53
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Thu Jan 28 18:19:36 2010 +0000
Support some more options...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94752 91177308-0d34-0410-b5e6-96231b3b80d8
commit a64c74890ef37c607b3f1742abb5b1af65342afa
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 18:08:26 2010 +0000
Remove the folding rule
getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1)
to
inttoptr (i64 0 to i8*)
from the VMCore constant folder. It didn't handle sign-extension properly
in the case where the source integer is smaller than a pointer size. And,
it relied on an assumption about sizeof(i8).
The Analysis constant folder still folds these kinds of things; it has
access to TargetData, so it can do them right.
Add a testcase which tests that the VMCore constant folder doesn't
miscompile this, and that the Analysis folder does fold it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94750 91177308-0d34-0410-b5e6-96231b3b80d8
commit 078a4063e384d3a21a14bc1af4c88aeacd4a1f72
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Thu Jan 28 18:04:38 2010 +0000
Replace strcpy with memcpy when we have the length around anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94746 91177308-0d34-0410-b5e6-96231b3b80d8
commit 41d0a0c1b36033c45a5fa74ec353842b2244b22a
Author: Duncan Sands <baldrick@free.fr>
Date: Thu Jan 28 17:22:42 2010 +0000
Fix PR6165. The bug was that LHSKnownZero was being and'd with DemandedMask
when it should have been and'd with LowBits. Fix that and while there beef
up the logic in the case of a negative LHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94745 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe53061bea27c4b222c548cf2b0e4428134e8bf0
Author: Douglas Gregor <doug.gregor@gmail.com>
Date: Thu Jan 28 06:42:08 2010 +0000
Add llvm::Program::ChangeStderrToBinary().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94743 91177308-0d34-0410-b5e6-96231b3b80d8
commit 08b017ea9bd8cc8471b6dbd151402b73606f9057
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 06:32:46 2010 +0000
Check Type::isSized before calling ScalarEvolution::getAllocSizeExpr,
rather than after.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94742 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89c402f35edafd7c2178d4ee99644669abd476a8
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 06:22:43 2010 +0000
convert the last 3 targets to use EmitFunctionBody() now that
it has before/end body hooks.
lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 49 ++-----------
lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 87 ++++++------------------
lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 56 +++------------
test/CodeGen/XCore/ashr.ll | 2
4 files changed, 48 insertions(+), 146 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94741 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca73d86620334381948d7d3d713e1b31701dec86
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 02:43:22 2010 +0000
Make getAlignOf return an i64, for consistency with getSizeOf and
getOffsetOf, and remove the comment about assuming i8 is byte-aligned,
which is no longer applicable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94738 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9ebe37839d32ce786dd7140bd559df444ac772d
Author: Dan Gohman <gohman@apple.com>
Date: Thu Jan 28 02:15:55 2010 +0000
Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their place
use plain SCEVUnknowns with ConstantExpr::getSizeOf and
ConstantExpr::getOffsetOf constants. This eliminates a bunch of
special-case code.
Also add code for pattern-matching these expressions, for clients that
want to recognize them.
Move ScalarEvolution's logic for expanding array and vector sizeof
expressions into an element count times the element size, to expose
the multiplication to subsequent folding, into the regular constant
folder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94737 91177308-0d34-0410-b5e6-96231b3b80d8
commit 117728fed8d10c94cf56f9cb5aa2d6e93f5143d1
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:58:58 2010 +0000
add target hooks for emitting random gunk before and after the function body.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94732 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0e64765c09c0f900518c9db8d1d116a1a7180e9d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Thu Jan 28 01:57:22 2010 +0000
Fix a bug introduced by r94490 where it created a X86ISD::CMP whose output type is different from its inputs.
This fixes PR6146.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94731 91177308-0d34-0410-b5e6-96231b3b80d8
commit bdbb81d0628e15b5a7ea2ae1c466bb283ab740ef
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:54:33 2010 +0000
switch blackfin to the default runOnMachineFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94729 91177308-0d34-0410-b5e6-96231b3b80d8
commit b825faaddebc861ee06af5a50cef78e645275673
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:50:22 2010 +0000
eliminate a now-useless class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94728 91177308-0d34-0410-b5e6-96231b3b80d8
commit d9df5d79183e13a0ce6915c184f47d7c01e72dc9
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:48:52 2010 +0000
Switch MSP430, SPU, Sparc, and SystemZ to use EmitFunctionBody().
Diffstat:
6 files changed, 30 insertions(+), 284 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94727 91177308-0d34-0410-b5e6-96231b3b80d8
commit f59d57d36935e921c12785690477d3bfdba9d69d
Author: Jim Grosbach <grosbach@apple.com>
Date: Thu Jan 28 01:45:32 2010 +0000
Update of 94055 to track the IR level call site information via an intrinsic.
This allows code gen and the exception table writer to cooperate to make sure
landing pads are associated with the correct invoke locations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94726 91177308-0d34-0410-b5e6-96231b3b80d8
commit bf7dadf717673b9d494f9930f6618236feb2ce7f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Jan 28 01:41:20 2010 +0000
Record the death of ModuleProvier and GhostLinkage in the release notes and
give upgrade instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94723 91177308-0d34-0410-b5e6-96231b3b80d8
commit 57d849fe78589bb84ec82db82cdbcb6dc88207b4
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:28:58 2010 +0000
Give AsmPrinter the most common expected implementation of
runOnMachineFunction, and switch PPC to use EmitFunctionBody.
The two ppc asmprinters now don't heave to define
runOnMachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94722 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4e47dee4ccf9640938dd81cb93a9fd1ab26f5874
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Thu Jan 28 01:14:43 2010 +0000
Truncate the release notes so they're ready to accumulate notes for the 2.7 release.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94720 91177308-0d34-0410-b5e6-96231b3b80d8
commit eb0602789a69e4764c70321424eb552a5d33d9cc
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:10:34 2010 +0000
switch ARM to EmitFunctionBody().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94719 91177308-0d34-0410-b5e6-96231b3b80d8
commit 07a24263e9daeb0d702fb8890e17347733327732
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:06:32 2010 +0000
emit a 0 byte instead of a noop if a function is empty on darwin.
"0" is nice and target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94718 91177308-0d34-0410-b5e6-96231b3b80d8
commit bea3e68096198f2d2b453b7e2f94303f61f587b0
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 01:02:27 2010 +0000
Remove the argument from EmitJumpTableInfo, because it doesn't need it.
Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94716 91177308-0d34-0410-b5e6-96231b3b80d8
commit 692276d99e08f224f58ed5207ce4e8310137f72e
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 00:19:24 2010 +0000
Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.
Overload it in the ARM backend to do nothing, since is does insane
constant pool emission.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94708 91177308-0d34-0410-b5e6-96231b3b80d8
commit c1b68d104bed6ca4fb4040a29b1cda52c2343e85
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 00:15:18 2010 +0000
don't emit constant pools twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94706 91177308-0d34-0410-b5e6-96231b3b80d8
commit b3c5f49d35d0468f92e6c02242cf6ef9dccbdb84
Author: Chris Lattner <sabre@nondot.org>
Date: Thu Jan 28 00:05:10 2010 +0000
rename printVisibility to EmitVisibility and make it private,
constify EmitLinkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94705 91177308-0d34-0410-b5e6-96231b3b80d8
commit e12efcf52becf0152d0f58877fb0b6207b81d6ef
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:58:11 2010 +0000
switch ARM to use EmitFunctionHeader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94703 91177308-0d34-0410-b5e6-96231b3b80d8
commit df6c7e6ba3e6068ffd02540034da342e87a44e6d
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:37:36 2010 +0000
eliminate the ARMFunctionInfo::Align member, using
MachineFunction::Alignment instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94701 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0f0b5d27b3d7da40809549ea3163cad91b54ad34
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:35:43 2010 +0000
add a helper function for bumping up the alignment of a machine function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94700 91177308-0d34-0410-b5e6-96231b3b80d8
commit a9ae1a57883cc746c8ed9eedef5e8b5bb33a5c30
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:26:37 2010 +0000
switch blackfin to use EmitFunctionHeader. BlackfinAsmPrinter.cpp
is now less than 200 LOC!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94699 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9d5f9ea90027b7f170feda84b1d475ba9b861a15
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 23:23:58 2010 +0000
switch mips to use the shared EmitFunctionHeader() function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94698 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9926d38af912f56ed3d6e24d76ed9f73a0887395
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Jan 27 23:20:51 2010 +0000
Changed constants to an enum so as not to pollute the
global namespace needlessly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94697 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6060faac72ff45287e952a53f7a58a4ac36cf9d
Author: Sean Callanan <scallanan@apple.com>
Date: Wed Jan 27 23:03:46 2010 +0000
Added a header file defining the externally-visible C API
for the LLVM disassemblers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94696 91177308-0d34-0410-b5e6-96231b3b80d8
commit dfa3d94ab52cb5e551f740deaaaa1e5d2a7f8ad4
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Jan 27 22:12:36 2010 +0000
If the only use of something is a DEBUG_VALUE, don't
let that stop it from being deleted, and change the
DEBUG_VALUE value to undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94694 91177308-0d34-0410-b5e6-96231b3b80d8
commit 02e6dd46f178a58440557dbfa41df4cc8ed88203
Author: Dale Johannesen <dalej@apple.com>
Date: Wed Jan 27 22:11:16 2010 +0000
Treat MO_REG 0 location as undefined in DEBUG_VALUE,
per document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94693 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9dbdbe8bee1358d3435be1898374c48263fb00e5
Author: Dan Gohman <gohman@apple.com>
Date: Wed Jan 27 22:06:46 2010 +0000
Add an svn:ignore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94692 91177308-0d34-0410-b5e6-96231b3b80d8
commit f0c5a8634d4dade44fec9a1abc76b20c5f1a8fca
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Jan 27 22:03:03 2010 +0000
Need to recurse for all operands of function-local metadata; and handle Instructions (which map to themselves)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94691 91177308-0d34-0410-b5e6-96231b3b80d8
commit 662a0c306457aed9147f582e64ed3642d4aa7a8b
Author: Bob Wilson <bob.wilson@apple.com>
Date: Wed Jan 27 22:01:02 2010 +0000
Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock.
This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've
just changed SSAUpdater to check for existing PHIs in both places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94690 91177308-0d34-0410-b5e6-96231b3b80d8
commit dbf472700fa3dbfb9568126b52d28ada35b13ece
Author: Ted Kremenek <kremenek@apple.com>
Date: Wed Jan 27 20:44:12 2010 +0000
Update CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94687 91177308-0d34-0410-b5e6-96231b3b80d8
commit 752ff1fb26fc819498de04d342d496f146100f2a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Wed Jan 27 20:34:15 2010 +0000
Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.
Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.
Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
commit 844446082c4a29f4c23e18ff5225890a3606a4c6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Jan 27 19:58:47 2010 +0000
Don't bother with sprintf, just pass the Twine through.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94684 91177308-0d34-0410-b5e6-96231b3b80d8
commit d238cc10f8fe9b9e568c76ed3943a48a0b2985a0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date: Wed Jan 27 19:46:52 2010 +0000
Use the less expensive getName function instead of getNameStr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94683 91177308-0d34-0410-b5e6-96231b3b80d8
commit bed204de2b223a441b1c4582ff813e5b664052c6
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Wed Jan 27 10:36:15 2010 +0000
Quick fix to a test that is currently failing on every Linux build bot. No idea
if this is the "correct" fix, but it seems a strict improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94675 91177308-0d34-0410-b5e6-96231b3b80d8
commit c93a316297a3545cbd6a8924a34e4370fe6d1905
Author: Chandler Carruth <chandlerc@gmail.com>
Date: Wed Jan 27 10:27:10 2010 +0000
Silence GCC warnings with asserts turned off. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94673 91177308-0d34-0410-b5e6-96231b3b80d8
commit fbbb0b1faaf20465d85b540684eb90a7fe1d0178
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Jan 27 10:13:28 2010 +0000
Make SMDiagnostic::Print a const method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94672 91177308-0d34-0410-b5e6-96231b3b80d8
commit 0b79bae89b28eb9a4ab4dc4ec6c62985e69a10d4
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Wed Jan 27 10:13:11 2010 +0000
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94671 91177308-0d34-0410-b5e6-96231b3b80d8
commit 47bc2f65663192c4d8ac781b685d94d7144f5cea
Author: Duncan Sands <baldrick@free.fr>
Date: Wed Jan 27 10:08:08 2010 +0000
Revert commit 94666 (ddunbar) [Suppress clang warning about unused arguments].
It causes g++ to complain: unrecognized option '-Qunused-arguments'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94670 91177308-0d34-0410-b5e6-96231b3b80d8
commit 118ed0eb33493ab604b6b24ad89e6348fd68195e
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 07:21:55 2010 +0000
add a new AsmPrinter::EmitFunctionEntryLabel virtual function,
which allows targets to override function entry label emission.
Use it to convert linux/ppc to use EmitFunctionHeader().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94667 91177308-0d34-0410-b5e6-96231b3b80d8
commit cdd25445c0cdfe9def326ff61b6dbe6ddac69b48
Author: Daniel Dunbar <daniel@zuster.org>
Date: Wed Jan 27 07:10:10 2010 +0000
Suppress clang warning about unused arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94666 91177308-0d34-0410-b5e6-96231b3b80d8
commit aac8d95fefc1f8efef19e0ca1e1d7f6f2575d6b8
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 06:25:16 2010 +0000
Perform trivial tail call optimization for callees with "C" ABI. These are done
even when -tailcallopt is not specified and it does not require changing ABI.
First case is the most trivial one. Perform tail call optimization when both
the caller and callee do not return values and when the callee does not take
any input arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94664 91177308-0d34-0410-b5e6-96231b3b80d8
commit e453d94b9cedea849c6aec9fbfcbe395cadbde8f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 02:18:21 2010 +0000
merge two ifs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94650 91177308-0d34-0410-b5e6-96231b3b80d8
commit 78b48b61971bdb388971e9dd7473cc4661052159
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 02:12:20 2010 +0000
some cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94649 91177308-0d34-0410-b5e6-96231b3b80d8
commit e347d24803b32d9b25ad30b1f604b63cc7606eb5
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 02:04:20 2010 +0000
no need to check for null
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94648 91177308-0d34-0410-b5e6-96231b3b80d8
commit fe398973c7ced1a4af9a925bfeecbb6527a096d5
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 01:44:40 2010 +0000
Remove a dead target hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94646 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7bf770db031ef3e9348cc5db7d836d545ac0b1b7
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 01:02:43 2010 +0000
ppc/linux isn't ready for this and it was an accident that it was included.
This should fix a bunch of linux buildbot failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94643 91177308-0d34-0410-b5e6-96231b3b80d8
commit 12dbb7096ea5f08cdce6099a28539ae9f217870b
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Jan 27 00:44:36 2010 +0000
When converting dbg.declare to dbg.value, attach promoted store's debug metadata to dbg.value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94634 91177308-0d34-0410-b5e6-96231b3b80d8
commit 25a2a85e32636a3c09169c9c25de7509404dac4c
Author: Victor Hernandez <vhernandez@apple.com>
Date: Wed Jan 27 00:30:42 2010 +0000
Linker needs to do deep-copy of function-local metadata to update references to function arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94632 91177308-0d34-0410-b5e6-96231b3b80d8
commit 89cff97315984f1b30b2d2ca1470d684410d878f
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 00:20:02 2010 +0000
use existing basic block numbers instead of recomputing
a new set of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94631 91177308-0d34-0410-b5e6-96231b3b80d8
commit e0e44f66356645c49f1a3e9a6807f6828e9de5e7
Author: Chris Lattner <sabre@nondot.org>
Date: Wed Jan 27 00:17:20 2010 +0000
Switch MSP430, CellSPU, SystemZ, Darwin/PPC, Alpha, and Sparc to
EmitFunctionHeader:
7 files changed, 16 insertions(+), 210 deletions(-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94630 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6c55bfe437197d0d34edb6887da2a2dd29eb6abe
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 00:10:09 2010 +0000
Clarify what -tailcallopt option actually do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94628 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8f240d49cb730fa95b7752aec624f14e26977443
Author: Jim Grosbach <grosbach@apple.com>
Date: Wed Jan 27 00:07:20 2010 +0000
Adjust setjmp instruction sequence to not need 32-bit alignment padding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94627 91177308-0d34-0410-b5e6-96231b3b80d8
commit 8904bc5f834bde215cbaba8a898f739db1dfc673
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 00:07:07 2010 +0000
Eliminate target hook IsEligibleForTailCallOptimization.
Target independent isel should always pass along the "tail call" property. Change
target hook LowerCall's parameter "isTailCall" into a refernce. If the target
decides it's impossible to honor the tail call request, it should set isTailCall
to false to make target independent isel happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94626 91177308-0d34-0410-b5e6-96231b3b80d8
commit a0045f69c5b838f81cc0bf3a1c5512fe6b204988
Author: Evan Cheng <evan.cheng@apple.com>
Date: Wed Jan 27 00:00:57 2010 +0000
Restore to pre-94570 state.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94625 91177308-0d34-0410-b5e6-96231b3b80d8
commit b799bdfb839df00dd357b0f63ddce9086e2183ed
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:53:39 2010 +0000
mcize label emission for functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94624 91177308-0d34-0410-b5e6-96231b3b80d8
commit a8174307f67b59afd8ba5355d05f0c8262554b31
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:51:52 2010 +0000
use EmitLinkage for functions as well as globals. One output
change is that we now use ".linkonce discard" for global variables
instead of ".linkonce samesize". These should be the same, just less
strict. If anyone is interested in mcizing MCSection for COFF targets,
this should be easy to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94623 91177308-0d34-0410-b5e6-96231b3b80d8
commit 31ffe0af9fac830a223c3a577ecac5bbaaecceae
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:47:12 2010 +0000
pull linkage emission code out to a new EmitLinkage function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94621 91177308-0d34-0410-b5e6-96231b3b80d8
commit d1e30988695b7a16e8e116395c951068a8ddbe0f
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:41:48 2010 +0000
rearrange some directives, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94620 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7bca23ef9d02ce81b17c2964dd4411f71bb66481
Author: Jeffrey Yasskin <jyasskin@google.com>
Date: Tue Jan 26 23:30:46 2010 +0000
Roll r94484 (avoiding RTTI problems in tests) forward again in a way that isn't
broken by setting CXXFLAGS on the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94619 91177308-0d34-0410-b5e6-96231b3b80d8
commit 2548e91a283df66d482004ed3e973d2c381c5af7
Author: Victor Hernandez <vhernandez@apple.com>
Date: Tue Jan 26 23:29:09 2010 +0000
Avoid extra calls to MD->getNumOperands()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94618 91177308-0d34-0410-b5e6-96231b3b80d8
commit 045d60450f7220d2f1446057058bd72bd6ed323d
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 23:28:40 2010 +0000
Ignore 'forced' tailcall opt in fastisel mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94617 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7c329dc12d3a5172ce163bf6e4cc84969f9c2e58
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:26:29 2010 +0000
remove a noop function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94616 91177308-0d34-0410-b5e6-96231b3b80d8
commit fcd69992ced3281fc9d0630806d30be2feaab5a2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 23:21:56 2010 +0000
Fix inline cost predictions with SCIENCE.
After running a batch of measurements, it is clear that the inliner metrics
need some adjustments:
Own argument bonus: 20 -> 5
Outgoing argument penalty: 0 -> 5
Alloca bonus: 10 -> 5
Constant instr bonus: 7 -> 5
Dead successor bonus: 40 -> 5*(avg instrs/block)
The new cost metrics are generaly 25 points higher than before, so we may need
to move thresholds.
With this change, InlineConstants::CallPenalty becomes a political correction:
if (!isa<IntrinsicInst>(II) && !callIsSmall(CS.getCalledFunction()))
NumInsts += InlineConstants::CallPenalty + CS.arg_size();
The code size is accurately modelled by CS.arg_size(). CallPenalty is added
because calls tend to take a long time, so it may not be worth it to inline a
function with lots of calls.
All of the political corrections are in the InlineConstants namespace:
IndirectCallBonus, CallPenalty, LastCallToStaticBonus, ColdccPenalty,
NoreturnPenalty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94615 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6af8d0c03c0957ea52590ac15a7deb2dbb5b3bab
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:18:44 2010 +0000
now that enough stuff is constified, move function header printing
logic up from X86 into the common code. The other targets will
hopefully start using this soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94614 91177308-0d34-0410-b5e6-96231b3b80d8
commit 6139e33352f91d8deceac847e532bd56d69ee8d3
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:18:02 2010 +0000
constify a bunch of dwarf stuff now that the registerinfo method
is constified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94613 91177308-0d34-0410-b5e6-96231b3b80d8
commit 305c54bb02ce0ce0360b20d8562e299bc69dbd60
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 23:15:09 2010 +0000
constify a method argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94612 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1082b75a14004f924335a44a7e6aae4d8d5957f7
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 23:13:04 2010 +0000
Allow some automatic tailcall optimization without changing ABI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94611 91177308-0d34-0410-b5e6-96231b3b80d8
commit fd80f9ce1de542f63d4676bea34825b55da1ce64
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 23:07:57 2010 +0000
Delete blank lines that bug me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94610 91177308-0d34-0410-b5e6-96231b3b80d8
commit 36f987f0a6c1b88f47baec98947da0fa28c0fe34
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 22:06:58 2010 +0000
call emitconstantpool and emitjumptable like other targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94601 91177308-0d34-0410-b5e6-96231b3b80d8
commit 514f9f89c41d672737168b62f36f5835dc656161
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 22:03:41 2010 +0000
Before existing NamedMDNode entry in the symbol table, remove any existing entry with the same name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94600 91177308-0d34-0410-b5e6-96231b3b80d8
commit ce1f25476c67b572f4d82899a9ed693cf1115f9b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 21:53:08 2010 +0000
emit jump table an alias ".set" directives through MCStreamer as
assignments.
.set x, a-b
is the same as:
x = a-b
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94596 91177308-0d34-0410-b5e6-96231b3b80d8
commit 268ec7835e66eda747bbda73b54366b3dde2665c
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 21:51:43 2010 +0000
fix CastInst::castIsValid to reject aggregate types, fixing PR6153:
llvm-as: t.ll:1:25: error: invalid cast opcode for cast from '[4 x i8]' to '[1 x i32]'
@x = constant [1 x i32] bitcast ([4 x i8] c"abcd" to [1 x i32])
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94595 91177308-0d34-0410-b5e6-96231b3b80d8
commit eec5843c809c182a12560f67c0d54aa86ef9e97b
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:42:58 2010 +0000
Remve unnecessary include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94594 91177308-0d34-0410-b5e6-96231b3b80d8
commit cc04b87311d24f0b8b2d12a75fe442c06302aeb1
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:39:14 2010 +0000
Use AssertingVH, just to be paranoid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94593 91177308-0d34-0410-b5e6-96231b3b80d8
commit 68c3e203d9af2c4e1694235b02dd61fc2b5eb6cc
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 21:31:35 2010 +0000
Revert test polarity to match comment and desired outcome. Remove undeserved bonus.
A GEP with all constant indices is already considered free by
analyzeBasicBlock(), so don't give it an extra bonus in
CountCodeReductionForAlloca().
This patch should remove a small positive bias toward inlining functions with
variable-index GEPs, and remove a smaller negative bias from functions with
all-constant index GEPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94591 91177308-0d34-0410-b5e6-96231b3b80d8
commit 822b6122a5b7a6fdf120ac8304381b601cb1f0ee
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 21:31:30 2010 +0000
Remove dead code.
Functions containing indirectbr are marked NeverInline by analyzeBasicBlock(),
so there is no point in giving indirectbr special treatment in
CountCodeReductionForConstant. It is never called.
No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94590 91177308-0d34-0410-b5e6-96231b3b80d8
commit b66489dcbe91da300bea69d18f8a086d7d503f5e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date: Tue Jan 26 21:31:24 2010 +0000
Skip calculation of ArgumentWeights if it will never be used.
Save a few bytes by allocating the correct size vector.
No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94589 91177308-0d34-0410-b5e6-96231b3b80d8
commit e6e109bd42e8b8fd138f4daf95c30c5b48e6eafa
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:16:06 2010 +0000
Emit DW_AT_containing_type attribute for a class if containing type is known.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94587 91177308-0d34-0410-b5e6-96231b3b80d8
commit c8898d2736985e2a14e9cda816d7e640397cfeb1
Author: Devang Patel <dpatel@apple.com>
Date: Tue Jan 26 21:14:59 2010 +0000
Add extra element to composite type. This new element will be used to record c++ class that holds current class's vtable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94586 91177308-0d34-0410-b5e6-96231b3b80d8
commit c317dc5547141e68c337cfe885ee69b44fcb9a6b
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 20:40:54 2010 +0000
Eliminate SetDirective, and replace it with HasSetDirective.
Default HasSetDirective to true, since most targets have it.
The targets that claim to not have it probably do, or it is
spelled differently. These include Blackfin, Mips, Alpha, and
PIC16. All of these except pic16 are normal ELF targets, so
they almost certainly have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94585 91177308-0d34-0410-b5e6-96231b3b80d8
commit ca334f0696d794f91a2499b3c32843a2dab2a842
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 20:36:21 2010 +0000
Delete dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94583 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7d5ae0ed3cb6222e90157ef381678efc6397134c
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date: Tue Jan 26 20:21:43 2010 +0000
Emit .comm alignment in bytes but .align in powers of 2 for ARM ELF.
Original patch by Sandeep Patel and updated by me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94582 91177308-0d34-0410-b5e6-96231b3b80d8
commit 1b6a1a0319984ad0b8aa7a53c329e25258725e20
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 20:20:43 2010 +0000
eliminate MCAsmInfo::NeedsSet: we now just use .set on any platform
that has it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94581 91177308-0d34-0410-b5e6-96231b3b80d8
commit e9644e95834edf5b112906b858222eca75621946
Author: Chris Lattner <sabre@nondot.org>
Date: Tue Jan 26 20:17:34 2010 +0000
don't set to the default value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94580 91177308-0d34-0410-b5e6-96231b3b80d8
commit ab3cf043ce28d0236360938d71ada4f499d749c5
Author: Junjie Gu <jgu222@gmail.com>
Date: Tue Jan 26 19:45:17 2010 +0000
test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94578 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3bbeaad4db989fd4f2a2fbaff3861a369b8e25de
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 19:25:59 2010 +0000
-disable-output is no longer needed with -analyze.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94574 91177308-0d34-0410-b5e6-96231b3b80d8
commit 35640b2bfaf054ec644de402407dda59a2638d92
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 19:19:05 2010 +0000
Make the unsigned-range code more consistent with the signed-range code,
and clean up some loose ends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94572 91177308-0d34-0410-b5e6-96231b3b80d8
commit 3cd6cea76a29447f5057207d07b486af197ae024
Author: Evan Cheng <evan.cheng@apple.com>
Date: Tue Jan 26 19:04:47 2010 +0000
Code refactoring, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94570 91177308-0d34-0410-b5e6-96231b3b80d8
commit 7590bb0e7d4de62df0993a8c7573b73d6509808f
Author: Bob Wilson <bob.wilson@apple.com>
Date: Tue Jan 26 19:04:37 2010 +0000
Revert 94484. Re-disable unittests that need RTTI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94569 91177308-0d34-0410-b5e6-96231b3b80d8
commit 897516339c2c8ed92066b170200b6a19a045f81f
Author: Victor Hernandez <vhernandez@apple.com>
Date: Tue Jan 26 18:57:53 2010 +0000
Switch AllocaDbgDeclares to SmallVector and don't leak DIFactory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94567 91177308-0d34-0410-b5e6-96231b3b80d8
commit ba05500da36091ffa0c867831d779ca45a868685
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 18:32:54 2010 +0000
Fix a typo in a comment that Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94562 91177308-0d34-0410-b5e6-96231b3b80d8
commit 4a24bfd614af412601a08f9644de5f9e72eb827b
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 18:30:24 2010 +0000
Remove SIL, DIL, and BPL from the GR8_NOREX allocation order also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94560 91177308-0d34-0410-b5e6-96231b3b80d8
commit dfb17221accd7197bc194888ae093f90a9636705
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 18:14:22 2010 +0000
SIL, DIL, BPL, and SPL require a REX prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94558 91177308-0d34-0410-b5e6-96231b3b80d8
commit a2a8efbb47714fca780e31b4e3634bef578668b6
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 16:46:18 2010 +0000
Rename ItCount to BECount, since it holds a backedge-taken count rather
than an iteration count.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94549 91177308-0d34-0410-b5e6-96231b3b80d8
commit 135a294519f851b3b701846581e0cd586e036b55
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 16:04:20 2010 +0000
Fix ICmpInst::makeConstantRange to use ConstantRange's API properly
in the case of empty and full ranges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94548 91177308-0d34-0410-b5e6-96231b3b80d8
commit 9c32772f586f832b770de187e6822091ee38bc63
Author: Dan Gohman <gohman@apple.com>
Date: Tue Jan 26 15:56:18 2010 +0000
Fix a typo that several people pointed out. Also, address the case of
wrapping that Duncan pointed out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94547 91177308-0d34-0410-b5e6-96231b3b80d8
commit b690d9e8e1653bdf7a13e082918652f9448a01f1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:44 2010 +0000
Support -arch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94546 91177308-0d34-0410-b5e6-96231b3b80d8
commit ead5e4cce0b949bfecb15cd2bd3ae56ca195888a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:30 2010 +0000
Support for -iquote.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94545 91177308-0d34-0410-b5e6-96231b3b80d8
commit b746f712542767bc7e4c3444793212ac0e3110f5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:16 2010 +0000
Better error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94544 91177308-0d34-0410-b5e6-96231b3b80d8
commit 276fe43e5323899b7c9eadcc80477af0e2d75d32
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date: Tue Jan 26 14:55:04 2010 +0000
Escape double quotes in 'help'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94543 91177308-0d34-0410-b5e6-96231b3b80d8
|
||
|---|---|---|
| .. | ||
| find-rev | ||