Commit graph

11 commits

Author SHA1 Message Date
Török Edvin
5f42f86347 Update autogenerated files. 2010-03-06 20:41:32 +02:00
Török Edvin
24cb93723b Merge LLVM upstream SVN r97877.
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
2010-03-06 20:17:15 +02:00
Török Edvin
91a09b9436 Update to LLVM upstream SVN r96221.
Squashed commit of the following:

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
2010-02-15 18:19:08 +02:00
Török Edvin
f578257021 Merge LLVM upstream SVN r94539.
Squashed commit of the following:

commit 4d555935ac5c77164d9af2494f470abdb542a434
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jan 26 11:58:04 2010 +0000

    Tweak the way appendModuleInlineAsm works, so you aren't obliged
    to append a newline when using setModuleInlineAsm in case later
    someone calls appendModuleInlineAsm - make newline handling fully
    automatic.  In case anyone is wondering there is only one user of
    appendModuleInlineAsm: the dragonegg plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16cc9fd0863e778a34ef4559180f059224d2e78b
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Jan 26 08:50:50 2010 +0000

    Regenerate configure.

    With the previous cleanup to configure.ac, configure is now only 393k, instead of 1.1M!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 239f981ac0b583f113a8c6ffcf51002b1dc5994c
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Jan 26 08:48:04 2010 +0000

    Remove unneeded checks from configure.ac.

    HAVE_{BI,STD,FWD}_ITERATOR and HAVE_NAMESPACES were not used in the code.
    bison and flex are no longer used.
    CAN_DLOPEN_SELF was never used either.
    AC_PROG_LIBTOOL is not needed since we don't use libtool, we only need the
    libltdl checks for dlopen.
    Add check for AR, it used to be done by AC_PROG_LIBTOOL.
    AC_TYPE_SIGNAL is deprecated, follow autoupdate's suggestion and replace with
    void.
    Remove unused m4 files.
    Configure can now be generated using autoconf 2.65 too, without any warnings!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94534 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad97ab8596f7ffb831e6b494ceb735d0a0ef0286
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Jan 26 08:43:05 2010 +0000

    Fix autoconf 2.65 warning (don't use _cv_ inside AC_CACHE_VAL).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 708db218ba4afbd6c96c7648dda80f4b20185d19
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jan 26 08:27:24 2010 +0000

    Remove warning about non return on a non-void function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56178773f3fa4ba2a3f0c0286cb42eaeeb9ba049
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 06:53:37 2010 +0000

    eliminate the TargetLowering::UsesGlobalOffsetTable bool, which is
    subsumed by TargetLowering::getJumpTableEncoding().  Change uses of
    it to be more specific.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94529 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab9d79bdabd469ecd40d76f77cb9e391e052115a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 06:42:44 2010 +0000

    Now that printPICJumpTableSetLabel is not overloaded,
    inline it into its only caller, allowing us to simplify it
    and hoist bits out of the loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 576b9165cf59ce6b435defb6718b31d7a501615e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 06:28:43 2010 +0000

    Move getJTISymbol from MachineJumpTableInfo to MachineFunction,
    which is more convenient, and change getPICJumpTableRelocBaseExpr
    to take a MachineFunction to match.

    Next, move the X86 code that create a PICBase symbol to
    X86TargetLowering::getPICBaseSymbol from
    X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific
    library.  This eliminates a 'gross hack', and allows us to
    implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
    calls it.

    This in turn allows us to eliminate the
    X86AsmPrinter::printPICJumpTableSetLabel method, which was the
    only overload of printPICJumpTableSetLabel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94526 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ab57e0e40914ec7c9da51dc7af422a9bb4742d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 05:58:28 2010 +0000

    add a new MachineJumpTableInfo::getJTISymbol method,
    use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94523 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ae50d6c969ea5319b4ac36a92f6ae3bb2db9510
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 05:30:30 2010 +0000

    stub out a new target hook, need some refactoring before I can
    implement it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5edab094dc771c2ea605feefa4168589c1703b50
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 05:15:20 2010 +0000

    simplify asmprinter: only emit .set directives when entries have
    EK_LabelDifference32 kind and the target has .set support.  Simplify
    X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dd8c76971b200d5e6da9b582322fa6b4ee03fc9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 05:10:10 2010 +0000

    rename printPICJumpTableEntry -> EmitJumpTableEntry,
    make it private and non-virtual.  It handles the non-pic
    case too, so just use it, simplifying EmitJumpTableInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ed376c1534bd482cae00ca58365945a5c595d06
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 05:02:42 2010 +0000

    implement X86 @GOTOFF jump table entries with the new EK_Custom32
    jump table entry kind, instead of overloading
    AsmPrinter::printPICJumpTableEntry.

    This has a pretty horrible and inefficient FIXME around how @GOTOFF
    is currently smashed into the mcsymbol name, but otherwise this is
    much cleaner.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92baedd90eca87c18f5734141f68123843bf94af
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 04:55:51 2010 +0000

    add a new MachineBasicBlock::getSymbol method, replacing
    the AsmPrinter::GetMBBSymbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94515 91177308-0d34-0410-b5e6-96231b3b80d8

commit c240962977fb769c537028a4a033e509b61b2b5f
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Jan 26 04:49:58 2010 +0000

    New PBQP solver.

    * Fixed a reduction bug which occasionally led to infinite-cost (invalid)
      register allocation solutions despite the existence finite-cost solutions.
    * Significantly reduced memory usage (>50% reduction).
    * Simplified a lot of the solver code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94514 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52ec98318a4a336d37048613565c031a0cb1dc5f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 26 04:40:18 2010 +0000

    Fix the the ceiling-division used in computing the MaxBECount so that it doesn't
    have trouble with an intermediate add overflowing. Also, be more conservative
    about the case where the induction variable in an SLT loop exit can step past
    the RHS of the SLT and overflow in a single step.

    Make getSignedRange more aggressive, to recover for some common cases which
    the above fixes pessimized.

    This addresses rdar://7561161.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87c00880896deb3d3c7e0cc11954fecc5cf7c75e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 04:38:11 2010 +0000

    don't bother setting the AsmPrinter::MF ivar, now that
    AsmPrinter::SetupMachineFunction sets it.  Note that systemz
    and msp430 didn't.  Yay for reduced inconsistency! :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94510 91177308-0d34-0410-b5e6-96231b3b80d8

commit b73ec923cd277bd24bff2d81c4b29b4a7661f344
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 04:35:26 2010 +0000

    make MachineFunction keep track of its ID and make
    MachineFunctionAnalysis dole them out, instead of having
    AsmPrinter do both.  Have the AsmPrinter::SetupMachineFunction
    method set the 'AsmPrinter::MF' variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 451d50e0b00fecc00fcb8657552384f318055ae2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 04:19:00 2010 +0000

    this hook should be const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94508 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd665558f42e47780aff6e3a4555e00d1789e064
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 26 04:13:15 2010 +0000

    Add a comment about a missed opportunity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94507 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1a154b0075a9f31b1850e26ff4f9462484756f7
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 26 04:12:55 2010 +0000

    Print empty and full sets specially.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94506 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98639cc055c3420fc68e8cbe308b4c9070c58bd5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 04:05:28 2010 +0000

    Add support for target-specific 32-bit custom-lowered
    jump table entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94505 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd80b5194431e0ce5b27852dc72c695ad4f7d5a7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jan 26 03:56:22 2010 +0000

    Unbreak MSVC/CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94502 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce044b9c7e5dc2c587984ad10fa7b5ed3e31fa82
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 03:47:15 2010 +0000

    make jit jump table emission be based on the EntryKind instead of magic variables.
    JITInfo::getPICJumpTableEntry can probably be removed now, but I don't plan to do
    this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ff0256e58dc792e6b1a99ae095326f06764e44c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 26 03:43:22 2010 +0000

    switch jump table entry emission to be based on EntryKind
    instead of magic variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94500 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7829479065b2c9e3593040f3ea9eb731fa505a5
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Jan 26 02:42:15 2010 +0000

    In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94493 91177308-0d34-0410-b5e6-96231b3b80d8

commit 772e788108793a13d4c154974d151e9755b09373
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Jan 26 02:36:35 2010 +0000

    Add MDNode::getIfExists(), an efficient way to determine if a value is used by metadata (since metadata does not appear in a value's use list)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bdbbc8c8bd9261fce6c90f6546fca5e743f071b
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Jan 26 02:07:38 2010 +0000

    Assert when debug intrinsic insert functions are passed empty arguments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94491 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35442a5bd501a65850e46ab87e77a0bf254227ef
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 26 02:00:44 2010 +0000

    Implement cond ? -1 : 0 with sbb.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91945aed6441c5fee15f0b4da9f74ff5fdb161b4
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 26 01:54:26 2010 +0000

    Accept immediate as value of a dbg_value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2798a565988f04b8e8e9b385ce7a1a9a671dc747
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Jan 26 01:26:46 2010 +0000

    Re-enable unit tests disabled in r94164 by telling GTest about the
    lack of RTTI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4eac23ed3a3dcf627e2b346bbadb6e6acd05eb12
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Jan 26 01:00:10 2010 +0000

    Added the implementation of the Intel-specific
    TargetAsmLexer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94482 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfe2023a6987b4201e612b8b787cbb40b4b29e7d
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 26 00:09:58 2010 +0000

    Generate DEBUG_VALUE comments on x86.  The (limited)
    dbg.declare's we currently generate go through both
    register allocators without perturbing the results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38465e0f8e0ce74d6a4721e4d667194e4ee3ee6c
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Jan 26 00:08:25 2010 +0000

    Added the TargetAsmLexer implementation for AT&T syntax.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21cf5dc841bfce418403b3909f5ab8c9e6087b9a
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 26 00:03:12 2010 +0000

    use findDebugLoc in more places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23703f10f4ee82ce35381cb63a06300ced4e98d7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jan 25 23:50:13 2010 +0000

    Minor jump table cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94475 91177308-0d34-0410-b5e6-96231b3b80d8

commit f51056a64833520d9a19dd4e66d439622e3a7794
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 23:38:14 2010 +0000

    in 32-bit pic mode for targets with a GOT, x86 emits jump table
    entries with @GOTOFF whih is EK_GPRel32BlockAddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94474 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02f40bc55023ba2181ecb32aeb8d0c265624d176
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 23:28:03 2010 +0000

    fix quoting problem jim noticed!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94472 91177308-0d34-0410-b5e6-96231b3b80d8

commit f64ffc4e7521176024d0c53f2e3a702c6de98133
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 23:26:13 2010 +0000

    Rearrange handling of jump tables.  Highlights:
    1. MachineJumpTableInfo is now created lazily for a function the first time
       it actually makes a jump table instead of for every function.
    2. The encoding of jump table entries is now described by the
       MachineJumpTableInfo::JTEntryKind enum.  This enum is determined by the
       TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
       throughout the compiler that "knows" that jump table entries are always
       32-bits in pic mode (for example).
    3. The size and alignment of jump table entries is now calculated based on
       their kind, instead of at machinefunction creation time.

    Future work includes using the EntryKind in more places in the compiler,
    eliminating other logic that "knows" the layout of jump tables in various
    situations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94470 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfe7b7a54a60a928e30896b5a21233fa0cbca0a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 23:22:00 2010 +0000

    prep work to support a future where getJumpTableInfo will return
    a null pointer for functions with no jump tables.  No functionality
    change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94469 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5badd6703d1f8fc552f45023ba10dec5e6d9b0a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 23:18:11 2010 +0000

    add a method to get the alignment of an integer type even
    when we don't have one laying around.  Useful if you don't
    have an llvmcontext handy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c6e446caaa411d8f44f2abe82c5d0b39118f79a
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Jan 25 22:54:29 2010 +0000

    Make it SP, LR, PC for GPR Register Class instead of LR, SP, PC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43b18d3c46b16a3d07cb6ae9856439af29626749
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 22:41:33 2010 +0000

    eliminate redundant argument to EmitJumpTableInfo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94464 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba0c53b5194a4a00042844d89815229ffcae3ada
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Jan 25 22:13:10 2010 +0000

    Implemented ARMInstPrinter::printThumbS4ImmOperand().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94457 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfceef4d7c86e1faff86b76962fd49cbf69748db
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Jan 25 21:59:20 2010 +0000

    Implemented the dialect decision logic for the X86
    TargetAsmLexer.  Dialect-specific lexing code will
    be placed in the functions LexTokenATT() and
    LexTokenIntel().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94456 91177308-0d34-0410-b5e6-96231b3b80d8

commit da756cedbd90c7c5c4cb88ce020567a2980d93d4
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Jan 25 21:56:35 2010 +0000

    Fixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94455 91177308-0d34-0410-b5e6-96231b3b80d8

commit f995e69497f878e241907c577840be9a4001517d
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 25 21:55:39 2010 +0000

    Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case
    of a forward-reference, which doesn't use an "abbrev" encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94454 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc57be1812ac38d5966a819ad4ed495c074a7795
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 21:28:50 2010 +0000

    mcstreamerize gprel32 emission.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452 91177308-0d34-0410-b5e6-96231b3b80d8

commit e45fe963cf0ac976f60815cecbb5fa7816c32aa1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jan 25 21:28:05 2010 +0000

    Remove check for an impossible condition: the condition of the while loop has
    already checked that TmpBB->getSinglePredecessor() is non-null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7db595672d1825bc31a0bd3cf9258cbdbe233601
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 21:22:22 2010 +0000

    mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72d7c91660fc92b769b87c3464c038e1e1ff2ded
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 21:17:10 2010 +0000

    handle the _set_ symbol with an MCSymbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75bd561e510de2d6376a8573fcbcaabf0e1f8b9f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 21:10:10 2010 +0000

    rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
    make it clear what it is, instead of how it is used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94448 91177308-0d34-0410-b5e6-96231b3b80d8

commit c50dd923eb17911f40d1a354c08b2d3e45cb5316
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 21:01:58 2010 +0000

    pull the non-pic jump table case out of printPICJumpTableEntry
    and MCize the non-pic case.  Now printPICJumpTableEntry really
    is just about printing PIC entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94446 91177308-0d34-0410-b5e6-96231b3b80d8

commit cffc498b7b150de1d0d48a56a57550609ab61e4a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 20:52:54 2010 +0000

    remove JumpTableDirective, it is always null.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98e00c465b19ccdcf0ad3ff2bb1919d190b4945c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 20:37:36 2010 +0000

    no need to implement these.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 010d3c27b44c66695ad2c967722fa39c7dc454c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 19:51:38 2010 +0000

    mcize jump table symbol manipulation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94441 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8a81c36e4a0786baacf13b1744d3aaebc9baed0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 19:39:52 2010 +0000

    sink an arm specific method out of asmprinter into the ARMAsmPrinter and
    rename it to avoid shadowing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94440 91177308-0d34-0410-b5e6-96231b3b80d8

commit 758f781239b7876a4589e4a8ea8486400cfc02d5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 19:23:04 2010 +0000

    remove dead code: the x86 target never sets usesGlobalOffsetTable,
    even on x86-32/elf which uses a GOT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94439 91177308-0d34-0410-b5e6-96231b3b80d8

commit be8c61a305dd714126a1dd308024b765a5e5de15
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 19:02:58 2010 +0000

    wirte up .file and .file to the mc asmparser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94438 91177308-0d34-0410-b5e6-96231b3b80d8

commit eaf065b751af99a0cc1fdc304e9118e9b8f7906f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 18:58:59 2010 +0000

    mcstreamerize .file and .file.  This also fixes an issue where the
    normal form of .file would fail if the filename had a weird character
    in it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8

commit f20ca12ef34f3e557241346f0db15bfa93ef989e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 18:33:40 2010 +0000

    emit ELF .type directives through MCStreamer instead of doing it textually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82ede98c5928c480b7b8d2d79b481c936fba99cd
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 18:30:45 2010 +0000

    add symbol attribute support for the ELF .type directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b3d624c931bc42d3aadbb505b81b91498ce4b1c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jan 25 18:26:54 2010 +0000

    Change Value::getUnderlyingObject to have the MaxLookup value specified as a
    parameter with a default value, instead of just hardcoding it in the
    implementation.  The limit of MaxLookup = 6 was introduced in r69151 to fix
    a performance problem with O(n^2) behavior in instcombine, but the scalarrepl
    pass is relying on getUnderlyingObject to go all the way back to an AllocaInst.
    Making the limit part of the method signature makes it clear that by default
    the result is limited and should help avoid similar problems in the future.
    This fixes pr6126.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94433 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0699b0384ab44c2c0344673d6c96fd246e0811f
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 25 17:52:13 2010 +0000

    Revert r94260 until findDbgDeclare() is made more efficient

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0271305987a4170ef3daa793c2a367338c0e32cb
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jan 25 15:32:10 2010 +0000

    Update test for darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94421 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4b84343d60c4140df8b11c6f5f23c8e981e0871
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:53:05 2010 +0000

    add a comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94417 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaa7b1bae9af996efdaa0f230800f59198b55ca8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:52:13 2010 +0000

    emit the .size directive for global variables on ELF through
    mcstreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 516b4d673d1cfba74c5c0e0f1db49abe77ca5853
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:43:40 2010 +0000

    we removed support for darwin8 tools.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f9165d2391eba416439e4467bd333e9daa99d9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:29:13 2010 +0000

    all supported target now have aligned common support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9378674bdedadfe3fefb8aecfebee0b8cbbf25ad
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:26:17 2010 +0000

    Remove support for i386 tiger tools for aligned common symbols.
    Previously we would just silently miscompile code that used aligned
    common's, now at least you'll get a build error.  tiger-ppc already
    triggered the build error because it didn't have a version of this
    logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94412 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c3d2bf9419127c61c0d5e0bd43fab2e827cb0c2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:23:14 2010 +0000

    don't set value to its default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34ed3bc8b335e54535f48b8182bebc0db0c2b477
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 25 07:20:44 2010 +0000

    coff targets support alignment on .comm

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94410 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8a8280017dfb9207e6e4f92dfaf485777a6c336
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jan 25 04:59:07 2010 +0000

    ARM does accept the .comm directive alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6751d70c7fe47be58fdd937e3766ce4344ccff8e
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jan 25 04:10:28 2010 +0000

    Fix autoconf llvm srcdir location for generic projects.

    Patch by Torvald Riegel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94405 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9a5d80089360065d335b9a46911b7b679d4e193
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Jan 25 02:27:39 2010 +0000

    Fix PR6134.
    We are not emitting alignments on Darwin for "bar". Not sure what is the
    correct way to do it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69b0fad03edc822efa7497bfbf5051475d9904f5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jan 25 00:54:13 2010 +0000

    Attempt to unbreak test on Linux. Chris, please check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94399 91177308-0d34-0410-b5e6-96231b3b80d8

commit e05be056a19a8ee169ea2676f2c2a8b42050ff33
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jan 25 00:45:01 2010 +0000

    This example requires RTTI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f6edb89f62862757145752b50c465e990879cbd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:54:45 2010 +0000

    linux/ppc does use alignment in bytes, not pow-2.  This fixes PR6129.
    It looks like linux/arm and linux/mips have the same setting, which
    are probably wrong.  Someone who cares about ARM and MIPS should
    investigate with the testcase in PR6129.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04e65245cdab942a551de170237973c9cb6b903e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:53:12 2010 +0000

    don't reset the default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1adf597745f664fdea164b2d25695e3aca78ee8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:43:08 2010 +0000

    make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 117674051a2501cce79ca6e0b3ecc00e1382ffb7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:22:08 2010 +0000

    mark some libraries that currently require RTTI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 696f0cfe623a89ef7575ff6c0b3948c34d2f3baf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:21:50 2010 +0000

    libs that need EH need RTTI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94376 91177308-0d34-0410-b5e6-96231b3b80d8

commit b08bea7868ae3094051469e7f360eb945f35d973
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:20:40 2010 +0000

    ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 073777efc9f8dcc11201a24b257d1ad3efc73f0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:17:09 2010 +0000

    reassociate should do this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34cc79c227e1bbe3c1d78a2ebbdf31e7289e9f2d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 20:01:41 2010 +0000

    add a note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94373 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdf289c59d527d18a7b3d6b29d7dc0cb2d006860
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 19:23:09 2010 +0000

    just remove this test, it is not reduced, is not clear what its testing for and
    it is dying due to fragility in the asmprinter .s comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8eba210656b1b46a627a53f27607eb78bee0b46c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 19:13:39 2010 +0000

    this test has been failing or a long time, just disable it for now to get
    back to green.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94371 91177308-0d34-0410-b5e6-96231b3b80d8

commit b35037aec3f60518a97f86050098e0c3597b8e14
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 19:01:06 2010 +0000

    fix some issues where we weren't emitting enough newlines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94370 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6e18804c095c7a9580161cec25457910ff1e470
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 18:54:17 2010 +0000

    when emitting DIEs, emit the comment on the same line as the directive.
    This fixes FrontendObjC/2009-11-30-Objc-ID.m

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ef7cf97cd5f40a660e36c637284eb120528dd04
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 02:27:03 2010 +0000

    move PR5945 here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94350 91177308-0d34-0410-b5e6-96231b3b80d8

commit b30a9d51185aed4a863737ce8f4aa01770a91426
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 01:07:33 2010 +0000

    fix a parsing problem on instructions like:
    movw	$8, (_cost_table_-L97$pb)+66(%eax)

    After the parens, we could still have a binop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8075fd5cc680647735c00aa160597d438924b9d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 00:25:09 2010 +0000

    This corrects an error in the type of the Llvm.dispose_context function.
    Patch by James Woodyatt!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94343 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bfb35b04c180f4b1c9ef08026d4d79e6dcbc22e
Author: Mon P Wang <wangmp@apple.com>
Date:   Sun Jan 24 00:24:43 2010 +0000

    It seems better to scalarize vectors of size 1 instead of widening them.
    Add support to widen SETCC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bb7a3c88d365944ffbd6f7c6602d6634fd7eba3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 24 00:09:49 2010 +0000

    change the canonical form of "cond ? -1 : 0" to be
    "sext cond" instead of a select.  This simplifies some instcombine
    code, matches the policy for zext (cond ? 1 : 0 -> zext), and allows
    us to generate better code for a testcase on ppc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2de8d73b7944fa39803d9531719da96e0921a345
Author: Mon P Wang <wangmp@apple.com>
Date:   Sun Jan 24 00:05:03 2010 +0000

    Improved widening loads by adding support for wider loads if
    the alignment allows.  Fixed a bug where we didn't use a
    vector load/store for PR5626.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94338 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9256a922c459a26e590d0ffbce1a7fa151421a1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 23:31:46 2010 +0000

    fix a potential overflow issue Eli pointed out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21dbf2fe88b87852d3b644752152fa4c939d9f67
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Jan 23 20:32:12 2010 +0000

    Speculatively revert r94322 to see if it fixes darwin selfhost buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8070ec0e39fe9fa098e05c8480fefeeafdab9e63
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 19:21:31 2010 +0000

    third bug from PR6119: the xor dupe extension allows
    for arbitrary terminators in predecessors, don't assume
    it is a conditional or uncond branch.  The testcase shows
    an example where they can happen with switches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94323 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed230ec24e2639545b5f72ce86ceebd809b0f483
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Jan 23 19:19:34 2010 +0000

    Teach DAE that even though it can't modify the function signature of an
    externally visible function, it can still find all callers of it and replace
    the parameters to a dead argument with undef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e27c8ab6d591b7c0b95f174bc4bb1788241a6ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 19:16:25 2010 +0000

    add an early out to ProcessBranchOnXOR to speed it up,
    handle the case when we can infer an input to the xor
    from all inputs that agree, instead of going into an
    infinite loop.  Another part of PR6199

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94321 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8d56ca2576b026967c306f6b2d4a7818215958f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 18:56:07 2010 +0000

    fix a crash in jump threading, PR6119

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79bda77aa67a5fb3ce416b072e5a7757ef2f0757
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 18:49:30 2010 +0000

    implement a simple instcombine xform that has been in the
    readme forever.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94318 91177308-0d34-0410-b5e6-96231b3b80d8

commit c577b8344b6fe79cd250ceaf95303a6405af12e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 18:42:37 2010 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94317 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d28a9d1cd2f682c8fb812c2ba04a25c67cc2a76
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 17:59:23 2010 +0000

    add some notes, making posix-memalign be nocapture would be an easy improvement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94312 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcc37a1838a832ec99f3f469c7dbb26751a1db2c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Jan 23 10:26:57 2010 +0000

    Remove the '-disable-scheduling' flag and replace it with the 'source' option of
    the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also,
    keep track of the SDNode ordering by default. Eventually, we would like to make
    this ordering a way to break a "tie" in the scheduler. However, doing that now
    breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94308 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21733fda3761f7209a4ec0e54dfeba60009c8af9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jan 23 09:54:23 2010 +0000

    Respect operator precedence (and silence a gcc 4.3 warning).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94304 91177308-0d34-0410-b5e6-96231b3b80d8

commit bab5d64f0e7f902588a78294cb2196c498f1836a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 07:47:02 2010 +0000

    mcize lcomm, simplify .comm, extend both to support 64-bit sizes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5282425d454ae746a266d1c41175564545c057f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 07:21:06 2010 +0000

    resolve a fixme: the "nonexecutable stack directive" is actually
    a .section.  Switch to it with SwitchSection.

    However, I think that this directive should be safe on any ELF target.
    If so, we should hoist it up out of the X86 and SystemZ targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94298 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce83c429c23fb6f94d987e49e39563fb2ccb9b1e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 07:17:54 2010 +0000

    remove a dead call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94297 91177308-0d34-0410-b5e6-96231b3b80d8

commit a60bdbe226bb00daa15b7bc5a7fd9d3f0c1c2bc1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 07:00:21 2010 +0000

    use helpers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0952125a6ba77ae0bb54f995adc9dbbc0d5544a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 06:53:23 2010 +0000

    mcize visibility directives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bec06f70cf3f98437d065cd7ddd80dfaa14d949
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 06:39:22 2010 +0000

    move the various directive enums out of the MCStreamer class
    into a new MCDirectives.h file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37bfafecbfdfd1d13c67939872f500b1b73c83e0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 06:17:14 2010 +0000

    Change constantexpr global variable initializers to convert the constants
    to MCExpr then emit them through MCStreamer with EmitValue.  I think all
    global variable initializers are now going through mcstreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94293 91177308-0d34-0410-b5e6-96231b3b80d8

commit da960b1ecc70e2eb5b8fd2553d30f094b2c1ffb7
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jan 23 06:02:43 2010 +0000

    Don't lower splat vector load to relative to the esp if the
    stack may be misaligned.

    Update test accordingly.

    Patch by Evan Cheng!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cfb025a75f48ca48aacb4728e0fa2ab208e0cbb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 05:51:36 2010 +0000

    mcstreamerize .no_dead_strip and .reference for static ctors/dtors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7aeeb28d19bdaece1ae9de1f16c3280a576f84c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 05:45:28 2010 +0000

    stop testing for invalid output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94288 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea28a60728a6cf566ca89bb76b8eff841a6f78dd
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Jan 23 05:29:06 2010 +0000

    Reapply 94059 while fixing the calling convention setup
    for strcpy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94287 91177308-0d34-0410-b5e6-96231b3b80d8

commit d07f6755bbae6d71080f76f4067704e5ccd8f973
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 05:28:25 2010 +0000

    remove unneeded directive set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94286 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5071b187e87991fe21c9237bd05a4be888a9ca0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 05:26:25 2010 +0000

    use some helpers instead of duplicating logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8977ba554ce5b1683adae55836e0710badcaa6f1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 05:19:23 2010 +0000

    mcize jump table and constant pool entry labels, .local on elf,
    and some .weak directives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f700b2c30b62395cf6c35a63c5ae4dca45ddbd4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 04:54:10 2010 +0000

    emit .ascii and .asciz through MCStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94282 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7fa27941f0d710932f12d55fe155abbcae09136
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 04:42:42 2010 +0000

    simplify code a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94281 91177308-0d34-0410-b5e6-96231b3b80d8

commit fecdf6a06df7033f4c867bd13acfbeb966cd65d0
Author: Mon P Wang <wangmp@apple.com>
Date:   Sat Jan 23 04:35:57 2010 +0000

    InstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a sext/zext

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a7c14bf328f64ff4193dd3cf0295b8f93b8c3c2
Author: Ted Kremenek <kremenek@apple.com>
Date:   Sat Jan 23 04:01:37 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94278 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7466a925f7b8617abd8bc8b24bd7a5b3503316e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 03:11:46 2010 +0000

    remove one form of EmitString, just use EmitBytes instead.  We must
    be careful to add a \0 at the end though, because EmitString didn't
    do this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94277 91177308-0d34-0410-b5e6-96231b3b80d8

commit f04952804f541d3122cfb43ec40cc0942325c23d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 03:11:10 2010 +0000

    remove this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94276 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6ab361317fd3574732ff553d10208aac92d0fd3
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Jan 23 02:43:15 2010 +0000

    Added the skeleton for the implementation of the X86
    target-specific AsmLexer, and added the appropriate
    registration calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 059df4def56ac9f1eb215a3fb849a2f21891360a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jan 23 01:21:27 2010 +0000

    Fix test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94272 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2ff4823326a56abb0ba669b821a5936b4352e8c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jan 23 01:19:28 2010 +0000

    Fix tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94271 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7a921beb95ccea2238dbebe2c41d9178e894c3a
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Jan 23 00:40:33 2010 +0000

    Modified the register matcher function in AsmMatcher to
    be static.  Also made it possible for clients to get it
    and no other functions from ...GenAsmMatcher.inc by
    defining REGISTERS_ONLY before including GenAsmMatcher.inc.
    This sets the stage for target-specific lexers that can
    identify registers and return AsmToken::Register as
    appropriate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94266 91177308-0d34-0410-b5e6-96231b3b80d8

commit da5a810fe5032fa06d1f50db89b0caf0c4af9be5
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 23 00:26:28 2010 +0000

    Avoid using "Type" as the variable name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94262 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17d6b5bc6ba2bedc3843f2650dc32f8f87240e22
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jan 23 00:26:16 2010 +0000

    AsmMatcher: Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94261 91177308-0d34-0410-b5e6-96231b3b80d8

commit d24eb84b7e60f8eee20cdf617eba33ebfa52b900
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Jan 23 00:17:34 2010 +0000

    In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2724561e93d576930911903b1f91abfe1681dc61
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 23 00:15:00 2010 +0000

    teach MCAsmStreamer::EmitBytes to use .ascii and .asciz

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0147ebbe1e565c30ea095212467d0c31c3cbfd9e
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Jan 23 00:03:28 2010 +0000

    Make sure ValueFn starts off empty

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0122611496dacf43dcb8fd246258d0a835bc9988
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 22 23:49:45 2010 +0000

    Enable pre-regalloc scheduling load clustering by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94255 91177308-0d34-0410-b5e6-96231b3b80d8

commit c95d6a904c9d796664f720423f50a7a8e553dad9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 22 23:49:11 2010 +0000

    Be more conservative with clustering f32 / f64 loads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94254 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1ca0cc113a5e7d4078729904274608de82c861d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 23:47:11 2010 +0000

    move "EOL" from asmprinter to dwarfprinter.  It should eventually
    be completely eliminated, but today is not that day.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94253 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29f89d3d786ccb37ed00a96a4b439aa4ca95a4ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 23:43:14 2010 +0000

    remove uses of EOL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d806e74cc94867843b050698b4daa39d5776321
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 23:40:08 2010 +0000

    add a new EmitCFAByte method and use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94251 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa01d51d21d54f2ca00b78e4d2091d53533eaf5e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 23:18:42 2010 +0000

    move uleb printing from asmprinter to dwarfprinter, mcize,
    cleanup and eliminate a bunch more uses of "EOL".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b1235ab731407403eea3a6b513ca1507fd973f1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Jan 22 23:04:39 2010 +0000

    Make OProfile support compile again after r93630 removed
    DebugLocTuple.  Also use an AssertingVH to ensure that MDNodes aren't
    destroyed while the FilenameCache is using them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94245 91177308-0d34-0410-b5e6-96231b3b80d8

commit f91ddc3b77bfd40e84a928da86fac608cd113eb6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 22:56:55 2010 +0000

    move sleb printing out of asmprinter into dwarf printer, make clients
    handle the comment better, MCize the non-.sleb case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94244 91177308-0d34-0410-b5e6-96231b3b80d8

commit f57bfb4bcc2519b3e7409d385a4ff119ce21296c
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jan 22 22:52:10 2010 +0000

    Remove MetadataBase class because it is not adding significant value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ba10c12d0d4e205923380005bcd2a551fe3b707
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Jan 22 22:42:22 2010 +0000

    Added a Register token to AsmToken and the appropriate
    accessor method for its value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 275991914793014fb284c1dec811d7684b3b2f1c
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 22 22:38:21 2010 +0000

    Ignore DEBUG_VALUE when building live intervals;
    this makes the code work transparently the same
    whether they're there or not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94240 91177308-0d34-0410-b5e6-96231b3b80d8

commit e50e6d22c237b7287afa87cd358578cf1884111a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 22:38:16 2010 +0000

    add a new DwarfPrinter::EmitEncodingByte method which handles
    pretty printing encoding comments and eliminates redundancy on
    the client side.  We now get pretty dwarf like this again:

            .byte   255                                         ## @LPStart Encoding = omit
            .byte   0                                           ## @TType Encoding = absptr
            .byte   0x28                                        ## @TType base offset
            .byte   3                                           ## Call site Encoding = udata4
            .byte   0x1a                                        ## Call site table size
    ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94239 91177308-0d34-0410-b5e6-96231b3b80d8

commit b70eff364cde6a60a00a0e549df9fd6d308d8355
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Jan 22 22:35:01 2010 +0000

    Filled out the skeleton of the TargetAsmLexer to behave
    exactly like an MCAsmLexer.  (The difference is that the
    TargetAsmLexer knows how to handle target-specific stuff
    like registers, whereas the MCAsmLexer is fully generic.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94237 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c68039af93eedd5a3a85bcfd6e0c9e04c83faa9
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 22:23:57 2010 +0000

    rename the dwarf class to DwarfPrinter.  This matches the filename
    and much more accurately describes what it is all about.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d9f592d5ea82a8ccc47e86ca24b11fe7a32c91d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 22:19:51 2010 +0000

    fix indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09bcfe29cc1206b4488ff52151b9aff6734aebd8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 22:09:00 2010 +0000

    inline away the trivial AsmPrinter::EOL() method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b03593d029ac231ebcf9d581bcabcc3a4c40094
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 21:57:56 2010 +0000

    inline AsmPrinter::PrintHex into its two trivial callers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94228 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4baf399c89cac6a77f292eec358fcde663ba990
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 21:50:41 2010 +0000

    change this to be a static function instead of a method on asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94227 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8e3a9c1508eeeb8475fa824bc6188a383e089ba
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 21:43:28 2010 +0000

    make the loop comment printer print out a much better structured
    output.  An example:

            .align  4, 0x90
    LBB1_5:                                                     ## %while.cond3
                                                                ##   Parent Loop BB1_1 Depth=1
                                                                ## =>  This Loop Header: Depth=2
                                                                ##       Child Loop BB1_8 Depth 3
                                                                ##       Child Loop BB1_6 Depth 3

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a083046e39014715254eec809993afe6557058f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 21:16:10 2010 +0000

    Changes to fix buffering that I forgot to commit with previous patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94222 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2898d5c0c9f4a403de67ca714336612887d2220e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 21:11:06 2010 +0000

    For blocks that are not loop headers, just print their loop depth and header BB.
    For loop headers, print Inner loop along with the other stuff so it doesn't take
    an extra line.  We now get stuff like this:

    LBB1_4:                                                     ## %land.end
                                                                ##   in Loop: Header=BB1_1 Depth=1
            notb    %al
            testb   $1, %al
            jne     LBB1_8

    and:

    LBB1_6:                                                     ## %while.cond7
                                                                ## Inner Loop Header: Depth=3
                                                                ##     Inside Loop BB1_5 Depth 2
                                                                ##   Inside Loop BB1_1 Depth 1

    which still isn't great for loop headers, but is much less verbose.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94221 91177308-0d34-0410-b5e6-96231b3b80d8

commit 992dadad54a34560aeb714f9b6330d50483e8242
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 21:00:45 2010 +0000

    reenable the label loop comments and switch them to use the formatted
    comment emission stuff.  I'm going to rewrite this though because the
    current output doesn't make sense.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94215 91177308-0d34-0410-b5e6-96231b3b80d8

commit b879eef258dd7a9b8480c7b2e1259a58de0278c4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 20:16:37 2010 +0000

    Mark EH_RETURN64 as CodeGenOnly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94205 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a0c6d6bf9f548fa5c0710eb87fbf81e38982e3
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jan 22 20:00:21 2010 +0000

    Another strncmp -> StringRef.startswith simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94203 91177308-0d34-0410-b5e6-96231b3b80d8

commit b03dee3f599868a20c569540c53956914a71d25b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 19:52:01 2010 +0000

    Convert some more random-comment-printing stuff to use
    AddComment and GetCommentOS.  Add a blank line between globals
    (even in non-verbose mode) to make the assembly more readable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94202 91177308-0d34-0410-b5e6-96231b3b80d8

commit b671b3566275e21443b7430bef6610948a660c05
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 19:51:08 2010 +0000

    make this less constrained, we want blank lines between globals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 643754db2ef4713fceda458b858e60e562ca815a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 19:17:48 2010 +0000

    add a new MCAsmStreamer::GetCommentOS method to simplify stuff
    that doesn't want to use twines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54bb43ce6bdbfc08a4c8651209c256c64c875afb
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jan 22 19:16:40 2010 +0000

    Revert 94059.  It is breaking the MultiSource/Benchmarks/Prolangs-C/bison
    test on ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4daebf7f7de736ff476a1a219a95e524a81fec54
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 19:11:53 2010 +0000

    add missing break, PR6114, patch by M Wahab.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5637abcbf760d7f372d8cdf20a2fe639aa801f87
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Jan 22 19:06:12 2010 +0000

    Fix/strengthen verification of llvm.dbg.declare

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54c6af0ac878c25b5854545cdb11cc7d1d41176e
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Jan 22 19:05:05 2010 +0000

    Keep ignoring pointer-to-pointer bitcasts

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d63ba1ff03dbb2e5b2f7e7cc329c80ef8ff920a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 18:33:00 2010 +0000

    use both the Mangler and the CBE's mangler for identifiers,
    this should fix a problem duncan saw handling symbols with '.' in them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94192 91177308-0d34-0410-b5e6-96231b3b80d8

commit 426fd0e36872e4959e3c40579c219fa4660e45fd
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 18:21:35 2010 +0000

    rename addComment -> AddComment for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94190 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfd854a8b0cf3b1506b06476d66d2b882a4e0226
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Jan 22 18:21:23 2010 +0000

    Simplify some uses of str(n)cmp with StringRef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a7c2dd91fab40da7f5730e1bb47e32f1f4bba59
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 18:14:27 2010 +0000

    CMake: Don't try to descend into projects/compiler-rt, it doesn't work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94187 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6f53ec8a5f6329e9eb99fcd9721154e95863012
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 18:14:21 2010 +0000

    Make GetSourceVersion more portable, thanks Pawel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94186 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8b2a7fec64b897bdc32a1ce9aed6de2110a8937
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 18:14:14 2010 +0000

    Update CMake LibDeps

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ea2167f18c86a5582b9a68051017ed54dfe0c71
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 18:10:54 2010 +0000

    make: Make .o files depend on Makefile, at least for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6be4f1bb09a28c828765c25ae8137c1978bdb27d
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Jan 22 15:51:31 2010 +0000

    Fix TimeValue::now() on Unix.

    TimeValue()::now().toEpochTime() is supposed to be the same as time(),
    but it wasn't, because toEpoch subtracted PosixZeroTime, but now()
    didn't add PosixZeroTime!
    Add a unittest to check this works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94178 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bd4726718a54b82545b70f82de80a7790aeeeb2
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jan 22 10:48:28 2010 +0000

    Revert r94066, which was the patch which added a Verifier pass after
    LoopStrengthReduce, as it's causing too much trouble (even with the
    old LoopStrengthReduce code).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94172 91177308-0d34-0410-b5e6-96231b3b80d8

commit a72e6a456823a00213f97a896fad80ac43225769
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 07:36:39 2010 +0000

    add comment support to the rest of the directives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c50aa145f4d32af5f49598eee5d3a14a11961d8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 07:34:12 2010 +0000

    stop using strtoll, it gives windows heartburn.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9eb7b072080725f485626551827d77072e6a3e6d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 07:29:22 2010 +0000

    Add the ability for MCStreamer to emit comments on the same line as directives.
    Switch over the asm-verbose comment for double values to use it.  We now get:

    _x:
    	.long	343597384                                   ## double 1.231200e+02
    	.long	1079953326

    For example, note that the comment is on the same line as the .long.  Woo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94166 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e035d5fccfddc47297de0da99ee914d9a2bd214
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 07:06:15 2010 +0000

    pass "-fasm-verbose" into createAsmStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94165 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac91dc93e5e0703418e786d0b53dafcfc588b600
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 06:49:46 2010 +0000

    Stop building RTTI information for *most* llvm libraries.  Notable
    missing ones are libsupport, libsystem and libvmcore.  libvmcore is
    currently blocked on bugpoint, which uses EH.  Once it stops using
    EH, we can switch it off.

    This #if 0's out 3 unit tests, because gtest requires RTTI information.
    Suggestions welcome on how to fix this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 224823eaea4e1907b9a12bc9323d3a479aca3b1d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 06:29:25 2010 +0000

    give PassNameParser a home.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94162 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22c5b90647c0f6db016708b0c818beb032926b95
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 06:25:37 2010 +0000

    add an out-of-line virtual method to CmpInst to give it a home.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94161 91177308-0d34-0410-b5e6-96231b3b80d8

commit 660a65c9b195dabacec7c583743ab48bc7fdd7cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 06:03:06 2010 +0000

    elimiante the dynamic_cast's from opt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 228d59aef55e700c353f51d4d2e087b9f659a8ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 05:54:03 2010 +0000

    simplify code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bc3c3b1cfae9e7dbc2bb023f0ff2b42f814e061
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 05:52:51 2010 +0000

    drop the pass name from the output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94158 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f6a77614269d316aecbd92759ace12f5f1cf8a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 05:46:59 2010 +0000

    eliminate dynamic_cast from this file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94157 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8745ad5250e7744a3e2ea5962522c8d4dff1828d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 05:37:10 2010 +0000

    eliminate a bunch more unneeded dynamic_cast's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3205d176601749b3b9823acdf7584f2c165aee22
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 05:24:46 2010 +0000

    eliminate a bunch of dynamic_cast's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1efffa891157a377aa759adb556d32818dc1d8a8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 04:55:08 2010 +0000

    eliminate a bunch of dynamic_cast's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94154 91177308-0d34-0410-b5e6-96231b3b80d8

commit c766713d70923e886ae2dde5840c83cb3f6fa74b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 22 03:36:51 2010 +0000

    Teach pre-regalloc scheduler to schedule loads from nearby addresses. It may improve cache locality. This is controlled by -cluster-loads for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94148 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea0e0c0e1cfa23c6ed276798c7e6c98d00497cca
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 22 03:34:51 2010 +0000

    Add two target hooks to determine whether two loads are near and should be scheduled together.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5444b9fe0858807f206081cab447f46d25a36e13
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 22 03:33:01 2010 +0000

    Add DenseMapInfo for signed long long.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94146 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9539e24981a586ee732e16d2710dd7bf4be1a54
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 02:04:33 2010 +0000

    CMake: Add MCParser directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54a7255c0b8f3703008ce88acf09afec3c801008
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Jan 22 02:04:28 2010 +0000

    lit: Separate test suite from test name with spaces, to make it easier to cut and paste.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94134 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa52e910d9b9ffff0d86f7183cccad9d74330991
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 01:58:44 2010 +0000

    add new file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d0e32c35c92fb073da29ec06f5b54ffd6bb30c7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 01:58:08 2010 +0000

    move some files out of the llvm-mc tool into the MCParser library so
    other tools can link it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94131 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1cd87d00fbb71385ddd4d2da812723ad9c6b5ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 01:55:10 2010 +0000

    forgot to svn add these, doh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 808bf3bd80522a075959bea601c9e9ae06f72035
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 01:44:57 2010 +0000

    create a new MCParser library and move some stuff into it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94129 91177308-0d34-0410-b5e6-96231b3b80d8

commit c28a9238761facfb1a2519da236192fd316f7700
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 01:17:12 2010 +0000

    remove some confused code that used strtoull

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cea4f37aca55c4a1d6e24349d96ce488fca895f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 01:10:40 2010 +0000

    allow registering target lexers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8dbec783f4a5d12c6f883b8379e3c48685d2320f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 22 00:58:59 2010 +0000

    stub out a new TargetAsmLexer interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94125 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa9de114313d06a89d317306683589ba43922d52
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jan 22 00:46:49 2010 +0000

    Revert LoopStrengthReduce.cpp to pre-r94061 for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94123 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e4d5f45ee8b2a4602b3ea0fd5b133932eea4ae4
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Jan 22 00:28:27 2010 +0000

    Store flags in bitfields instead of masking them into the pointer for the left child.  This leads to some nice conceptually cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e634910a9e7d494064057658ca2847e629d26a7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 22 00:08:13 2010 +0000

    Fix PR5694. The CMN instructions set the flags differently from CMP, so they
    cannot be directly interchanged for comparisons against negated values.
    Disable the CMN instructions for the time being.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94119 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7205efd48b24a4d02771fd0e1f07c78ee6461163
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Jan 21 23:42:57 2010 +0000

    Tidy up assertion syntax.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53bdfacf7beb2906e3dbecbe7d5f81f4c9f5338b
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 21 23:09:12 2010 +0000

    No need to look through bitcasts for DbgInfoIntrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94114 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf4f0e59d781441ebf28d7bc8b7b0eac8a23cf99
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 21 23:08:36 2010 +0000

    DbgInfoIntrinsic no longer appear in an instruction's use list

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94113 91177308-0d34-0410-b5e6-96231b3b80d8

commit e498e711f16d8456d555e9b15bea0e02ed57f7f4
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 21 23:07:15 2010 +0000

    No need to look through bitcasts for DbgInfoIntrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94112 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45846ac009ca010097d85e2c548d97a6a70036e0
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 21 23:05:53 2010 +0000

    DbgInfoIntrinsics no longer appear in an instruction's use list; so clean up looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94111 91177308-0d34-0410-b5e6-96231b3b80d8

commit c95dce9668375cf950162fee2a64eb20ce297f77
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 23:01:22 2010 +0000

    When inserting expressions for post-increment users which contain
    loop-variant components, adds must be inserted after the increment.
    Keep track of the increment position for this case, and insert
    these adds in the correct location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06efd96affdf537dff3f5991aad8204ffb2d8d1d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 22:46:32 2010 +0000

    Include IVUsers information in LSR's debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94108 91177308-0d34-0410-b5e6-96231b3b80d8

commit f874582d8f5e44e304c58f824c61026f751bb4d1
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 22:42:49 2010 +0000

    Prune the search for candidate formulae if the number of register
    operands exceeds the number of registers used in the initial
    solution, as that wouldn't lead to a profitable solution anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59caf2b6453440d6b553b9a11be808608e41cd61
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jan 21 21:44:43 2010 +0000

    Trim unneeded includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 349291bfb714d8b1b75fd9c711995f990664b008
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 21:31:09 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c21610ada2f50338f60a4c311b61cabaacdda9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 21:29:25 2010 +0000

    It turns out that this #include is needed because otherwise
    ValueMapper.cpp ends up calling an out of line
    __ZNK4llvm12PATypeHolder3getEv, which is a template and llvm-config
    determines arbitrarily to use the one in libipo.  This sucks, but
    keeping the #include is a reasonable workaround.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e69ba2ec15421ddd7a9d18985bf32a087981520
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 21:20:51 2010 +0000

    unbreak the build, apparently without this transformutils starts depending on libipa?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5be1d63a362791581a0c1c02bdfb85664b71f93b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 21:05:54 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d62ac57a4a36d8a3208ee6a7efd02a2a6114b16
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 21:01:47 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68abe9242583b94f39e6dd55f595ce87f3172f57
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 20:43:39 2010 +0000

    remove dead .erase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94098 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce178f1cad0e27378f696f07bec6c2ad9727ba08
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jan 21 20:10:22 2010 +0000

    back this out for now. Growing Function is not good.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b80d3e6abe702b0570db64706220d71172a69fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 20:01:04 2010 +0000

    testcase for r94095

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94096 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ca22403c61266e8f3039493f9e649aa01f3d74c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 19:58:19 2010 +0000

    fix a problem with a missing _, testcase pending.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 399f540a943ada4219992eb5fbed256026ffc706
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 21 19:33:59 2010 +0000

    Don't need to include IntrinsicInst.h any more

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94092 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b2e3d7c7fa479da9ad73c9cd5a6c891a68ca65e
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 21 19:26:20 2010 +0000

    No need to map NULL operands of metadata

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09e5cd4c6046361c494a73c048b94f1238f49672
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Jan 21 16:09:59 2010 +0000

    Add a simple script for getting a version tag from a svn/git-svn/git
    repository. Feel free to add support for your favorite VCS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94077 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1b797ca4dfdd5e70f8815092a7abe8c872c786a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jan 21 15:40:14 2010 +0000

    struct/class mismatch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94075 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6ce7fcc5c5c28af35a89c9c1cfda56649e5a990
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 10:15:06 2010 +0000

    Make the parser include the lower level error message in its own error
    message, to be more informative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6decbcedb01ad0a677cda94b7d2e88c07144a06e
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 10:13:27 2010 +0000

    Avoid printing a spurious semicolon when there is no filename.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5eac35732d05e5fde2933456cc74d6453fba0616
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 10:08:42 2010 +0000

    When re-using an existing cast for a user, it's still necessary to call
    rememberInstruction so that future users of that user will be inserted
    in the correct position. This fixes the Darwin selfhost.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94070 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f89af189aaa7413b37cf34bb6712abdfc6d5c47
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Jan 21 07:03:21 2010 +0000

    Fix a crasher trying to fold each element in a comparison between two vectors
    if one of the vectors didn't have elements (such as undef). Fixes PR 6096.

    Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would
    have <2 x i1> type if constant folding was successful and i1 type if it wasn't.
    This exposed a related issue in the bitcode reader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94069 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccedfaf8a570d896c179fcbdf4c76cff9254bab3
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 06:11:03 2010 +0000

    remove a couple of asserts that use RTTI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94068 91177308-0d34-0410-b5e6-96231b3b80d8

commit f351d251e90ab22adfc8323aca899d880c8d87fc
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 03:51:36 2010 +0000

    Run the verifier after LSR, to help catch use-before-def errors before
    they reach codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2003be1aa5b51b63f438ac33637b161ba97ec1db
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 21 02:09:26 2010 +0000

    Re-implement the main strength-reduction portion of LoopStrengthReduction.
    This new version is much more aggressive about doing "full" reduction in
    cases where it reduces register pressure, and also more aggressive about
    rewriting induction variables to count down (or up) to zero when doing so
    reduces register pressure.

    It currently uses fairly simplistic algorithms for finding reuse
    opportunities, but it introduces a new framework allows it to combine
    multiple strategies at once to form hybrid solutions, instead of doing
    all full-reduction or all base+index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94061 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0173bf117d7ff7ea00824e62d0457ad646bc7bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 21 02:07:07 2010 +0000

    eliminate dynamic_cast from the pass manager.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a4e8e8647c04d0dcf2b47f527ac7394187a7602
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jan 21 01:04:38 2010 +0000

    Add strcpy_chk -> strcpy support for "don't know" object size
    answers.  This will update as object size checking gets better information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94059 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea70dd4fcb20d2abf70a8c03157add6b03c0f2ac
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jan 21 00:55:14 2010 +0000

    Fix a minor issue in x86 load / store folding table. movups does an unaligned load so it doesn't require 16-byte alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94058 91177308-0d34-0410-b5e6-96231b3b80d8

commit e96029f9f29e697bfccbc8f7bb0fe9426a58df6b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jan 21 00:43:30 2010 +0000

    Make sure that landing pad entries in the EH call site table are in the proper
    order for SjLj style exception handling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94055 91177308-0d34-0410-b5e6-96231b3b80d8

commit df9e5096b6fe734bdcda8e724dd816624e0e6695
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Jan 21 00:19:58 2010 +0000

    Moved handling of inclusion from the AsmLexer to
    the AsmParser, breaking AsmLexer's dependence on
    SourceMgr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94054 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36c6b186829848ef935fc8d6388d77fc6c2bbea8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 23:30:28 2010 +0000

    simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a9ae98ab368fdd5f7c9c4e2f130d1b2b05f27b6
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Jan 20 23:19:55 2010 +0000

    Changed the AsmParser to handle error messages itself
    rather than passing them off to the AsmLexer to handle.
    This means the AsmLexer no longer requires a SourceMgr
    to do error handling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94047 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0885e7b9b0f6b89af155696c4412afb25f8a56a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jan 20 23:03:55 2010 +0000

    SjLj EH introduces can introduce an additional edge to a landing pad and pad
    normalization needs to take this into account.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94046 91177308-0d34-0410-b5e6-96231b3b80d8

commit e155f8fbe86c8354938ba7dd3efce0578b99fc29
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Jan 20 22:45:23 2010 +0000

    Promoted the reference to the SourceMgr from AsmLexer
    into AsmParser, in preparation for making AsmLexer
    independent of the SourceMgr

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b79aa91db34d6149052b68e0989f22200bf29b1
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Jan 20 22:18:24 2010 +0000

    Modified MCAsmLexer to return error information upward
    rather than printing it locally, reducing its dependence
    on SourceMgr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 501eb0b812c54273e6621d5c3fe67b4c969316a8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 21:36:48 2010 +0000

    eliminate FnStubInfo, using MachineModuleInfoMachO instead.
    this makes function stub emission determinstic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94033 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0312ac5aef609cc96308d1ad389af8728c58ffe
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jan 20 21:36:02 2010 +0000

    make findDebugLoc a class method

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 658deae41f27c8716ab47c2221238a7e091290ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 21:19:44 2010 +0000

    split function stub printing out to its own function,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94030 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5432f843148c71db548070383c2a150255bc20bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 21:16:14 2010 +0000

    eliminate the GVStubs and HiddenGVStubs maps, and use
    MachineModuleInfoMachO instead.  This eliminates two sources
    of nondeterministic output in the ppc backend, but function
    stubs are still bad.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94029 91177308-0d34-0410-b5e6-96231b3b80d8

commit d11d8c1016cd1bcc66fe24bce6123aa12d3ba67b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 20:48:59 2010 +0000

    don't forget to initialize an instance variable!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 610d6cbe506606fc86525c0c30c68842e3723993
Author: David Greene <greened@obbligato.org>
Date:   Wed Jan 20 20:13:31 2010 +0000

    When XDEBUG is enabled, check for SelectionDAG cycles at some key
    points.  This will help us find future problems like the one
    described in PR6019.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 576e34ee28c04a3321e3693e1e431bbf9688f256
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 20:09:02 2010 +0000

    adopt getAdjustedAnalysisPointer in a few more passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9917244e222bb4758cb5dd033de03763cad6e077
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 19:53:32 2010 +0000

    adopt getAdjustedAnalysisPointer in two more passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94017 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73d5e3f43961009732292aadf5987ffac2dee486
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 19:51:46 2010 +0000

    adopt getAdjustedAnalysisPointer in BasicCallGraph.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94015 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3ff296dffce1990825ce3503b5532f46f0491d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 19:26:14 2010 +0000

    add some new methods to adjust this pointers.  Not used yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94013 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0252e0a4f296dee7670281ae95d43ca08e28478
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 19:25:45 2010 +0000

    add a helper method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94012 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8391018c707eecd15793967a7e076eee6eddd40
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 17:57:50 2010 +0000

    don't send null pointers through the constantexpr codepath unneededly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 674ee7197741c9fdea7dc81a29969ff5d72aa5a6
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 17:53:51 2010 +0000

    reduce redundant are's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d97c90f9d4c28592c4711451f52c502246ca3ef
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jan 20 17:51:28 2010 +0000

    Move per-function inline threshold calculation to a method.

    No functional change except the forgotten test for
    InlineLimit.getNumOccurrences() == 0 in the CurrentThreshold2 calculation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94007 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf85333d1f13d5b3d702cf865a7075136f76dcad
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 17:50:30 2010 +0000

    use getGlobalDirective(), don't hardcode .globl.  PR6093

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94006 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff9bf035c5b0e263e1f4da7785141eef996cd427
Author: David Greene <greened@obbligato.org>
Date:   Wed Jan 20 15:27:19 2010 +0000

    Fix an infinite recursion problem.  dbgs() should return errs() in
    release mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94001 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac4b96795f374059d5989eac501d97a983183a0c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 07:41:15 2010 +0000

    eliminate some uses of AsmPrinter::EmitIntXXX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93996 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3663a67fde068e214d251c0c399c35b045a0a22
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 07:37:49 2010 +0000

    Backout r93990

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93995 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4f4d33117cd1e581608f0a1a24591d4bcb3173b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 07:33:29 2010 +0000

    inline and radically simplify printDataDirective.  It will eventually
    go completely away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93994 91177308-0d34-0410-b5e6-96231b3b80d8

commit e03a029d04eabab1cc3164c336b34cb3b8004876
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 07:24:05 2010 +0000

    emit basic block labels with mcstreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17b54b8fd322deb00afde2bec9443984ad8c7e35
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 07:19:19 2010 +0000

    emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
    for tidiness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93992 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1dee1cd01c05f2585b9561f81597af2f03c3a62
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 07:11:32 2010 +0000

    signficant cleanups to EmitGlobalConstant (including streamerization
    of int initializers), change some methods to be static functions,
    use raw_ostream::write_hex instead of a smallstring dance with
    APValue::toStringUnsigned(S, 16).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93991 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4e1863f0d65b0efdbf69c607aedfa138c144a3c
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 06:57:02 2010 +0000

    Fix/strengthen verification of llvm.dbg.declare

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93990 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3792faac8c633d0d89915ea142f9e740675b2d4
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 06:56:16 2010 +0000

    Switch Elts from vector to SmallVector

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93989 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ca943c75e9469b1c2a0439959c354c7c323a6a3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 06:53:37 2010 +0000

    switch ConstantFP emission to use MCStreamer, significantly
    simplifying the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93988 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a6317d5dcbd14e2c7b5001df315bd930d480244
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 06:45:39 2010 +0000

    make mcasmstreamer handle expanding 8 byte integer constants to
    4-byte constants if .quad isn't supported.  Switch a bunch of
    methods used by the dwarf writer to use OutStreamer.EmitIntValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15fbb193b82579b419a06f4d86b8c0f08a086182
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 06:39:07 2010 +0000

    give createAsmStreamer an 'isLittleEndian' argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93986 91177308-0d34-0410-b5e6-96231b3b80d8

commit 996551e1439e0a0e34c022826ccd8f87b2b5b9e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 20 06:34:14 2010 +0000

    revert 93934, removing the MCAsmInfo endianness bit.  I can't
    stomache MCAsmInfo having this, and I found a better solution to
    this layering issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84b83d85f7e1b7ef91558699bee248afe19e80a2
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 06:22:33 2010 +0000

    Fix if/else brackets; getFunctionForValue() is to be called for non-metadata values

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bacf0a37188b473012e23bf916dca97727584df
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Wed Jan 20 06:01:02 2010 +0000

    Fix the conditions to unambiguously show the logic they represent. This is the
    logic enforced in the test case as well, so hopefully it is correct. Please
    review Victor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93980 91177308-0d34-0410-b5e6-96231b3b80d8

commit e419cf483658b209342b05b465819759004ef7dc
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 05:49:59 2010 +0000

    Map operands of all function-local metadata, not just metadata passed to llvm.dbg.declare intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93979 91177308-0d34-0410-b5e6-96231b3b80d8

commit b671414043b6a956cc23051ef13ba48b86d8ae5a
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 05:44:11 2010 +0000

    Avoid unnecessary Elts array

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93978 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10e291fa4a937d83b23f7f5a293e1ff76e9f1961
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 20 04:45:57 2010 +0000

    Refactor common parts of MDNode::getFunction() and assertLocalFunction() into getFunctionForValue()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 475a3f29b6e1497b3a413506c1a5911312ccb0d6
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Jan 20 02:05:23 2010 +0000

    If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93967 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f878d30358199527a32ee39043cc5cee162dc7b
Author: David Greene <greened@obbligato.org>
Date:   Wed Jan 20 00:59:23 2010 +0000

    Add some asserts to check SelectionDAG problems earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93960 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf5ecb9ec5f838a6a720894b13584e90c238d2cf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Jan 20 00:43:07 2010 +0000

    For 'install-clang' target, also traverse tools/clang/lib/Runtime.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 075532b7273ecaf827fca3e1683c9c14831af19a
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jan 20 00:19:24 2010 +0000

    Move findDebugLoc somewhere more central.  Fix
    more cases where debug declarations affect
    debug line info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7271e860285ff2a5f7b111f4ba55cc5426837a28
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 23:30:49 2010 +0000

    Fold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some code
    that SCEVExpander can produce when running on behalf of LSR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93949 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc4aaeb19b543b2582c14e621da711a90f968956
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jan 19 22:56:26 2010 +0000

    Wrap some comments to 80 columns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93940 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39f55232c932dd44ce3807a6d1967c98fae1970e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 22:53:50 2010 +0000

    Make SCEVAddRecExpr's getType return a pointer type when the add
    has a pointer member. This helps reduce unnecessary bitcasting
    and uglygeps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93939 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5c5cf3c26fb368e1f28b4f8f6c06ab401058886
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 19 22:50:05 2010 +0000

    Fix a case where debug_value was perturbing the
    line number info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93937 91177308-0d34-0410-b5e6-96231b3b80d8

commit 147d8bd28abfcc314802fd9123b09236ba95b62b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 22:45:06 2010 +0000

    When doing address-mode sinking, expand the base register first, rather
    than the scaled register. This makes it more likely that subsequent
    AddrModeMatcher queries will match the new address the same way as the
    old, instead of accidentally matching what had been the base register
    as the new scaled register, and then failing to match the scaled register.
    This fixes some problems with address-mode sinking multiple muls into a
    block, which will be a lot more common with some upcoming
    LoopStrengthReduction changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93935 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1644edcfb4b34a1fafc20e708820c5544cf24f4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 22:42:28 2010 +0000

    give MCAsmInfo a 'has little endian' bit.  This is unfortunate, but
    I really want clients of the streamer to be able to say "emit this
    64-bit integer" and have it get broken down right by the streamer.

    I may change this in the future, we'll see how it works out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93934 91177308-0d34-0410-b5e6-96231b3b80d8

commit d86a19eac282c33ef3dd894a7286ef22a32ececb
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 22:27:22 2010 +0000

    Add a comment and tidy up some whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93932 91177308-0d34-0410-b5e6-96231b3b80d8

commit da9eea0223433c3c7c1d5995888b04fca0d3151f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 22:26:02 2010 +0000

    Fix a typo and an 80-column violation in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93931 91177308-0d34-0410-b5e6-96231b3b80d8

commit c56417c271387318cb2d6cd23da4e3483d1109c5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 22:21:27 2010 +0000

    Give ScalarEvolution access to the DominatorTree. It'll need this
    to make more intellegent AddRec folding decisions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93930 91177308-0d34-0410-b5e6-96231b3b80d8

commit f304d1a34c6af7a35230cbaa3cabea35229810a9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 22:16:33 2010 +0000

    simplify the rest of fp constant printing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93929 91177308-0d34-0410-b5e6-96231b3b80d8

commit 132bf14002c41c445a57af51652adec7d7ff7e04
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 22:11:05 2010 +0000

    simplify the code for printing x86 long double, don't do work
    for -fverbose-asm unless it's on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77abfc1e6ce83fc23427e1b0f07a97bf3d9a417a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jan 19 22:08:34 2010 +0000

    Identify predicate and optional-def operands when printing machine
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93925 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed6d8c436e06abdd9b9993c32e21876ef0ddb648
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 22:03:38 2010 +0000

    add a new EmitIntValue method that MCStreamer impls can optionally define
    and that clients can use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8149786c50b3532bf702b45ace4b2388a1341d41
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 21:55:32 2010 +0000

    Add a new helper function to IVUsers for returning the "canonical"
    form of an expression. This is the expression without the
    post-increment adjustment made, which is useful in determining
    which registers will be used by the expansion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68867702f7a6049e8b8a8a6b193424a3c0505aaf
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 19 21:51:51 2010 +0000

    Add nounwinds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b51ee89fee658d8ef29b8060e15767fc67455b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 21:51:22 2010 +0000

    eliminate AsmPrinter::EmitZeros: just use MCStreamer directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93918 91177308-0d34-0410-b5e6-96231b3b80d8

commit bda38003386beaad6a24d5b821738a0bd46f64b4
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Jan 19 21:44:56 2010 +0000

    Promoted the getTok() method to MCAsmParser so that
    the two token accessor functions are declared consistently.
    Modified the clients of MCAsmParser to reflect this change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93916 91177308-0d34-0410-b5e6-96231b3b80d8

commit dddb79d966889b268f642461bbb932c9f2c822cf
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Tue Jan 19 21:26:05 2010 +0000

    Stubs for getHostCPUFeatures API. This implements part of PR5389.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93913 91177308-0d34-0410-b5e6-96231b3b80d8

commit e044e95d47bc670e115a814ebe80cafbaa783cff
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jan 19 21:08:28 2010 +0000

    Remove predicates when changing an add into an unpredicable mov.

    Since the mov is executed unconditionally, make sure that the add didn't have
    any predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 632fa82c8d0060a9049ee0ec5d6badabbe7ebaaa
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jan 19 20:59:04 2010 +0000

    Update CMake list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93905 91177308-0d34-0410-b5e6-96231b3b80d8

commit 396e20751d87b0194dcc9e4b947a1575338d25f7
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 19 20:37:34 2010 +0000

    Add some new debugging APIs to print out "raw" SelectionDAGs to make
    understanding CannotYTetSelect and other errors easier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bb069114798422089019fb5ca25b462cfc0d5fd
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Jan 19 20:27:46 2010 +0000

    Propagated the parser-side Lex function's declaration to
    MCAsmParser, and changed the target-specific AsmParsers
    to use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93900 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7d4aa347f157579aa9a192e68506850d9780d4c
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Jan 19 20:22:31 2010 +0000

    Added a Lex function to the AsmParser, to allow handling
    of include directives to occur within the parser itself.
    This will break the lexer's dependency on a SourceMgr as
    input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93899 91177308-0d34-0410-b5e6-96231b3b80d8

commit db5b0d575b7cb1f776fbcf4a766bf146a9f7627f
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jan 19 19:57:07 2010 +0000

    Fix a bug introduced on r92564 where the name "Node" was already
    in use by Mips.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93897 91177308-0d34-0410-b5e6-96231b3b80d8

commit cafc2da44c01a7d1a766451bd55a0f6d9cebdf35
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 19:46:13 2010 +0000

    Generalize mcasmstreamer data emission APIs to take an address space
    identifier.  There is no way to work around it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8

commit c19dbe068d8b59c298a4d835f0d7c5ada6bd2954
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 19 19:45:51 2010 +0000

    Do not extend extension results beyond the use of a PHI instruction at the start of a use block. A PHI use is expected to kill its source values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93895 91177308-0d34-0410-b5e6-96231b3b80d8

commit a62bf10496e55c0a70ddc0c6b21502e34d794333
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 19:10:44 2010 +0000

    refactor code to be static functions instead of methods on AsmPrinter.
    This fixes some bugs handling address spaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93891 91177308-0d34-0410-b5e6-96231b3b80d8

commit b07e5f66f20e04da9f41e3ab172c35a5167dd525
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 18:58:52 2010 +0000

    mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the
    default address space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93890 91177308-0d34-0410-b5e6-96231b3b80d8

commit 689f7609fc35781483edf60e5be16030abc931b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 18:52:28 2010 +0000

    add an MCAsmStreamer::EmitFill specialization of EmitFill that
    emits one directive instead of N.  Not doing this would be a
    significant regression on the # bytes generated by .fill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93889 91177308-0d34-0410-b5e6-96231b3b80d8

commit dea52e11c0b7f330a62b6cd9964abff399e97ded
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 18:45:47 2010 +0000

    add a "MCStreamer::EmitFill" method, and move the default implementation
    (which just iteratively emits bytes) to MCStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93888 91177308-0d34-0410-b5e6-96231b3b80d8

commit 264871c452f0b74abbce18f24f542d0d3d468187
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 18:37:01 2010 +0000

    remove MAI::ZeroDirectiveSuffix, which is only used by MASM,
    which we don't support anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b139e487e2130ae43ccff63246fad86d23df9c0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Jan 19 18:31:11 2010 +0000

    For aligned load/store instructions, it's only required to know whether a
    function can support dynamic stack realignment. That's a much easier question
    to answer at instruction selection stage than whether the function actually
    will have dynamic alignment prologue. This allows the removal of the
    stack alignment heuristic pass, and improves code quality for cases where
    the heuristic would result in dynamic alignment code being generated when
    it was not strictly necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21782ed354253d6780e6caa48d6e8bc0f1dbe4f0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 18:16:19 2010 +0000

    optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund Grimley
    Evans!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01dfd518ef5a3c0680a6c91283371ced13ff8525
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jan 19 17:00:43 2010 +0000

    On pic function calls some arguments were marked dead and
    the instruction to load those args removed. This fix PR6071

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93880 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1ecb26fd9ca637d5154f07c2a5692652f3b69b6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jan 19 16:42:10 2010 +0000

    The change in r90189 adds a link in a directory outside the iPhone platform
    directory when building the llvmCore_Embedded project.  Fix this by putting
    the iPhone platform directory into DEST_DIR instead of DEST_ROOT.  I also
    noticed what appears to be an unintentional use of DEVELOPER_BIN instead of
    DEVELOPER_DIR, so I fixed that and changed to use DEVELOPER_DIR in some places
    that were hardcoded to "Developer".  Finally, the other changes here allowed
    some refactoring and simplification, which I have done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93878 91177308-0d34-0410-b5e6-96231b3b80d8

commit d93965f3a98c09263a9983d28b91c0c5a06a9b05
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jan 19 12:53:04 2010 +0000

    load f64 +0.0 in a cleaner way. This fix part of PR5445

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37e6aad4b09529afa22b87248909da7b43d7a8d0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Jan 19 12:37:35 2010 +0000

    Fix return registers for mips eabi

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93875 91177308-0d34-0410-b5e6-96231b3b80d8

commit dcb6f254d32e9c8dc2a44654d70177334896583d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:41:24 2010 +0000

    mcstreamer'ize the rest of EmitGlobalVariable that is used on
    darwin.  The next big piece to get global variables streamerized
    is EmitGlobalConstant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93870 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb8331e45b56034b1f29be2e90e7a980525d8e32
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:39:54 2010 +0000

    don't let asm-verbose break the check-next lines in these tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ee4950d6fd5bf796878193a8c7a6e2b80ae71e4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:25:51 2010 +0000

    stop using the .lcomm pseudoop on darwin, instead, directly use the
    .zerofill directive.  Streamerize its generation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93868 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc7b1053d54d819adea030bea5445aa685ed2c1c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:22:22 2010 +0000

    fix parsing .comm directives on systems which do not represent alignments
    as a power of 2.  This fixes MC/AsmParser/directive_comm.s

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30301d70964c8da1d1c1686b2c42ae70f51f752b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:21:23 2010 +0000

    only darwin has zerofill

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93866 91177308-0d34-0410-b5e6-96231b3b80d8

commit c412fbf41da6e79306dda0cf5a2f445f841389bd
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 19 06:19:05 2010 +0000

    MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93865 91177308-0d34-0410-b5e6-96231b3b80d8

commit be5475c17deca20f05263e9d6e33c700a835bc4e
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 19 06:09:04 2010 +0000

    Avoid including DebugInfo.h in AsmPrinter.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c87acb187e34b2bcd4db357de44d321417b1147
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:08:15 2010 +0000

    zap the ARM version of PrintGlobalVariable, which I missed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93863 91177308-0d34-0410-b5e6-96231b3b80d8

commit 370ee59d0a37bc4cb159dead5c391fe79e85628c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 06:01:04 2010 +0000

    mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93860 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9934f0312e4caa9a7366d70b7f9dcf624101ff7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 05:51:42 2010 +0000

    factor this code better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42a203b73bbc908258a8c2cee070559c300f3bfe
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 05:38:33 2010 +0000

    Now that we have everything nicely factored (e.g. asmprinter is not
    doing global variable classification anymore) and hookized, sink almost
    all target targets global variable emission code into AsmPrinter and out
    of each target.

    Some notes:

    1. PIC16 does completely custom and crazy stuff, so it is not changed.
    2. XCore has some custom handling for extra directives.  I'll look at it next.
    3. This switches linux/ppc to use .globl instead of .global.  If .globl is
       actually wrong, let me know and I'll fix it.
    4. This makes linux/ppc get a lot of random cases right which were obviously
       wrong before, it is probably now a bit healthier.
    5. Blackfin will probably start getting .comm and other things that it didn't
       before.  If this is undesirable, it should explicitly opt out of these
       things by clearing the relevant fields of MCAsmInfo.

    This leads to a nice diffstat:
     14 files changed, 127 insertions(+), 830 deletions(-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9408d24e1a589d705bda5a8ced414809ac0a27b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 05:25:38 2010 +0000

    use %object like other elf targets, gas accepts either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c7b3b869fb6912f28ebbf3e939cf1fa6f6e6da0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 05:23:59 2010 +0000

    simplify the mips target to print .size and .type for c strings
    just like all other elf targets.  Bruno, if this isn't right, please
    let me know + why :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6359ed28f836123afe82d7d276a4a173bb638587
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 05:08:13 2010 +0000

    hookize the cygwin ".linkonce" directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93855 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fe06165d0b7b91b466ef0faced7bd91a03ad44f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:59:55 2010 +0000

    more cleanups.  Emit the .local directive even on cygwin/mingw.
    I'm not sure that this is correct, but it causes no test failures,
    and just emitting a .comm without protecting its linkage somehow
    is surely not right.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a5510cf167f6288af982a43eb172af46e93e48c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:53:18 2010 +0000

    some cleanups

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93853 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9b123031148e07082e9ad2393b5657bf3ba2483
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:48:20 2010 +0000

    add a bool for whether .lcomm takes an alignment instead of basing this on "isdarwin".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a21601ea57eb29fe58399ca68e90d7710f08292
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:39:15 2010 +0000

    hoist handling of external globals and special globals up to common code.
    This makes a similar code dead in all the other targets, I'll clean it up
    in a bit.

    This also moves handling of lcomm up before acquisition of a section,
    since lcomm never needs a section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 874fdbc7755aa6634c126e3f8027dabc6617f0f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:34:02 2010 +0000

    move production of .reference directives for static ctor/dtor list on
    darwin into common code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93849 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf679f8f253409980d143ffe3f8dac1b541f12aa
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jan 19 04:32:48 2010 +0000

    Fix a crash in scalarrepl for memcpy/memmove where the source and destination
    are the same.  I had already fixed a similar problem where the source and
    destination were different bitcasts derived from the same alloca, but the
    previous fix still did not handle the case where both operands are exactly
    the same value.  Radar 7552893.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93848 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7337615ab96c5bce72b08012ebd4dbe95f316811
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:21:20 2010 +0000

    use BSSLocal classifier to identify 'lcomm' data instead of
    duplicating the logic (differently) in lots of different targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93847 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1ef66c3db822b58d683ec34f1d460838fb3edec
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 04:15:51 2010 +0000

    make TLOF subclassify BSS based on linkage type into private, external
    and everything else (weak).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1eef2e76c6a89407e6f6aa92986019cd86824ea9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 03:13:44 2010 +0000

    now that elf weak bss symbols are handled correctly, simplify a bunch of code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a717abc755b03e1b910512fb956784f56df853e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 03:06:01 2010 +0000

    fix a significant difference between llvm and gcc on ELF systems:
    GCC would put weak zero initialized mutable data in the .bss section,
    we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits'
    section.  Fixing this will allow simplifications next up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93844 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ca96cb1376934774c5f69e6a25affbc8d45261e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 02:48:26 2010 +0000

    introduce a section kind for common linkage.  Use this to slightly
    simplify and commonize some of the asmprinter logic for globals.

    This also avoids printing the MCSection for .zerofill, which broke
    the llvm-gcc build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93843 91177308-0d34-0410-b5e6-96231b3b80d8

commit 174cddac3e5998c65b10a56e41fef76b51b2bb6a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 02:46:56 2010 +0000

    there is no need to emit a .section above .comm on linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93842 91177308-0d34-0410-b5e6-96231b3b80d8

commit b604cae660fe5b0750188a59e27b93d79d0d5d76
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jan 19 02:44:01 2010 +0000

    Even more explanation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93841 91177308-0d34-0410-b5e6-96231b3b80d8

commit dcebc08f0cb3ca07bceeeba153c403600cb6c32c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 02:13:06 2010 +0000

    change an accessor to a predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93839 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b3f8751bf270cc0e292aea4a8bc1343964d8312
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 02:09:44 2010 +0000

    Cleanup handling of .zerofill on darwin:

    1. TargetLoweringObjectFileMachO should decide if something
       goes in zerofill instead of having every target do it.
    2. TargetLoweringObjectFileMachO should assign said symbols to
       the right MCSection, the asmprinters should just emit to the
       right section.
    3. Since all zerofill stuff goes through mcstreamer anymore,
       MAI can have a bool "haszerofill" instead of having the textual
       directive to emit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93838 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab150043d7947faa967d367679f2738d64708167
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Jan 19 01:32:44 2010 +0000

    Remove this fixme, looking at the linker source, all targets pad to 4 bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d0f0887e332f44c7f7341fbe473b0ed3bb0537b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 19 01:28:09 2010 +0000

    remove extraneous ;

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93833 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13026cf2cbaddc405f8b34ce847cdb2f24f2a7ca
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 19 01:26:02 2010 +0000

    Revert accident check-in from r93165.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93832 91177308-0d34-0410-b5e6-96231b3b80d8

commit 288d2eeab618759992858e9a72a8b90cbd3745f8
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Jan 19 01:20:15 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93831 91177308-0d34-0410-b5e6-96231b3b80d8

commit 410c2a5c12cdaaa9686da1db9a64d0b7aeff924d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 19 00:44:15 2010 +0000

    Fix r93758. Use isel patterns instead of c++ selection code to select rbit and make sure we pick different instructions for ARM vs. Thumb2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94a1c602a2b12485a851ad283ec7c14375334320
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 19 00:35:20 2010 +0000

    Test case for r93758.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fa890d694455ec4718633a1fa732953b946fca6
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 19 00:12:05 2010 +0000

    Reverting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93819 91177308-0d34-0410-b5e6-96231b3b80d8

commit d03ad18a7004198ff00b6b33b618cf3493851a11
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 19 00:10:52 2010 +0000

    Revert 93811 per request.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93818 91177308-0d34-0410-b5e6-96231b3b80d8

commit f482719e48ad43d7b2cdb395111f5677caaef940
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Jan 18 23:34:55 2010 +0000

    Enable code to emit dbg.declare as DEBUG_VALUE
    comments (fast isel, X86).  This doesn't seem
    to break any functionality, but will introduce
    cases where -g affects the generated code.  I'll
    be fixing that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93811 91177308-0d34-0410-b5e6-96231b3b80d8

commit 041fb126b6b299d7b595d7261528503ecc1ffa31
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 18 22:55:08 2010 +0000

    Add comment that MDNode::getFunction() is not to be used by performance-critical code (currently only used by AsmWriter)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93802 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14f91a3da3c835ef8b57b25c0936e405a19b0217
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Jan 18 22:38:31 2010 +0000

    Make opt -O3 act more like clang -O3 etc., by making the inlining thresholds
    match.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81718ed416e1564ede7a5d65d299aaf25ea59ef8
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Jan 18 22:36:59 2010 +0000

    Add some potentially interesting transformations to README.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93797 91177308-0d34-0410-b5e6-96231b3b80d8

commit 326cb3536de8fc6c3c3ad19d73d6e4e80e2f6bae
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jan 18 22:36:35 2010 +0000

    - Add getLSDAEncoding to the PowerPC backend.
    - Greatly improve the comments to the getLSDAEncoding method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cd1ffa32f2cb6ce51447804807d6e086e607a49
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 22:27:43 2010 +0000

    make llvm-config more portable to windows versions of perl,
    patch by Michael Beck!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93793 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd16da9a692dee7befbfb1699abe85f9cf7ac161
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 22:19:16 2010 +0000

    my instcombine transformations to make extension elimination more
    aggressive changed the canonical form from sext(trunc(x)) to ashr(lshr(x)),
    make sure to transform a couple more things into that canonical form,
    and catch a case where we missed turning zext/shl/ashr into a single sext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b9c5f1875684043ecb65a5bf711ece3699e7897
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Jan 18 22:16:54 2010 +0000

    Added a newline at the end of SMLoc.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b93f747cf6e8b097776619dbd35b238b9473645
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Jan 18 22:11:34 2010 +0000

    Changed the comment in the file header for SMLoc
    to something more accurate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02aceb027bc0da9bce100366e45df046c0aa826d
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Jan 18 22:11:29 2010 +0000

    Have FastISel handle llvm.trap().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93781 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52ab36d3758b279fe12cb3010a70a05100fa2b87
Author: Sean Callanan <scallanan@apple.com>
Date:   Mon Jan 18 22:07:51 2010 +0000

    Split SMLoc out in its own header so that it can
    be used independently of SourceMgr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53b47a5d360d1664c9325cff112c44d37e17fc56
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jan 18 22:01:39 2010 +0000

    Minor cleanup for jump table printing. Need a reference, not a pointer, for
    printing via <<. Otherwise we just print the pointer value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93777 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb7347bbd893104b53eeebbd0c45c85b350ea9f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 22:00:46 2010 +0000

    filecheckize this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93776 91177308-0d34-0410-b5e6-96231b3b80d8

commit e40f06f8a11c74df8868132c920cb77ceb97996a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 21:58:32 2010 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7352e5fcb6e842db329423cb9556710877692fbf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 21:55:43 2010 +0000

    remove a redundant test, filecheckize another.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93774 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4027dfeed6f42ef5e66b236d45a1a2e60bdeb56
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 18 21:38:44 2010 +0000

    Canonicalize -1 - x to ~x.

    Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore:
      %t1 = sub i32 0, %a
      %t2 = add i32 %t1, -1
    The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A
    will fold it to -1 - %a.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93773 91177308-0d34-0410-b5e6-96231b3b80d8

commit e07f7e6e5dce1bf367720c0b5bad1c724257e643
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 21:09:05 2010 +0000

    update mkpatch, patch by Garrison Venn!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93771 91177308-0d34-0410-b5e6-96231b3b80d8

commit b754fd33c09170de2231747307dcff08d0780a02
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 18 20:42:09 2010 +0000

    Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts array

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b452d36b62d8e683d725a509d1205fd28266587
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 18 20:36:54 2010 +0000

    Simplify MDNode::getFunction() and assertLocalFunction() by avoiding extra Function* variable and smallptrset since function-local metadata cannot be cyclic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c2481288f3038e03b91cb9c2bef53781c9b2985
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Jan 18 20:15:56 2010 +0000

    The most significant encoding bit of GPR:$src or GPR:$dst was over-specified in
    the various MOV (register) instructions (16-bit Thumb), including tBRIND (the
    indirect branch).  Instead of '1', it should be specified as '?', because GPR
    only specifies the register class, which includes both hi-and-lo registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c57dc1513859a02b984b60e63765104a131ff40
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Jan 18 19:58:49 2010 +0000

    Patch by David Conrad:

    "On ARMv6T2 this turns cttz into rbit, clz instead of the 4 instruction
     sequence it is now."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93758 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9112229d2d7340819bd23f3d7bdde067b480543
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 18 19:52:14 2010 +0000

    While mapping llvm.dbg.declare intrinsic manually map its operand, if possible,
    because it points to an alloca instruction through metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93757 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfca7fe1f42122ff72218a20955aaba6e3d50e5e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 19:50:32 2010 +0000

    reject some invalid IR.  We already assert and reject this from the
    .ll parser, but PR6070 wants it in the verifier too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93756 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbc40f52875a6b326f93a2e6814734dd83960cf4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jan 18 19:47:53 2010 +0000

    Add FIXME comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93755 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85e7c4f09ab94c69ccd95cd5b17005ed0abce032
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Jan 18 19:36:27 2010 +0000

    - Add a comment to the callback indicating that it's *extremely* not a good
      idea, but unfortunately necessary.
    - Default to using 4-bytes for the LSDA pointer encoding to agree with the
      encoded value in the CIE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93753 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f7713f9134c3a3834e6498bbf790d5e764a332c
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 18 19:15:57 2010 +0000

    Make printing of metadata more robust when function is not found (which is the normal situation for non function-local metadata)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27574da04679e7cb0b4b03a83335da52b4e20a31
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jan 18 17:52:28 2010 +0000

    Don't try to build compiler-rt if it happens to be checked out into projects/

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ab3a8fcae6df8adad5e2682fc270969419a6297
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jan 18 14:39:20 2010 +0000

    Unnamed symbol index should be >= 1. This was lost during the mangler refactoring.  Fixes PR6067.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f6642009ebcd484a34d92293dbf6db29e679f78
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jan 18 12:40:05 2010 +0000

    Fix refacto reported by Nicolas Geoffray.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87fa2352aeb07f8e0b269871a80d52355fca4307
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Jan 18 01:24:43 2010 +0000

    Emit spaces after commas in Neon register lists.  This is more consistent
    with the rest of the assembly output, is easier to read, and matches the
    expected output for gcc's Neon tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93703 91177308-0d34-0410-b5e6-96231b3b80d8

commit aba316e220817acfe6fa8c8a044eb24eb50c28b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 01:21:08 2010 +0000

    switch x86 zerofill emission over to use MCStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 202c058004e33a3b67fdb29b5cc9ec943a13e5c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 00:59:24 2010 +0000

    Change CurrentFnSym to be a non-const pointer since asmprinter mutates it
    as it emits code.  Switch .globl directives to use OutStreamer instead of
    doing it textually (in x86)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93700 91177308-0d34-0410-b5e6-96231b3b80d8

commit f875d80e50d72653003c0ddcaeab1d22fb8c3f8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 00:37:40 2010 +0000

    remove the MAI argument to MCExpr::print and switch overthing to use << when printing them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fef0d73ffadeadf64f07c1eec37def910672263
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 18 00:21:06 2010 +0000

    unbreak x86 jump tables with my previous patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e6929cecb2b335ecfa2a8a03b1999f8b42ba399
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 21:43:43 2010 +0000

    now that MCSymbol::print doesn't use it's MAI argument, we can
    remove it and change all the code that prints MCSymbols to use
    << instead, which is much simpler and cleaner.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93695 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5b47594306373fc8575f085c249b78ce1612fcc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 20:11:03 2010 +0000

    rename NameNeedsEscaping -> NameNeedsQuoting, eliminate the check
    for first character which is a digit, mangler would have taken care
    of this already.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ef5bbe350ce2d891504f48f890e479b44ef200b
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Jan 17 19:33:27 2010 +0000

    Convert some of the dynamic opcode lookups into static ones.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41ecf0789b084646955350b929159850d8c523c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 19:32:29 2010 +0000

    stop the CBE from using Mangler::appendMangledName, which is a private function, it is mangling types, which don't matter how they are done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d9f5425542ddc1bff3f938072aee616ad5df600
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 19:24:35 2010 +0000

    fix uninit member, thanks to Benjamin Kramer for identifying the bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93691 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3f46600b6888bbd00b2c8474d3ab655dcd4fa3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 19:23:46 2010 +0000

    Get MCSymbol out of the mangling business, and move all the logic
    to Mangler.  Now MCSymbol just decides whether to slap quotes around
    a symbol when printing it.

    This also fixes some weirdness where two MCSymbols could be created
    for the same symbol, if one needed to be mangled and got mangled to
    the other one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93690 91177308-0d34-0410-b5e6-96231b3b80d8

commit 142aab7ce398a5c22a49b20e98480afb296a0920
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Jan 17 19:20:45 2010 +0000

    Really fix this. I checked that on ARM I get

    PASS: LLVM::FrontendC/pr5406.c (3463 of 5030)

    and on X86 I get

    XFAIL: LLVM::FrontendC/pr5406.c (3465 of 5030

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93689 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12c01c63b773d0c42c9c1c437ff0bc7febe64bc4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 19:09:12 2010 +0000

    reduce this test and convert to filecheck, hopefully the linux buildbot
    will tell me something more useful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93688 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf219686faea97a3f9ea0b7dbc7553f510e697cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 18:52:16 2010 +0000

    factor this code better how that the string version of getNameWithPrefix
    takes a twine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bde2eb86ff04d5825d1fa8b09e16f40f34b7af3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 17 18:22:35 2010 +0000

    now that mangler is in libtarget, it can use MCAsmInfo instead of clients
    having to pass various fields from it in.  Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93686 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8d62f79e5837e02170076058dcc9e449bf9ecf0
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Jan 17 17:47:24 2010 +0000

    Don't create a (empty) output file, and don't warn about bitcode output
    to a console, when --analyze is used.

    Similarly, avoid creating an empty output file when --disable-output is used.

    Print a warning when the -o option appears with either --analyze or
    --disable-output, to indicate that the option is being ignored.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93685 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac84db634a2bafc0c428590b48a64d1b0f7dad7e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Jan 17 07:46:39 2010 +0000

    Switch some functions to take Twines, eliminate uses of StringExtras.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51f9d45e973650ed6a167b86eda894a38f4d0690
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Jan 17 06:49:03 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 898b3166e1145f6fe74105640198dce98e4e7aa6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun Jan 17 06:35:17 2010 +0000

    The Neon "vtst" instruction takes a suffix that is the element size alone --
    adding an "i" to the suffix, indicating that the elements are integers, is
    accepted but not part of the standard syntax.  This helps us pass a few more
    of the Neon tests from gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8babff07481f87f567cecd364bc4577de76e4890
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun Jan 17 05:58:23 2010 +0000

    Fix an off-by-one error that caused the chain operand to be dropped from Neon
    vector load-lane and store-lane instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 918de29db68a1d8d21ea0a34aa1c93ff83b78a19
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Jan 17 05:40:41 2010 +0000

    Looks like XFAIL has to list every unsupported arch

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93672 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4945cd19c8aabfe0a634f2e78c01144bdcacabe8
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sun Jan 17 04:44:55 2010 +0000

    Add test for pr5406

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93671 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7956b93ffdb4b8d827ec25ad0b1d9e18a4e8e1d
Author: Nate Begeman <natebegeman@mac.com>
Date:   Sun Jan 17 03:49:01 2010 +0000

    Add a note for the macho streamer and remove a used of the mangler from the soon to be defunct machowriter pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93670 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca4aeb4525609adb322854c713e84848b756d489
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Jan 17 00:21:21 2010 +0000

    Reduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll to
    fsub.ll and FileCheckify it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93669 91177308-0d34-0410-b5e6-96231b3b80d8

commit a59a888da6ed949c0c7a6d871ad1d9cf50ebcc79
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Sat Jan 16 23:37:33 2010 +0000

    When checking for sret-demotion, it needs to use legal types.  When using the return value of an sret-demoted call, it needs to use possibly illegal types that match the declared Type of the callee.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93667 91177308-0d34-0410-b5e6-96231b3b80d8

commit b003b846f9d4c265f61d046f491e3d16702a9c32
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jan 16 22:23:09 2010 +0000

    Update CMake files for Mangler move.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93665 91177308-0d34-0410-b5e6-96231b3b80d8

commit a60a217b035888c38661434340b3f5fd4c66767c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:57:06 2010 +0000

    move the mangler into libtarget from vmcore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93664 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8847fb8c52aaa40198c601873266891b0e3f8bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:55:24 2010 +0000

    fix a warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33959a9e7f61d7249be8fb360bdf0da288cf264b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:35:09 2010 +0000

    this doesn't need to suck in Mangler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a0efac16a896559cb18570b0a7b2eae0b6d907d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:34:51 2010 +0000

    remove obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93661 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7748a284c5abb09dc68621444926a455eef1a83
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:34:01 2010 +0000

    bugpoint doesn't need the mangler at all.  DisambiguateGlobalSymbols
    dates to a time when two different LLVM values could have the same
    name but different types.  Simplify it to just assign names to unnamed
    things and let the core symtab resolve duplicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93660 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8439bce99a19536d04df9260e331a52f15f32491
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:25:13 2010 +0000

    add a thing to investigate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55e28ccff810d226c0c6091f4ae016f6366c4f8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:20:34 2010 +0000

    remove calls to dead methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a9c1abb4d233ee069596d6760d26b10b6005c9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 21:08:46 2010 +0000

    reapply the mangler gutting patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bf5bf2e7d107419a6fad2a12f40e17c1edee0f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 20:56:05 2010 +0000

    remove use of getMangledName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93655 91177308-0d34-0410-b5e6-96231b3b80d8

commit c92c100404e8038a18c2c826b218dc429c54da83
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 20:53:11 2010 +0000

    unbreak the build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93654 91177308-0d34-0410-b5e6-96231b3b80d8

commit aacc26910ff6cf037d2348cf87e398c74f2c9996
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Sat Jan 16 20:27:59 2010 +0000

    Revert 93648.
    Mangler::getMangledName is used from lto
    Mangler::setUseQuotes is used in the AsmPrinter
    Mangler::setSymbolsCanStartWithDigit is used in the AsmPrinter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 348719fcca5acf13888ff1ebc6f39616d53709d4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 19:08:51 2010 +0000

    Mangler::getMangledName is now dead, remove it and all the other stuff in Mangler that is now transitively dead.  woo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93648 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8ae1059885f503e204afa822e572924c5b6ca76
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 18:50:28 2010 +0000

    Change DIEObjectLabel to take an MCSymbol instead of std::string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93647 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7fb57b07101bd18ed21e66a697f2318cc9276f4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 18:37:32 2010 +0000

    rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,
    and add an explicit ForcePrivate argument.

    Switch FunctionEHFrameInfo to be MCSymbol based instead of string based.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bf71129a8dcba34ee552a62c32afc60b777cf4c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 18:17:26 2010 +0000

    eliminate uses of getMangledName from AsmPrinter.cpp, last up is
    dwarf emission which is going to be more invasive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93645 91177308-0d34-0410-b5e6-96231b3b80d8

commit deb6480e8c0f9957776cd85776697d698b77294b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 18:12:14 2010 +0000

    switch liblto to use the new getNameWithPrefix() method instead of getMangledName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93643 91177308-0d34-0410-b5e6-96231b3b80d8

commit da1fd911d9c7f93fafbcdf0aea3a0ca224dc8338
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 18:06:34 2010 +0000

    add an inefficient version of getNameWithPrefix that returns an std::string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93641 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1680ba80e18f456f4383480e243be9c711b6eae
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Jan 16 16:14:55 2010 +0000

    Revive dead assert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 271432c7b8cbaf1468f5baa4bda5c49efdec58db
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Jan 16 14:06:58 2010 +0000

    Provide magic define on mingw to not generate inline variants of ctyper functions.
    Otherwise we'll end with random cyclic deps between libraries due to this.
    Proposed by Gianluigi Tiesi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 827d0a70e1e7981294e37e7cf0478c61bd12916c
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Sat Jan 16 13:38:07 2010 +0000

    Fix PR6047

    Nodes that had children outside of the post dominator tree (infinite loops)
    where removed from the post dominator tree. This seems to be wrong. Leave them
    in the tree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b20c1082305927ea567088e0b401021e0fa4133
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Sat Jan 16 10:56:41 2010 +0000

    Create Generic DOTGraphTraits Printer/Viewer

    Move the DOTGraphTraits dotty printer/viewer templates, that were developed for
    the dominance tree into their own header file. This will allow reuse in future
    passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93632 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdd64b676c2c2344e2af4ce8f98aeff067a64b59
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 16 06:17:40 2010 +0000

    No need to use WeakVH here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b6871fa24c288179594ea68723a5177d71005ea
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 16 06:09:35 2010 +0000

    Replace DebugLocTuple with DILocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 203807de50ff570e432a3c7ceb7a3927020b6dc3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 03:38:27 2010 +0000

    fix build failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93628 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae29e280b4cd3d6a58753fc1aee48d2050200c31
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 02:16:09 2010 +0000

    remove a couple of actively incorrect uses of getMangledName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fb92f38e45ee2f3a094bea7fea390c074601113
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 02:15:38 2010 +0000

    this doesn't need the mangler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e11fda49973e3a35989637c14c541d0bd9ccccf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 02:09:06 2010 +0000

    more string -> sym, getMangledName is now gone from this file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e090cd388e0a7bf61d4edd8005a16da7b9968bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 02:00:23 2010 +0000

    use symbols instead of strings, eliminating a bunch of getMangledName
    calls.  Add FIXMEs about a bunch of nondeterminism in stub output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93621 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1f1746269d0dd70323ea937cdb8f4b9ba1d7c73
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:45:47 2010 +0000

    simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93619 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0dfaadaf26e4e12ed13518e00ce5b9cb8833a2e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Jan 16 01:40:55 2010 +0000

    Retrying r91337:

    The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
    but we need it to actually be 4-bytes in the FDE for some platforms. Allow
    individual platforms to decide for themselves.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7436757d1b33ca7d98cf6033c9a1fe2a69ec9d6a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:40:07 2010 +0000

    eliminate uses of mangler and simplify code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0749eb83aa0bc6dd1dcf8254ec9092ecc1d02a45
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:37:14 2010 +0000

    fix inverted conditional

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7638c073a6855e6f2dfb741d38400722343a1e0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:24:10 2010 +0000

    CurrentFnName is now dead, remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93612 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2522de6c3522d9fcb675a6e475627d77fb571370
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:21:04 2010 +0000

    get pic16 off CurrentFnName

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 446261c29a0546ca6cdc24888c57be4b89dc7dc4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:17:26 2010 +0000

    remove the string form of printVisibility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59f9b8d65347a5879da41ea085ee5e25d0148926
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:12:01 2010 +0000

    switch more stuff onto MCSymbols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93608 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89ea3fae1f8c21940ddc558ee3ce452bdbc27800
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Jan 16 01:06:58 2010 +0000

    Temporarily revert r93581. It was causing failures in the ExecutionEngine tests
    on the build bots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93606 91177308-0d34-0410-b5e6-96231b3b80d8

commit 531f41f143edacea65cb9e180ac4eb7ffd229aaf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 01:00:27 2010 +0000

    eliminate uses of deprecated mangler apis

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93605 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3ae4b3e28a02444d7427dd9ed48bf5ef1a13ce2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 00:53:22 2010 +0000

    this teestcase takes a long time to crash, remove it.  If someone cares about this, they should file a bug, it's not doing any good as an xfail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 953d13e493e91783ddb2a67d612304b5f2913f0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 00:51:39 2010 +0000

    switch X86 target off CurFunctionName and MCIze more.
    Note that the code wasn't calling DecorateCygMingName
    when emitting the ".ascii -export" stuff at the end of
    file for DLLExported functions.  I don't know if it should
    or not, but I'm preserving behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d1a921e3dce79d2fa285a0e6c47bececcae1047
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jan 16 00:42:25 2010 +0000

    Treat indirect branches specially only during pre-regalloc tail duplication,
    not during the later post-alloc tail duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f12db74fae87be9a712ad05de76f82ea2d227f1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 00:32:38 2010 +0000

    MCize tis, and make it keep CurrentFnSym up to date with CurrentFnName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93598 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7ba5f6184e332f0c879b766a13189f65ea6fa95
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Jan 16 00:29:50 2010 +0000

    Run the pre-register allocation tail duplication pass by default.  Remove
    the -pre-regalloc-taildup command-line option, and add a new
    -disable-early-taildup option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93597 91177308-0d34-0410-b5e6-96231b3b80d8

commit a00eeba57fc2405aebcb5f60edc85d0a9db5078c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 00:24:20 2010 +0000

    revert the x86 part of my last patch, cygwin is mutating CurrentFnName!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93595 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe6bade0cfbaed4767874df3563cfafa203e24bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 16 00:21:18 2010 +0000

    MCize a bunch more stuff, eliminating a lot of uses of the mangler
    and CurrentFnName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93594 91177308-0d34-0410-b5e6-96231b3b80d8

commit d861a34eda1609250704c75bb0e609eae608d0e0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Jan 16 00:00:20 2010 +0000

    Fix llvm_supports_binding for lit, problem noticed by Bob!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f6e93c08eb967c4737e83b616a821556396deec
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:56:03 2010 +0000

    remove two write-only sets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93590 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6ff5b0eae10c12935517046ac22a19199faf8c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:55:16 2010 +0000

    supplement CurrentFnName with CurrentFnSym, which will eventually
    replace it.  Upgrade Alpha, Blackfin, and part of CellSPU to not
    use mangler anymore.  CellSPU needs more invasive surgery.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93589 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef4314798ee96814fdba9ebd4b21a148926b9738
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Fri Jan 15 23:49:16 2010 +0000

    Fix bug 5992: O'Caml's llvm_create_module was treating the context as a string.

    Thanks Andy Ray for catching this!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93588 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a07ff98622eb583b245a917d77210c7f8781619
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:38:51 2010 +0000

    add a version of AsmPrinter::printVisibility that takes an MCSymbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93587 91177308-0d34-0410-b5e6-96231b3b80d8

commit d373d64307ac024599597ef23045df735ae65d59
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:31:55 2010 +0000

    use MCSymbol instead of getMangledName() in all cases except one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9eee1f8280772968a4dc5e8404ef86ffddb15a97
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Jan 15 23:29:34 2010 +0000

    BumpPtrAllocator: Have the DefaultSlabAllocator created at runtime, not initialization time.  This removes one of the 'init_constructors' reported in <rdar://problem/7545356>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e995e6e8a88e5242a31a8af2438b2a36388ec87
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 15 23:29:29 2010 +0000

    Adjust some comments per review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93580 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bfba6b89965c5603cc45276f26e58fd1653fd1f
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 15 23:28:49 2010 +0000

    Remove unneeded argument per review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93579 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f28673e879a011f5215d6a28b40d6367b4ac9e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:26:49 2010 +0000

    mc'ize a bunch of symbol stuff, eliminating std::strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93578 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a14ba5c574a8b04b53c7b1a7986c5d10cbca3a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:25:11 2010 +0000

    add another helper

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93577 91177308-0d34-0410-b5e6-96231b3b80d8

commit d16ad064033e18d0d47c241f3f01b3795209016a
Author: David Greene <greened@obbligato.org>
Date:   Fri Jan 15 23:23:41 2010 +0000

    Fix PR6019.  A load has more than one use if it feeds a bitconvert that
    has more than one use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93576 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8eb8c2f4e596a1ab722718266a5b6f0717b70c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 23:18:17 2010 +0000

    add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
    helper method, use it to simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f6532ddb9565c661380bd1527325ad33e6079c7
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Jan 15 22:59:46 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93571 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fe97053fc985508b8d629993aa9191807a13841
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Jan 15 22:59:11 2010 +0000

    Update CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93570 91177308-0d34-0410-b5e6-96231b3b80d8

commit d90b88b011686d6c1b131d0c0ceef3df4642be04
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 15 22:27:37 2010 +0000

    add testcase for r93564

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93567 91177308-0d34-0410-b5e6-96231b3b80d8

commit c447e6125b58ac553dd9a2d6f6c598026d2af437
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jan 15 22:22:58 2010 +0000

    Add comments to the dump() and dumpr() routines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93566 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfdeaf45c4d93fc17429c215e5505208473dc8bc
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 15 22:22:35 2010 +0000

    DEBUG_VALUE is now variable sized, as it has a
    target-dependent memory address representation in it.
    Restore X86 printing of DEBUG_VALUE; lowering is
    done in X86RegisterInfo using the normal algorithm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 453ab0706b3198193d3acfef13c34c66ce74d255
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 15 22:21:03 2010 +0000

    Update Thumb1 storeRegToStackSlot() and loadRegFromStackSlot() to properly
    handle physical registers R0-R7 when described as having a non-tGPR register
    class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4168808fe01dfc527475693ffd0c726e980d0250
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Jan 15 22:18:15 2010 +0000

    Fix a typo that Anton noticed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ba3d00b5879ceb182da72896f29153a00fbe979
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jan 15 22:08:16 2010 +0000

    Add FIXME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71beb8feb0b2e3c377c5d3b936069d2b199ac769
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jan 15 21:55:02 2010 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73fd9c83e00f7d2bf07e7f75313b681bd3f4d618
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 21:50:19 2010 +0000

    move "Metadata Nodes and Metadata Strings" section to the right place in the
    document and edit it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93559 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbc90a5a01951497d5dc2507c1775d9ff7acbca2
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jan 15 21:36:30 2010 +0000

    Remove the InlineHint attribute. There are no current or planned
    users.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93558 91177308-0d34-0410-b5e6-96231b3b80d8

commit e15db684275e0506cd64dfc38c985cb6ba8ae9d6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:19:43 2010 +0000

    zext / truncate is free on msp430. Inform codegen about this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cc89fdd65c6f81bdfbc6ec96b35c4f6790ccaa8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:19:26 2010 +0000

    Reenable tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93555 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca2c00780023f4cd7b54ab2a07d9fc5002a22c8a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:19:05 2010 +0000

    Add branch relaxation pass (shamelessly stolen from PPC).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30a211f4c265bab1c39b2c1a8a9c270daee3023b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:18:39 2010 +0000

    Provide instruction sizes & encoding. No opcodes yet (but not needed so far).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b2004f244c39f94b246a79986371dd065b9332a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:18:18 2010 +0000

    Enable bit tests and setcc stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93552 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8eb9e38a4cce4233cdffea05aac2d36228fd2190
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:18:02 2010 +0000

    Add micro-optimization which allows us to fold imm into cmp. This allows us to save 1 word (sometimes) and reduce register pressure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93551 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd786d76b3d1b57877add6c201a7867509eb6758
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 21:17:13 2010 +0000

    Add instruction formats & support stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93550 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2b456eaa5f994c054d917816b26a28299da091a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jan 15 20:00:12 2010 +0000

    Don't make changes to the MBB in MachineBasicBlock::canFallThrough().

    This fixes the regression for -pre-regalloc-taildup in
    MultiSource/Applications/lambda-0.1.3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93541 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad56f482f17812b99b2e77f54515f8200352a405
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Jan 15 19:59:57 2010 +0000

    Simplify logic. Any functional change is unintended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 693b9b9302abeff91f1aceef1306ae86cbbf0bdf
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 19:51:05 2010 +0000

    unbreak the build, grr symlinks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 629df86d513070bd13703907edd1c69b72ae8af4
Author: David Greene <greened@obbligato.org>
Date:   Fri Jan 15 19:43:23 2010 +0000

    Add some debug routines to SelectionDAG to dump full DAGs.
    print/dumpWithDepth allows one to dump a DAG up to N levels deep.
    dump/printWithFullDepth prints the whole DAG, subject to a depth limit
    on 100 in the default case (to prevent infinite recursion).

    Have CannotYetSelect to a dumpWithFullDepth so it is clearer exactly
    what the non-matching DAG looks like.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93538 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee7d12b25df77d42d1bcffd7046332b5dd97a5b5
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 19:39:23 2010 +0000

    fix a bug in range information for $42, eliminate an
    unneeded argument from ParseExpression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93536 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d2c22a8e1432fd06128d200ba6ccb49e51681b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 19:33:43 2010 +0000

    add range information for mem X86Operand's, now all
    X86Operand's have range info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 717b29aac15677bb6a4c036d2f9a9bf5940f75b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 19:28:38 2010 +0000

    extend MCAsmParser::ParseExpression and ParseParenExpression
    to return range information for subexpressions.  Use this to
    provide range info for several new X86Operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93534 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6294228b30eb581423436a809c82918b969294bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 19:06:59 2010 +0000

    give X86Operand a ctor and start passing SMLoc's into it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7707ba938b7fd1fe21dcf1d3b0ac3037f4705c25
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Jan 15 19:04:09 2010 +0000

    Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast).
    This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare.
    It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f898ca2753736c7e11c484e42d88d7961419137
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 15 18:58:14 2010 +0000

    Revert 93499.  After discussion with Chris we agreed
    FrameIndexes should be lowered, but the same way as
    everything else (target dependent) rather than in a
    special hacked way.  The lowering needs to be done
    for eventual purposes of Dwarf generation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27bb05ccb043c00e540ea029c489c1ce9f904100
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 18:51:29 2010 +0000

    add range location info for registers, change
    X86Operand::Create* implementations to avoid
    copy ctor use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b46007e33ac6a48c13d3fe68f248aec89f821ee
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Jan 15 18:51:18 2010 +0000

    Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available.
    Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer

    Further refactoring to completely remove MachOWriter and drive the object file
    writer with the AsmPrinter MCInst/MCSection logic is forthcoming.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93527 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5e9cd74949a5925c5add6c321e92bc7f22adb29
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 18:44:13 2010 +0000

    clean up the memory management of the operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93526 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5983540ba915aece4a3ff729a1c732f3e331e04
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 18:27:19 2010 +0000

    refactor ParseRegister to avoid using X86Operand as a temporary
    datastructure when parsing a mem operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93521 91177308-0d34-0410-b5e6-96231b3b80d8

commit e89193d2cb6afa5faa0e765e9921f2e5f58cce23
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 15 18:08:37 2010 +0000

    mention that unwind isn't to be trusted, patch by Dustin Laurence

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93518 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec9c454e07862c7e231a64160742d0d3b920f35d
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Jan 15 17:36:47 2010 +0000

    Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be auto-upgraded

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1485c4468ade4217247b73687cc0ff87571a6301
Author: Jay Foad <jay.foad@gmail.com>
Date:   Fri Jan 15 11:29:26 2010 +0000

    Test case for http://llvm.org/PR6028.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93511 91177308-0d34-0410-b5e6-96231b3b80d8

commit b88a798d8d5c36a2f5fac2bccb1fef2a748d43be
Author: Jay Foad <jay.foad@gmail.com>
Date:   Fri Jan 15 08:32:58 2010 +0000

    Fix http://llvm.org/PR6028, an assertion failure when an UndefValue of
    integer type is used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46373fd75a2f39a1cb4541496be4606bb7bc8ac1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Jan 15 06:29:17 2010 +0000

    Change pre-regalloc tail duplication to only duplicate indirect branch blocks.
    The pre-regalloc pass caused some regressions in both compile time and
    performance of the generated code, and it did not improve performance, except
    for indirect branches.  I also moved the check for single-block loops to speed
    up the common case when running the taildup pass before reg allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93505 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf85d133908c0e8f5e792bbf09092055f71eed8b
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Jan 15 03:37:48 2010 +0000

    Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast).
    This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93504 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c33762fcb92d4a2c4c87a7f166505dfda5cbbeb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 02:09:27 2010 +0000

    Temporary disable tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5be890ef254c10c5871deb84651e5b2f90e1dc00
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 15 01:54:55 2010 +0000

    Lower FrameIndex operand of DEBUG_VALUE (specially) and
    print it as a comment on X86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 425b0c803d727037201f52e9d7fdf223736bd5a6
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 15 01:50:44 2010 +0000

    Remove DEBUG_DECLARE, looks like we don't need it.
    Also, DEBUG_VALUE has side effects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93498 91177308-0d34-0410-b5e6-96231b3b80d8

commit d00ca94481e1c38a2a5884c87a8da208912c873f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Jan 15 01:29:49 2010 +0000

    Fix cmp emission on msp430: we definitely should turn stuff like
    "icmp lhs, rhs" into "cmp rhs, lhs". This should fix PR5979.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91d4f32da253072020f37da01eb947fb8bd4321e
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jan 15 01:12:22 2010 +0000

    Do not use AT_specification die for static variables. It confuses gdb.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0825dec9f18e44ff96408276170622a0e6b242f4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Jan 15 00:41:53 2010 +0000

    Make sure include/llvm/MC/MCParsedAsmOperand.h can be compiled alone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03d20786894c4ab368f97af77e4828dc564fd99b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 15 00:36:15 2010 +0000

    fix 80-column violations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6372016c7b349b213b895d740e5b7bc0b40fa617
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jan 15 00:34:26 2010 +0000

    new test case for r93485.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93486 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8ac0913ba36a147c8acb2c1aed76950c3b8d4e7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 15 00:32:47 2010 +0000

    Fix 80 column violations and clean up whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93484 91177308-0d34-0410-b5e6-96231b3b80d8

commit acec84b4922b79d3acf92d223df92ed503dca857
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Jan 15 00:26:31 2010 +0000

    Do not emit multiple AT_container_type attributes.
    We need to find a better way to emit this info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1989192870be588160bb734d82925a9179ed097f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 15 00:22:18 2010 +0000

    Name change for consistency. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10ba8daf837c1f7fb7cafb4afed4ad114d37936c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Jan 15 00:18:34 2010 +0000

    EmitAtomicCmpSwap() custome inserter needs to delete the MI passed in. EmitAtomicBinary() already does this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58ccfc49fcce74bc3f2cd74fdc84094e74c119d7
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Jan 14 23:15:26 2010 +0000

    Teach PPC how to replaceMachineCodeForFunction correctly.  (Fixes
    JITTest.FunctionIsRecompiledAndRelinked.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93475 91177308-0d34-0410-b5e6-96231b3b80d8

commit a95384dff87b4fe65ae259a9a53910241ef69c67
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jan 14 23:00:10 2010 +0000

    Pad my commit stats by reducing indentation in this now separate
    commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93473 91177308-0d34-0410-b5e6-96231b3b80d8

commit f408b41c261983d08bf9141af11291fd915ee0a4
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Jan 14 22:42:17 2010 +0000

    Added 16-bit Thumb Load/Store immediate instructions with encoding bits so that
    the disassembler can properly decode Load/Store register/immediate instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93471 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc694ce682d80a8149e088e6b8ee0a7ba0587e70
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 14 22:29:57 2010 +0000

    add virtual methods to get the start/end of a MCParsedAsmOperand,
    the default implementation returns "unknown".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93470 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7a3316c3b862ad5cbd09dec363be38823e831fd
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 14 22:21:20 2010 +0000

    Split the TargetAsmParser "ParseInstruction" interface in half:
    the new ParseInstruction method just parses and returns a list of
    target operands.  A new MatchInstruction interface is used to
    turn the operand list into an MCInst.

    This requires new/deleting all the operands, but it also gives
    targets the ability to use polymorphic operands if they want to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93469 91177308-0d34-0410-b5e6-96231b3b80d8

commit c999433f9c9e584dfbc2df0e7dc5272b43748fdf
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Jan 14 22:09:38 2010 +0000

    Add variable-width shifts for MSP430

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3efae6ff7ba5a267b0b36edd33b95628da762665
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Jan 14 22:09:11 2010 +0000

    Remove pseudo-MI in custom inserter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93467 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a459b4479c77af81ba823280341fe062c88d60f
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Jan 14 21:50:17 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93463 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd9185b6346e881c9d2635d5249c4a597433831a
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jan 14 21:48:00 2010 +0000

    Few minor changes that were requested. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1421e8d59a8d0728fe2fee64c4af58d0010c4d76
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jan 14 21:38:31 2010 +0000

    Add comment explaining the necessity of r93456

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76eeaa86c9e230c1b703a40e56d6befdb7d3fd06
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 14 21:32:45 2010 +0000

    prune #includes in TargetAsmParser.h
    Pass in SMLoc of instr opcode into ParseInstruction.
    Make AsmToken be a class, not a struct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93457 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6bb82e68dccb6fac93d38b546780c139ee42fa4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Jan 14 21:22:16 2010 +0000

    Dwarf EH prepare needs to be run after SjLj prepare. Otherwise,
    catch info can get misplaced when a selector ends up more than one block
    removed from the parent invoke(s). This could happen when a landing pad is
    shared by multiple invokes and is also a target of a normal edge from
    elsewhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93456 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4fb247eac24e7a5171d800a978be992a65b7a32
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 14 21:21:40 2010 +0000

    introduce MCParsedAsmOperand

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ca6088b0692b85eea2b216ccdf121d805fe8e55
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 14 21:20:55 2010 +0000

    introduce the MCParsedAsmOperand class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10b2777d3dce6d1a4fa87bf43a920495f3a06836
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jan 14 21:04:31 2010 +0000

    Small tweak to inline cost computation. Ext of i/fcmp results are mostly optimized away in codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10e7e9adfddaa1acbcbf173570e5eb40005143eb
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Jan 14 20:19:51 2010 +0000

    Remove spurious semicolon.
    Patch by Diego Iastrubni!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93450 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b54563dd72aa7b5a2050f1a70806397f0b1005
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 20:12:34 2010 +0000

    In debug builds, assert that function-local metadata has only 1 parent function

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73e6912a5aba875961ab45d88cbefd4d46543104
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jan 14 20:12:34 2010 +0000

    Reduce the inlining cost of functions that contain calls to easily,
    and frequently optimized functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93448 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48d78e65301407f8d89fafb3b5a10c1ddeb735ca
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 19:54:11 2010 +0000

    Simplify code that chooses when to enumerate function-local metadata operands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93446 91177308-0d34-0410-b5e6-96231b3b80d8

commit b16eb0065a1e5617bc5a107a6bccb4b09b3be232
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 19:38:44 2010 +0000

    Avoid modifying ValueEnumerator's MD ValueList by choosing which function-local MD to write based on the function currently being written

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93441 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dbcea51a7abb6d7a55fda3d0ba5c63b54e97b4a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jan 14 18:19:56 2010 +0000

    ARM "l" constraint for inline asm means R0-R7, also for Thumb2.

    This is consistent with llvm-gcc's arm/constraints.md.

    Certain instructions (e.g. CBZ, CBNZ) require a low register, even in Thumb2
    mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93436 91177308-0d34-0410-b5e6-96231b3b80d8

commit dee49e3d45b73fc22613f633c38440b3767202d6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Jan 14 10:19:55 2010 +0000

    Use ENABLE_ASSERTIONS throughout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8da116c6cd70b3661dac3c6d885cb1f657600eef
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Jan 14 03:08:49 2010 +0000

    Fix a codegen abort seen in 483.xalancbmk.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f496b825a85d619a45776c8c46cbb6886a6b5c1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jan 14 02:24:50 2010 +0000

    Test for r93409.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93410 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6e1d7a4611e9fe3d69cda8a738f890c40538ca9
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 02:12:41 2010 +0000

    Extend testcase to also test llvm.dbg.value intrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95592437ed8b3c8d1a14f3490073cebb3f344f3f
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 01:51:28 2010 +0000

    Now that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly support function-local metadata, test it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93406 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa582d67a059ab1999517d1f14474ff25c5bd211
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 01:50:08 2010 +0000

    In WriteFunction(), write function-local metadata before we write the instructions, so instruction's references to metadata are fully resolved by the time they get written.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5412ca3a3a686cb06c984865e3118b941db04079
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 01:47:37 2010 +0000

    Fix printing of function-local metadata in AsmWriter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93402 91177308-0d34-0410-b5e6-96231b3b80d8

commit a330aab51d6044064e5201c3c1ab16d4be658833
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 01:46:02 2010 +0000

    Clean up unnecessary return and brackets

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87d3a90383b71868031d97fe264fddd1e2ed9c47
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Jan 14 01:45:14 2010 +0000

    Add MDNode::getFunction(), which figures out the metadata's function, if it has function that it is local to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2879e52c70ed1285c567a64cf38bd8f477b2ebad
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jan 14 00:54:10 2010 +0000

    Don't fold insufficiently aligned ldr/str into ldm/stm instructions.

    An unaligned ldr causes a trap, and is then emulated by the kernel with
    awesome performance. The darwin kernel does not emulate unaligned ldm/stm
    Thumb2 instructions, so don't generate them.

    This fixes the miscompilation of Multisource/Applications/JM/lencod for Thumb2.

    Generating unaligned ldr/str pairs from a 16-bit aligned memcpy is probably
    also a bad idea, but that is beyond the scope of this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93393 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb8f25926bb5b8b7f2379aef21146bac3be71867
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Jan 14 00:34:53 2010 +0000

    Erm, previous patch was wrong; Thanks Bill\!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93381 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea40d109ac1753ddea6cf3b082e9ab6e1a1d4965
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Jan 14 00:22:05 2010 +0000

    Enable assertions by default for Apple-style builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a07383e0c6355c9edb54978310024b33fe25fa7
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 23:29:11 2010 +0000

    this is an SSE-specific issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0479e24dab45053317f2586ce4cb8c213e3416dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 23:28:40 2010 +0000

    X86 if conversion + tail merging issues from PR6032.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93372 91177308-0d34-0410-b5e6-96231b3b80d8

commit dee74d4ab14c941d0003b8d95fa5e60b582e4ba9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jan 13 23:23:17 2010 +0000

    When the visitSub method was split into visitSub and visitFSub, this xform was
    added to the FSub version. However, the original version of this xform guarded
    against doing this for floating point (!Op0->getType()->isFPOrFPVector()).

    This is causing LLVM to perform incorrect xforms for code like:

    void func(double *rhi, double *rlo, double xh, double xl, double yh, double yl){
      double mh, ml;
      double c = 134217729.0;
      double up, u1, u2, vp, v1, v2;

      up = xh*c;
      u1 = (xh - up) + up;
      u2 = xh - u1;

      vp = yh*c;
      v1 = (yh - vp) + vp;
      v2 = yh - v1;

      mh = xh*yh;
      ml = (((u1*v1 - mh) + (u1*v2)) + (u2*v1)) + (u2*v2);
      ml += xh*yl + xl*yh;

      *rhi = mh + ml;
      *rlo = (mh - (*rhi)) + ml;
    }

    The last line was optimized away, but rl is intended to be the difference
    between the infinitely precise result of mh + ml and after it has been rounded
    to double precision.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 960771588082bb9fe697624096580e165f9276de
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Wed Jan 13 22:21:43 2010 +0000

    Add getSource() to SuccIterator

    Get the source BB of an iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 616dea8327f0370ea69a54cc79e2803e417c4a2b
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Wed Jan 13 22:21:28 2010 +0000

    Extend SuccIterator

    Implement most of the missing methods to make SuccIterator random access.
    operator[] is still missing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 965db796f1201b52df303ff41221a659d39cdb0d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 21:51:41 2010 +0000

    this test requires SSE, thanks to jyasskin for pointing this out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09d94b4acb609bce0d15b8beafe23f52a0b858d6
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 21:31:39 2010 +0000

    makeNameProper is now private!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93357 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7900c7f84b4e297c330ed9a26e2d473fcc7b3d56
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 21:29:21 2010 +0000

    fix ELF section mangling stuff for weak symbols to not use
    obsolete Mangler interfaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93356 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8793d14fbb27b193921c73ffe63dde055fa16e1
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 13 21:25:04 2010 +0000

    Fix comment typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93355 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6f55a432675b2f52facfd8939c1d26f88e78670
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 21:21:29 2010 +0000

    tidy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93352 91177308-0d34-0410-b5e6-96231b3b80d8

commit df0b6d7e5ed6cb65554035f8fbea434cff3b575f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 21:12:34 2010 +0000

    reduce duplicate mangling logic by using MCSymbol::printMangledName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c94fcbaaa65cf3d1087415c3d60a46aa0da6e4b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 21:09:59 2010 +0000

    expose a static function as a static method on the MCSymbol class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c1d0b9323b2bff46ddc11699f57baec614551f2
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Jan 13 21:00:26 2010 +0000

    Fixed a couple of places for Thumb MOV where encoding bits are underspecified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19fe4af382d6bb8a31838e342784cd0cc44a4d34
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jan 13 19:54:39 2010 +0000

    Fix pasto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54758997a3ac305e2c51585da42f863e53a2393d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 19:54:07 2010 +0000

    stop the CBE from using deprecated Mangler stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ed7889c515877e2f8cb8e9f596d7d4d6fc2ba28
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 13 19:37:33 2010 +0000

    Write function-local metadata as a metadata subblock of a funciton block

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0340dc0ec231c7535d724c6c01e3f44f73c1e7b3
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 13 19:36:16 2010 +0000

    Enumerate function-local metadata (and its types and operands) only during function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93338 91177308-0d34-0410-b5e6-96231b3b80d8

commit f59e8a1ea5029df0c2d4eea293eaa577431e841e
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 13 19:34:08 2010 +0000

    Parse function-local metadata inside function blocks

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93337 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb7b3cd5adabbf4c902197b01f72ccc82d98ae79
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 19:19:17 2010 +0000

    Use the GV version of getNameWithPrefix in TargetLoweringObjectFileCOFF::
    SelectSectionForGlobal, unbreaking weak globals with no-name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90a30f6b36e071aa921d37a1a4149f6b1ae5a01f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 19:16:39 2010 +0000

    Commit some changes I had managed to lose last night while refactoring the code. Avoid change use of PHI instructions because it's not legal to insert any instructions before them.
    This fixes PR6027.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93335 91177308-0d34-0410-b5e6-96231b3b80d8

commit d419147ec0d4c5d2a3d96eba1c78311f8aec5870
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 19:13:16 2010 +0000

    just finish MCizing FnStubInfo which cleans it up and simplifies it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93334 91177308-0d34-0410-b5e6-96231b3b80d8

commit bde11f050c25642786a63d3d3f05e6692424a9f2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 19:05:36 2010 +0000

    don't call getNameWithPrefix repeatedly and unnecesarily.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93333 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3ec2e4720c7de4b562c0d519f1c33c2119b9d89
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 19:00:57 2010 +0000

    properly use MCSymbol to print the strings aquired from getNameWithPrefix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93332 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddae339112715bdd2ab047c1e2538148de0ba811
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Jan 13 12:45:23 2010 +0000

    Introduce Twine::toStringRef, a variant of toVector which avoids the copy if the
    twine can be represented as a single StringRef. Use the new methode to simplify
    some twine users.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93317 91177308-0d34-0410-b5e6-96231b3b80d8

commit 304c727f425ee8a09635749ec34b35e02bef7e10
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 08:45:40 2010 +0000

    Re-enable extension optimization pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93313 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c897bdd8b75aec10543f120426ffea9c1b7572d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 08:08:33 2010 +0000

    upgrade and MC'ize a few uses of makeNameProper.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 966e4ef2a684bb3ee93a487cc0e6cc2e9eb386e3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 08:04:24 2010 +0000

    MC'ize this a bit and upgrade APIs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74183db4e9e8a85836d586ccf72019195b612fea
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 08:02:14 2010 +0000

    add a fixme, ELF MCSection isn't quite right and weak unnamed globals are broken
    on linux (even though they are pointless, they shouldn't ICE).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93308 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05cda846ddf16a2dbcac2f09327db9e106fae9ec
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 08:01:32 2010 +0000

    For now, avoid issuing extract_subreg to reuse lower 8-bit, it's not safe in 32-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93307 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5f8fa4ca174f7fa976d59e20f24bf9f193495e0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 07:59:13 2010 +0000

    Add comment; refactor; avoid pulling in DT if it's not used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93306 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccf845edcf88afbb660deaf9c20e00b3ee4ad0a1
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 07:56:59 2010 +0000

    eliminate some uses of Mangler::makeNameProper.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93305 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8fb18e8cc79cb0355b8fee837b6f51d96231bf7
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 07:50:21 2010 +0000

    don't add the \1 to the name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93304 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fd08dfd9703ea1fc0c9bc2782cd98e85cdee1cc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 07:30:49 2010 +0000

    remove uses of deprecated functions, this generates slightly
    different BlockAddress labels, but nothing semantically important.

    Add a FIXME that BlockAddress codegen is broken if the LLVM BB has
    an empty name (e.g. strip was run).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1aeb82bda71e77b46708f462b14d6648e4004ab8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 07:16:53 2010 +0000

    use the new form of getNameWithPrefix, not makeNameProper.
    Among other things, this would do very weird things if the
    basic block name had (e.g.) a space in it on darwin:
    makeNameProper would add quotes, then the mcsymbol would
    escape the quotes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8554c4b4eb14c6f8839e1e9da505ede3ceaa3094
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 07:12:06 2010 +0000

    add new isSingleStringRef()/getSingleStringRef() methods to twine,
    and use them to avoid a copy of a string in getNameWithPrefix in
    the common case.  It seems like Value::setName and other places
    should use this as well?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93301 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ef48d37c161d181c193cd3dc86fab223b8be87b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 07:01:09 2010 +0000

    ugh, my last patch just sped up a method and changed all the clients
    that I want to completely eliminate.  Add fixme's so I remember this
    in the future, and add the missing helper that they should be upgraded
    to use instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8555d56b331b441c9cfb278e652d40c0102c94c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 06:38:18 2010 +0000

    change Mangler::makeNameProper to return its result in a SmallVector
    instead of returning it in an std::string.  Based on this change:

    1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef
    2. Change a bunch of targets to call makeNameProper with a smallstring,
       making several of them *much* more efficient.
    3. Rewrite Mangler::makeNameProper to not build names and then prepend
       prefixes, not use temporary std::strings, and to avoid other crimes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93298 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49467cf4256adab9782dd05759777ca75148a200
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 05:02:57 2010 +0000

    my mistake, Mangler::makeNameProper wants to take a twine, not a stringref!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16d05834c00d11735341953f6accdd32d3eac548
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 04:55:33 2010 +0000

    change makeNameProper to take a stringref instead of std::string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93295 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf7a9fffad13ee0fb75cebb98d2d8312ff5383fa
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 04:50:20 2010 +0000

    give StringRef a const_iterator member.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d62af3950127427e5f904b8004919ef381072ce
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 04:39:46 2010 +0000

    fix assert in AsmPrinter::EmitGlobalConstantLargeInt to match reality.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93293 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3765504574b67a8c3e89e0c056423fb8334222e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 04:38:16 2010 +0000

    reduce nesting and code duplication in AsmPrinter::EmitGlobalConstantLargeInt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c570dbcdbe8bfe5ff078ef06d0ee7c12fa32bb8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 04:34:19 2010 +0000

    reduce indentation and add a fast-path to EmitGlobalConstant for 8-byte
    integers on 64-bit systems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93291 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd5ef537f3658f4734185c70b9435acdae531cb0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 13 04:29:19 2010 +0000

    reduce indentation and use early exits in AsmPrinter::EmitConstantValueOnly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95282170f6843740044a41dcc30d042cc7e47e40
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 13 03:18:30 2010 +0000

    Revert 93270 pending investigation of how stray non-constant values end up in ValueEnumerator's ValueList during WriteConstants()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93289 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa2c7c9f33ed984d5af005078e1c30678db84faf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 01:51:43 2010 +0000

    Disable opt-ext pass to unbreak the build for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93286 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25940625d845c474210d9940397b146f683f4f0f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 01:43:20 2010 +0000

    Remove debug option I accidentally left in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e91681a48a184f596f8c643818256e91ebd34fb
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jan 13 01:39:38 2010 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93284 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4db937f5a15424e4dc9911c07c58fa966da6269
Author: Ted Kremenek <kremenek@apple.com>
Date:   Wed Jan 13 01:02:47 2010 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93283 91177308-0d34-0410-b5e6-96231b3b80d8

commit 046133233074e04a758692bfd1e875798ac01a95
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jan 13 00:43:06 2010 +0000

    Remove the JustSP single-register regclass.

    It was only being used by instructions with the t_addrmode_sp addressing mode,
    and that is pattern matched in a way that guarantees SP is used. There is
    never any register allocation done from this class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 778dd2177f8b89fd437800f07c6145872d692227
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Jan 13 00:31:43 2010 +0000

    Try to fix the ARM and PPC buildbots. The -mattr=vector-unaligned-mem
    flag doesn't exist there, and this is an x86 test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93279 91177308-0d34-0410-b5e6-96231b3b80d8

commit e08fff54a2915f5331f7e75b5f4804dd3f2eb368
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 13 00:30:23 2010 +0000

    Add a quick pass to optimize sign / zero extension instructions. For targets where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg.

    For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1241c35b04181da7531854b368c578376a742ddb
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jan 13 00:00:24 2010 +0000

    Further progration of metadata operands.  The
    dumper doesn't really do what I want yet, but
    at least it doesn't crash now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1495b487162ff38614701d9bee37ce73bee627fd
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Jan 12 23:37:59 2010 +0000

    Make WriteConstants() more robust against stray values in ValueEnumerator's ValueList

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38e538d376a4e74d2ada0a9903e6af61dca22fd0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Jan 12 22:18:56 2010 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93261 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0d8d00330d45e9557c704f7fe4a936d3609e0f9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 12 22:00:04 2010 +0000

    use consistent tag kinds for ilist_traits

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49767c9b7438184bd5f7493c7df8e75b5e144068
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 12 20:41:47 2010 +0000

    1) Use the new SimplifyInstructionsInBlock routine instead of the copy
    in JT.

    2) When cloning blocks for PHI or xor conditions, use
    instsimplify to simplify the code as we go.  This allows us to
    squish common cases early in JT which opens up opportunities for
    subsequent iterations, and allows it to completely simplify the
    testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93253 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6b96ec9866167982b456a7db765d527f1e0a873
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 12 19:40:54 2010 +0000

    add a helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93251 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6c1d2cb7af59f5c697b1b91910950ec29f78373
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 12 18:57:56 2010 +0000

    Use Twine, instead of StringRef, for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21870c5a2e9c2e2eaeca86d12e4c275149756b13
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 12 18:34:06 2010 +0000

    Use ilist_tratis to autoinsert and remove NamedMDNode from MDSymbolTable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93247 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e224cf3893ddc20b5e7019f5047f83eebdf7c4b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 12 18:31:19 2010 +0000

    Eliminate or_not_add and just use AddedComplexity so isel tries or_is_add patterns first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93245 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bec0cfa089896fc7e07ab5abb845ee532cea393
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 12 18:29:23 2010 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93244 91177308-0d34-0410-b5e6-96231b3b80d8

commit be355f34e0729dc040a599a40f008359749ef014
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jan 12 17:46:16 2010 +0000

    Revert commit 93204, since it causes the assembler to barf
    on x86-64 linux with messages like this:
    Error: Incorrect register `%r14' used with `l' suffix

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93242 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cd9f36b7f3d97c1193d072def590065923cd469
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jan 12 08:30:46 2010 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f4f4fffdf4e5f4ad319059e9357fe7ad84d17ca
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Jan 12 08:21:07 2010 +0000

    Tweak commit 91745, which changed target data for both Mingw and Cygwin,
    to not touch Cygwin: the change caused llvm-gcc build failures due to
    long double getting the wrong size.  Patch by Aaron Gray.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 997d1728fd33bca27402a6e5cf0cd0534797b172
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 12 04:52:47 2010 +0000

    Make several tests less fragile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a59eb84ed47f553845393e105eb0196d2d6253e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 12 04:42:54 2010 +0000

    Reapply the MOV64r0 patch, with a fix: MOV64r0 clobbers EFLAGS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9712cf3a0da6e93f9db5a918b921ddbabbb86753
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 12 04:32:35 2010 +0000

    Update a partially obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07e7dea947431ede055a7748fe215f8d7e988653
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 12 04:30:26 2010 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a62df736986d233c475d9c2c7ea0a8fb84e5d6d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 12 02:07:50 2010 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93222 91177308-0d34-0410-b5e6-96231b3b80d8

commit b015ab7e76239fd9b863085d68efa91aca28619c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 12 02:07:17 2010 +0000

    Teach jump threading to duplicate small blocks when the branch
    condition is a xor with a phi node.  This eliminates nonsense
    like this from 176.gcc in several places:

     LBB166_84:
            testl   %eax, %eax
    -       setne   %al
    -       xorb    %cl, %al
    -       notb    %al
    -       testb   $1, %al
    -       je      LBB166_85
    +       je      LBB166_69
    +       jmp     LBB166_85

    This is rdar://7391699

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93221 91177308-0d34-0410-b5e6-96231b3b80d8

commit dac07fb1458578df9b6c67b46c47d84c71f899b3
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Jan 12 02:01:53 2010 +0000

    Add MO_Metadata as an operand kind.  Not used yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93220 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31b41036ecde0388929108c70d9b7eb6e4083065
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 12 00:09:37 2010 +0000

    Add TargetInstrInfo::isCoalescableInstr. It returns true if the specified
    instruction is copy like where the source and destination registers can
    overlap. This is to be used by the coalescable to coalesce the source and
    destination registers of instructions like X86::MOVSX64rr32. Apparently
    some crazy people believe the coalescer is too simple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93210 91177308-0d34-0410-b5e6-96231b3b80d8

commit c69888cabe7acaa6519450d14d298dec25183978
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 23:41:09 2010 +0000

    some cleanup, and make it obvious that ProcessJumpOnPHI only works
    on branches by renaming it and checking for a branch at the call site.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1adfa777684a24ff3df8e6696a817bef91b448ef
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 23:18:33 2010 +0000

    disable this testcase, PR5997

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05622b857d032f6f89ad793571f63d342c7d5eae
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 11 22:59:27 2010 +0000

    Add manual ISD::OR fastisel selection routines. TableGen is no longer autogen them after 93152 and 93191.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3881d24e33e918b8e1d54f218eae0ca91027055e
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 11 22:53:48 2010 +0000

    Add documentation for llvm.dbg.value intrinsic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f974093444a869ceef2dd3b387c79865509991d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 22:49:40 2010 +0000

    reenable the piece that turns trunc(zext(x)) -> x even if zext has multiple uses,
    codegen has no apparent problem with the trunc version of this, because it turns
    into a simple subreg idiom

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6250d378fe142679dfa3e5a4a7b1b323105cef17
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 22:45:25 2010 +0000

    Disable folding sext(trunc(x)) -> x (and other similar cast/cast cases) when the
    trunc has multiple uses.  Codegen is not able to coalesce the subreg case
    correctly and so this leads to higher register pressure and spilling (see PR5997).

    This speeds up 256.bzip2 from 8.60 -> 8.04s on my machine, ~7%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93200 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20c0ca95d363b027d9bedc913ec7d81ff5fa5c6f
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 11 22:31:58 2010 +0000

    Consolidate ConvertGlobalValIDToValue, ConvertGlobalOrMetadataValIDToValue, and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93197 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8941ccfa492c94bf8062817a47a415619b8a497
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Jan 11 22:22:46 2010 +0000

    Remove trailing white spaces in post dominators header file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93195 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9098bd84df3595bfd9632d9c9e55949e9de34b5
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Jan 11 22:22:32 2010 +0000

    Add getNode() to post dominators.

    Implement the same interface as already available for dominators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49e359621c5491296d272ec35279fa7ef4e5a20a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 11 22:03:29 2010 +0000

    Extend r93152 to work on OR r, r. If the source set bits are known not to overlap, then select as an ADD instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93191 91177308-0d34-0410-b5e6-96231b3b80d8

commit 068a9320de8dd78f523946fa8d4119942e224ef5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 21:58:19 2010 +0000

    reduce this to a sensible testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93189 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0c408a4063856e29326c2c6bc099ff439b560e4
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 11 21:50:35 2010 +0000

    Shorten up this testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93187 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa59ffe04ff0e87196a592b9b241b994e5460de7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 11 21:13:41 2010 +0000

    Revert 93158. It's breaking quite a few x86_64 tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a7e7902eae583ed525562bc68dd6ae0fde4d3ac
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Jan 11 21:02:33 2010 +0000

    Avoid adding PHI arguments for a predecessor that has gone away when a BRCOND was constant folded.

    This fixes PR5980.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d6e1b5be983dd6f7fc72e2556189cabb0a6de67
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jan 11 20:33:12 2010 +0000

    Remove unused string functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93183 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7aaefe2f92f0cec4ea74fd407e0a43428d2abc2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 11 20:18:04 2010 +0000

    Do not turn 8-bit OR to ADD since ADD8ri is not 3-addressfiable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 351d0bd7097d298a5fb32601cb4fd7e6dd57f7f5
Author: Mon P Wang <wangmp@apple.com>
Date:   Mon Jan 11 20:12:49 2010 +0000

    Disable transformation of select of two loads to a select of address and then a load if the
    loads are not in the default address space because the transformation discards src value info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f786eaf08109f7350f52d027c60572ffa5308e9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jan 11 19:45:18 2010 +0000

    Add StrInStrNoCase, a StringRef version of CStrInCStrNoCase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a1969a435ea1079bb763f40c2f7e7eba343774c
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 11 19:35:55 2010 +0000

    Add top level section for named metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ce22094023895d13ca93858e56e45011876ab99
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Jan 11 19:19:26 2010 +0000

    Improve unclear bits and inaccuracies in structure and insertvalue
    documentation.

    Patch by Dustin Laurence!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f02c5eaf2e18b7ac09cd8b27c0b0e3b7083612f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Jan 11 18:53:47 2010 +0000

    Update the -tailcallopt description to match djg's improvements to the calling
    convention.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78104868cacedaabbdd6fd942414bf7b77a6011e
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 11 18:52:33 2010 +0000

    s/NextValueNo/NextMDValueNo while processing metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca226531ab9fc85000221a7b160b55b10dcdce1b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jan 11 18:44:35 2010 +0000

    Turns out llvm-gcc still uses SplitString with a vector. Add it back until I
    have a fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 086ac78ea4d4ea944a75869c5fd357edba4eaedb
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Jan 11 18:03:24 2010 +0000

    Reimplement getToken and SplitString as "StringRef helper functions"

    - getToken is modeled after StringRef::split but it can split on multiple
      separator chars and skips leading seperators.
    - SplitString is a StringRef::split variant for more than 2 elements with the
      same behaviour as getToken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93161 91177308-0d34-0410-b5e6-96231b3b80d8

commit d379d96918d8063d25a36c522868d72e29b5ed86
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 11 17:58:34 2010 +0000

    Use a 32-bit and with implicit zero-extension instead of a 64-bit and if it
    has an immediate with at least 32 bits of leading zeros, to avoid needing to
    materialize that immediate in a register first.

    FileCheckize, tidy, and extend a testcase to cover this case.

    This fixes rdar://7527390.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fb7a5024fb9a98ff181c5d2a9c77c7953e0d084
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 11 17:37:57 2010 +0000

    Re-instate MOV64r0 and MOV16r0, with adjustments to work with the
    new AsmPrinter. This is perhaps less elegant than describing them
    in terms of MOV32r0 and subreg operations, but it allows the
    current register to rematerialize them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93158 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21da3e6e415e725824e03262520efbb8149a58a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 11 17:24:27 2010 +0000

    Generalize this check to avoid depending on a specific register assignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93157 91177308-0d34-0410-b5e6-96231b3b80d8

commit 543461a93129eb01a82e917940c0d951af32c7b3
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 11 17:23:56 2010 +0000

    Make this test less trivial, to avoid spurious failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93156 91177308-0d34-0410-b5e6-96231b3b80d8

commit e15b21f014ffe1186cd8b9884802b6bea7e2888e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 11 17:21:05 2010 +0000

    Pattern top-level operators don't need to be restricted to a
    single user. The _su forms are intended for non-top-level nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d79e4f053a8cbebdc1476544d883afaf2a5902e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 11 17:14:46 2010 +0000

    Reword this comment to reference a more fundamental issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06603838de13691e164ec2bfa1f56da2e10ecc3f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 11 17:03:47 2010 +0000

    Select an OR with immediate as an ADD if the input bits are known zero. This allow the instruction to be 3address-fied if needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b55fc02bb4b4c844cd50f489f700f2e8c8ee2e0
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 11 16:29:42 2010 +0000

    Implement a feature (-vector-unaligned-mem) to allow targets to
    ignore alignment requirements for SIMD memory operands.  This
    is useful on architectures like the AMD 10h that do not trap on
    unaligned references if a status bit is twiddled at startup time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6425510605b8e664e589fc31eb3d15f042d9e02c
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Jan 11 07:45:19 2010 +0000

    Respond to Chris' review:
    Make InsertDbgValueIntrinsic() and get Offset take and recieve a uint64_t.
    Get constness correct for getVariable() and getValue().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93149 91177308-0d34-0410-b5e6-96231b3b80d8

commit 390fcc5ffcc455ce1afc7d6ca153b65876b634d0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 06:55:24 2010 +0000

    add one more bitfield optimization, allowing clang to generate
    good code on PR4216:

    _test_bitfield:                                             ## @test_bitfield
    	orl	$32962, %edi
    	movl	$4294941946, %eax
    	andq	%rdi, %rax
    	ret

    instead of:

    _test_bitfield:
            movl    $4294941696, %ecx
            movl    %edi, %eax
            orl     $194, %edi
            orl     $32768, %eax
            andq    $250, %rdi
            andq    %rax, %rcx
            movq    %rdi, %rax
            orq     %rcx, %rax
            ret

    Evan is looking into the remaining andq+imm -> andl optimization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c6ee8169dfcedb5bcb680ab4d212e204f7073c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 04:05:13 2010 +0000

    Extend CanEvaluateZExtd to handle and/or/xor more aggressively in the
    BitsToClear case.  This allows it to promote expressions which have an
    and/or/xor after the lshr, promoting cases like test2 (from PR4216)
    and test3 (random extample extracted from a spec benchmark).

    clang now compiles the code in PR4216 into:

    _test_bitfield:                                             ## @test_bitfield
    	movl	%edi, %eax
    	orl	$194, %eax
    	movl	$4294902010, %ecx
    	andq	%rax, %rcx
    	orl	$32768, %edi
    	andq	$39936, %rdi
    	movq	%rdi, %rax
    	orq	%rcx, %rax
    	ret

    instead of:

    _test_bitfield:                                             ## @test_bitfield
    	movl	%edi, %eax
    	orl	$194, %eax
    	movl	$4294902010, %ecx
    	andq	%rax, %rcx
    	shrl	$8, %edi
    	orl	$128, %edi
    	shlq	$8, %rdi
    	andq	$39936, %rdi
    	movq	%rdi, %rax
    	orq	%rcx, %rax
    	ret

    which is still not great, but is progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e08c3a19a6e45bd15e41c3df04b8ba3c7d84dcb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 03:32:00 2010 +0000

    Remove the dead TD argument to CanEvaluateZExtd, and add a
    new BitsToClear result which allows us to start promoting
    expressions that end with a lshr-by-constant.  This is
    conservatively correct and better than what we had before
    (see testcases) but still needs to be extended further.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41314c1f6da6dcfa806218e750a7ccd8442269ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 11 02:43:35 2010 +0000

    improve comments, remove dead TD argument to CanEvaluateSExtd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93143 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa031d29fcb36598ad0e7524eeba7b968775f15c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 20:30:41 2010 +0000

    teach sext optimization to handle truncs from types that are not
    the dest of the sext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ee51f8654f7a3765441c34af43c81032ecce836
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 20:25:54 2010 +0000

    teach zext optimization how to deal with truncs that don't come from
    the zext dest type.  This allows us to handle test52/53 in cast.ll,
    and allows llvm-gcc to generate much better code for PR4216 in -m64
    mode:

    _test_bitfield:                                             ## @test_bitfield
    	orl	$32962, %edi
    	movl	%edi, %eax
    	andl	$-25350, %eax
    	ret

    This also fixes a bug handling vector extends, ensuring that the
    mask produced is a vector constant, not an integer constant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93127 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3d8a44a4116b338dc5e1760c4fc8c0b435c9afe
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 20:21:42 2010 +0000

    fix a buggy assertion, CreateIntegerCast should allow
    integer vectors as well as just integers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93126 91177308-0d34-0410-b5e6-96231b3b80d8

commit df77d76913bc96239d8c630f52a28fff8cf7b1a7
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Jan 10 18:48:49 2010 +0000

    Suppress a warning on gcc 4.4.

    warning: suggest parentheses around ‘&&’ within ‘||’.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 178ec6095c2522d6da1e7a66a2cc5f3ecab775e0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 07:57:20 2010 +0000

    simplify CanEvaluateSExtd to return a bool now that we have a
    simpler profitability predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93111 91177308-0d34-0410-b5e6-96231b3b80d8

commit d26a9010287c3b76b4328c0a6bb9de4e847d475b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 07:42:21 2010 +0000

    the NumCastsRemoved argument to CanEvaluateSExtd is dead, remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93110 91177308-0d34-0410-b5e6-96231b3b80d8

commit cef643a7cffcf37249fa8908c048d290b7bce03f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 07:40:50 2010 +0000

    now that the cost model has changed, we can always consider
    elimination of a sign extend to be a win, which simplifies
    the client of CanEvaluateSExtd, and allows us to eliminate
    more casts (examples taken from real code).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86de4ca0f1cc0d95d6c1def0b5f96c4e50ce9ddd
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sun Jan 10 07:14:18 2010 +0000

    Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved().
    Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 771e466242edb92436d5ae93b42307dcbaad1044
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 07:08:30 2010 +0000

    change the preferred canonical form for a sign extension to be
    lshr+ashr instead of trunc+sext.  We want to avoid type
    conversions whenever possible, it is easier to codegen expressions
    without truncates and extensions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93107 91177308-0d34-0410-b5e6-96231b3b80d8

commit b814f837bf9ca083a1a702e14010d84326d556b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 06:59:55 2010 +0000

    fix indentation of switch statements, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93106 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79046fd0ead7d80018ab7732414c4a0c21b41b15
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 06:50:04 2010 +0000

    fix pasto that broke bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 812e446a719dc38e01d58493701c62a46e537e2b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 02:50:04 2010 +0000

    simplify CanEvaluateZExtd now that we don't care about the number of
    bits known clear in the result and don't care about the # casts
    eliminated.  TD is also dead but keeping it for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d9228e406d76b4e18d98d03047a834651c4114f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 02:39:31 2010 +0000

    two changes:
    1) don't try to optimize a sext or zext that is only used by a trunc, let
       the trunc get optimized first.  This avoids some pointless effort in
       some common cases since instcombine scans down a block in the first pass.
    2) Change the cost model for zext elimination to consider an 'and' cheaper
       than a zext.  This allows us to do it more aggressively, and for the next
       patch to simplify the code quite a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ac8ce223227de5de5ba9e3d7d8b0d676a4a578b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 02:22:12 2010 +0000

    enhance CanEvaluateZExtd to handle shift left and sext, allowing
    more expressions to be promoted and casts eliminated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93096 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3d7c306da4bc3477bb10bfd43f61ba0f235f04e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 01:35:55 2010 +0000

    remove an xform subsumed by EvaluateInDifferentType.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93095 91177308-0d34-0410-b5e6-96231b3b80d8

commit a44d31b166a84c4e0ff14905c04db781f381a7e9
Author: Julien Lerouge <jlerouge@apple.com>
Date:   Sun Jan 10 01:07:22 2010 +0000

    Fix nondeterministic behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93093 91177308-0d34-0410-b5e6-96231b3b80d8

commit b66b27420b31735c5cf7e7b035689ed6170f27fc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 01:04:31 2010 +0000

    clean up this xform by using m_Trunc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93092 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc13154dc85bd26c17815527804c78aa708a1809
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 01:00:46 2010 +0000

    inline and remove the rest of commonIntCastTransforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93091 91177308-0d34-0410-b5e6-96231b3b80d8

commit e20f3dd45a603f728d13dde43873750c96cefdae
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 10 00:58:42 2010 +0000

    Inline the expression type promotion/demotion stuff out of
    commonIntCastTransforms into the callers, eliminating a switch,
    and allowing the static predicate  methods to be moved down to
    live next to the corresponding function.  No functionality
    change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93089 91177308-0d34-0410-b5e6-96231b3b80d8

commit 440048c27b6462450387d9dc744064cd3e90d6dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 23:25:21 2010 +0000

    hopefully unbreak the ocaml bindings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1192d8ccdbf231d0f3eda9f9397bfc3e5f022e25
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 22:30:40 2010 +0000

    add 3 passes which have been added but aren't used afaik.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b943dd8ffc9684e48e30a306565ae6467c57c17
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 22:27:07 2010 +0000

    "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for."

    Patch by James Y Knight!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93079 91177308-0d34-0410-b5e6-96231b3b80d8

commit d009f94244e0583126a9a9ca23bdf231b3090119
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Jan 9 19:44:16 2010 +0000

    Clarify the requirements for a "tail call" to actually be optimized into a
    jump.  People clearly weren't finding the extra requirements in
    CodeGenerator.html.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93070 91177308-0d34-0410-b5e6-96231b3b80d8

commit c70bab79d5cb10d92c18942db5f5424f72797dae
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 19:24:49 2010 +0000

    fix bogus test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93069 91177308-0d34-0410-b5e6-96231b3b80d8

commit dba1e402d851dcba8d48285c9306febe0d2bd59d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 19:24:18 2010 +0000

    fix bogus test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fbedd2bbeb4a01472d40d9766c16bc01d357c86
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 19:20:07 2010 +0000

    fix PR5983, reject function bodies with no blocks per the grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93067 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12b4c9732917701a648e626fcbd39c86156c15dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 19:15:14 2010 +0000

    improve documentation for linkonce to be less confusing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7375479e2bd1a4037b5848e6ee117f417d0002b3
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Jan 9 18:56:43 2010 +0000

    Fix http://llvm.org/PR5729: x86-64 tail calls were putting their targets into
    R11, and then asserting that the target was in R9.  Since R9 isn't reserved for
    the target anymore, and is used as an argument, this patch changes the
    assertion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8175c3426e34da1fbe54723f5b2bd4ef370ca951
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 18:40:31 2010 +0000

    2010 is upon us.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93062 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f2b306981280b43b98cdff2e00baebadbb8a36c
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jan 9 18:17:45 2010 +0000

    Use WriteAsOperand instead of getName() to print loop header names,
    so that unnamed blocks are handled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 305ce175ae439b529189564849a59d6789cd5ac2
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jan 9 17:22:48 2010 +0000

    Tighten up the vim LLVM IR syntax highlighting regex for labels, and add a
    highlighting rule for identifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93056 91177308-0d34-0410-b5e6-96231b3b80d8

commit f235cf58d7574682e14df6827d92ddf2506e1d82
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jan 9 17:15:21 2010 +0000

    Set the vim auto-indent setting for open braces after case statements to
    follow LLVM source convention.

    Before:
      case X: {
                stuff;
              }

    After:
      case X: {
        stuff;
      }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93055 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5f58e5c06081e60b4a8ba938799d9e1dc97da95
Author: David Chisnall <csdavec@swan.ac.uk>
Date:   Sat Jan 9 16:27:31 2010 +0000

    Fixed linking of modules containing aliases to constant bitcasts.  Existing behaviour first tried to replace the aliases with the global that they aliased (rather than the bitcast), causing a crash on an assert because the types didn't match.  When this was fixed, it then did the same thing creating the new alias (creating an alias with a different type to its aliasee).

    Linking modules containing aliases to GEPs is still not quite right.  GEPs that are equivalent to bitcasts will be replaced by bitcasts, GEPs that are not will just break.  Aliases to GEPs that are not equivalent to bitcasts are horribly broken anyway (it might be worth adding an assert when creating the alias to prevent these being created; they just cause problems later).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93052 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2f154bef2486073b253f93bfb96ec95c408af49
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Jan 9 08:30:33 2010 +0000

    Suppress use of uninitialized variable warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c42e1823c0491834a21f08f60b31b21e781594f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 06:01:36 2010 +0000

    only factor from expressions whose uses are empty and whose
    base is the right expression type.  This fixes PR5981.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93045 91177308-0d34-0410-b5e6-96231b3b80d8

commit c807a81409786d58f6a73a018da26fd66aec0790
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Jan 9 02:13:55 2010 +0000

    Revert an earlier change to SIGN_EXTEND_INREG for vectors. The VTSDNode
    really does need to be a vector type, because
    TargetLowering::getOperationAction for SIGN_EXTEND_INREG uses that type,
    and it needs to be able to distinguish between vectors and scalars.

    Also, fix some more issues with legalization of vector casts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43bc13b68b86c2136326ff0a245fa065dac9ee7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 9 02:02:37 2010 +0000

    clean up this code, add a fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 041890c13119d3b398ff4df9644e95bf517a94d3
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 9 01:44:59 2010 +0000

    Delete NamedMDSymTable while destrucing Module.
    Disable  copy ctor and operator= for NamedMDSymTable. Hide typedef that should be public.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 976e43dbca87ed25b2e078948978ea737db514b7
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Jan 9 01:24:25 2010 +0000

    Add DEBUG_DECLARE.  Not used yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93040 91177308-0d34-0410-b5e6-96231b3b80d8

commit 459c5a1e2e8f64e3519858e3d5309c9fb3073ec1
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 9 01:24:03 2010 +0000

    NamedMDNode is never used so there is no need to enumerate it here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a18fe82407938da5ec62ce497217fb044b55918
Author: Julien Lerouge <jlerouge@apple.com>
Date:   Sat Jan 9 01:06:49 2010 +0000

    Fix nondeterministic behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93038 91177308-0d34-0410-b5e6-96231b3b80d8

commit f36c6867337e26f5f6168442255605b12cafbd35
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 9 01:02:22 2010 +0000

    NamedMDNode element is either null or MDNode. Otherwise this is a malformed NamedMDNode record.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 580749d7f096d447d30de5706d7b38d0d587f131
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Jan 9 00:30:14 2010 +0000

    Derive NamedMDNode from Value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53d17bd41e372d6302b8a283f646be7fa17420dc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Jan 9 00:21:08 2010 +0000

    Dan pointed out checking whether a node is dead by comparing its opcode to ISD::DELETED_NODE is not safe. Use a DAGUpdateListener to remove dead nodes from work list instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b8c4f4b010dc5abc8748141f5de17cb0bc74d6b
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Jan 8 23:51:25 2010 +0000

    Add DEBUG_VALUE.  Not used yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93030 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c8f4c8af62d1e45c1a24e7d217e796edfe5e9fe
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 8 23:41:50 2010 +0000

    Fix a critical bug in 64-bit atomic operation lowering for 32-bit. The results of the cmpxchg8b instructions are being thrown away when it branches back to the top of the checking loop. This means the loop always compares against the old value and this can result in a dead lock.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93028 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ee164a6e66a3c0f9495567836990aa210876a0f
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jan 8 21:42:39 2010 +0000

    Grammar thinko.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93027 91177308-0d34-0410-b5e6-96231b3b80d8

commit e169d8bfd07d97c608156c4696e9a418f738fb6c
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jan 8 21:37:11 2010 +0000

    Remove unnecessary dyn_cast and add a comment.  Part of a WIP.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93026 91177308-0d34-0410-b5e6-96231b3b80d8

commit 632002f4605f3f0e39f15710cf441f556c2b9b03
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 8 19:28:47 2010 +0000

    mplement a theoretical fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93024 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91cf1207b83e466dfb7381aa324e5c01189e0ed8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 8 19:19:23 2010 +0000

    rename CanEvaluateInDifferentType -> CanEvaluateTruncated and
    simplify it now that it is only used for truncates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ec49f0e24bbdf5053c68b534df66206b866871f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 8 19:14:57 2010 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93020 91177308-0d34-0410-b5e6-96231b3b80d8

commit e19af54f0e8886ceb55f47b97acc4eefe682a5ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 8 19:04:21 2010 +0000

    teach instcombine to delete sign extending shift pairs (sra(shl X, C), C) when
    the input is already sign extended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93019 91177308-0d34-0410-b5e6-96231b3b80d8

commit b57b7a0c6f3feb355f11f581b34d49250397a6a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 8 19:02:23 2010 +0000

    fix PR5978 by peeling the loop so that we avoid shifting the
    result int by 8 for the first byte.  While normally harmless,
    if the result is smaller than a byte, this shift is invalid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c1e23389ba5f7a3ca69a1720ea2db76f3e37984
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Jan 8 17:51:48 2010 +0000

    Suppress an unused variable warning when assertions are off;
    remove some trailing whitespace while there.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e9676ce83ade2878871f01328687e024ced157c
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 8 17:48:19 2010 +0000

    tidy up some stuff duncan pointed out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c04e69b9f0bfba83df8f3fe13af454e10bc2bf3
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Jan 8 17:41:33 2010 +0000

    Minor change, change the order of two "let Inst{...}" stmts within multiclass
    T2I_bin_ii12rs definition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 312d366163543c423e407d7bd5051a89d4431ff3
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jan 8 08:24:49 2010 +0000

    After further thought revert the patch to make fast-isel avoid
    putting relocations into the constant pool - this isn't needed
    for correctness and in the rare occasion it happens would pull
    us out of fast isel for the block.

    If fast-isel application startup time ever becomes an issue we
    can add better support for these addresses instead of bailing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23432d0d8762223b47e8f109ba2bdf8b75e77160
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 8 02:36:12 2010 +0000

    ReplaceAllUsesOfValueWith may delete other nodes that the one being replaced. Do not delete dead nodes again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92988 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3d6fff46b5a1832301135850c601a13a0b5c6ac
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Jan 8 01:29:19 2010 +0000

    Fix what looks to me obvious instruction definition bugs.
    1. CMPXCHG8B and CMPXCHG16B did not specify implicit physical register defs and uses.
    2. LCMPXCHG8B is loading 64 bit memory, not 32 bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 134dcfa3d569587348308e8cd8d995e1597752d1
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Jan 8 00:05:33 2010 +0000

    Remove extraneous include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c4eb989ed9e2cf7e6724b63bcd1cc6f2ef944a0
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Thu Jan 7 23:50:41 2010 +0000

    Add assert to check dominance dfs numbers.

    Compare the dominance information calculated using a dominance tree walk to the
    information calculated based on DFS numbers, if XDEBUG is enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 689b8144d6689b1c08c163d883185f3bdbb1c0bf
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Thu Jan 7 23:50:25 2010 +0000

    Remove workaround in PostDominators

    Remove a FIXME and unify code that was necessary to work around broken
    updateDFSNumbers().  Before updateDFSNumbers() did not work correctly for post
    dominators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bdcc0cf6f202d4c83a7bd3233a46c5d84e9752f
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Thu Jan 7 23:50:06 2010 +0000

    Fix DFS number calculation for postdominators

    The DFS number calculation for postdominators was broken. In the case of
    multiple exits that form the post dominator root nodes, do not iterate over
    all exits, but start from the virtual root node. Otherwise bbs, that are not
    post dominated by any exit but by the virtual root node, will never be assigned
    a DFS number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92967 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d9ecce309b7d133b6fe6a841dd52980ffb5c273
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 23:44:37 2010 +0000

    teach ComputeNumSignBits to look through PHI nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6adf1ba76c4533dbe08142585838b5d72506f0be
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 23:42:23 2010 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92963 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce802c07d5d10744bff2b16fd88c46e25a5cf948
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 23:41:00 2010 +0000

    Enhance instcombine to reason more strongly about promoting computation
    that feeds into a zext, similar to the patch I did yesterday for sext.
    There is a lot of room for extension beyond this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c106b561b6d796f1f0e4ef28deb5c677f367857
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 21:59:23 2010 +0000

    Fix rdar://7517201, a regression introduced by r92849.
    When folding a and(any_ext(load)) both the any_ext and the
    load have to have only a single use.

    This removes the anyext-uses.ll testcase which started failing
    because it is unreduced and unclear what it is testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92950 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b32b5663d77046c560d61f05468b0dc87b4bb8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 21:53:27 2010 +0000

    factor this code better and reduce nesting at the same
    time, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92948 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8c38fb2275c52c1a7b206e34a5f6d1b8b096d9e
Author: David Greene <greened@obbligato.org>
Date:   Thu Jan 7 21:43:58 2010 +0000

    Revert r92939.  These intrinsics get matched to LLVM instructions,
    so removing at Chris' request.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 656988c1575af7f102ecda3b5c5c8322c405a596
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jan 7 20:58:44 2010 +0000

    APInt'fy TargetLowering::SimplifySetCC to fix PR5963.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92943 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41caa6c9b6fb1312853324bc3bfc34559ad2c63c
Author: David Greene <greened@obbligato.org>
Date:   Thu Jan 7 19:47:43 2010 +0000

    Add some "missing" instrinsics to make the SSE intrinsic set a bit more
    orthogonal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8352338331930938b73930737b4fd543e42b35a8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jan 7 19:46:15 2010 +0000

    Simplify code. No intended functionality/performance change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92938 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5382bfd8db0236ef99b2b960216afb73befa2db1
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jan 7 19:45:14 2010 +0000

    If the data requires a relocation then don't attempt to
    add it to the constant pool for fast-isel. We already
    don't add it for the normal case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92934 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd05649bf260ba98f9c3e3ae7bc0c8ad0e5af0af
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Jan 7 19:44:05 2010 +0000

    We need to put any kind of data with a relocation into a
    not-readonly segment on darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92933 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb5497752b116baa3397e336a16ab2e9111ba941
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Jan 7 19:39:36 2010 +0000

    Use separate namespace for named metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92931 91177308-0d34-0410-b5e6-96231b3b80d8

commit f106d055dbf1a26a4067c6110a3b8e41534f2bbc
Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
Date:   Thu Jan 7 18:46:52 2010 +0000

    Fix occurrence typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b725deb1d7ed94eb583d92e6acf5d92e641dedf
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 17:53:10 2010 +0000

    constant materialization could be improved.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92921 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4eae42f0c15257ff2cbed2c57b062b6d715c2c7
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jan 7 17:50:57 2010 +0000

    Kill dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 405091faf70c7f5cecdf4b76e28cc877adacac53
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jan 7 17:29:08 2010 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8426b4a20e9aea0aae90eaa3ef55564e12d57257
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jan 7 17:27:56 2010 +0000

    Use pop_back_val instead of back()+pop_back.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92918 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3b7277cf7bfcda19691eebb85c8d20f9e1ccaa9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Jan 7 13:50:07 2010 +0000

    Use a do-while loop instead of while + boolean.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 378d545652e3c580e7743c3dc8fa468441150c9d
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jan 7 09:05:26 2010 +0000

    Correct spelling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92910 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba1c49f15360dd69858b7ea2c6b3c58aace4f0a9
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Jan 7 05:48:42 2010 +0000

    Be less stingy as to how many selects and phi nodes we
    are prepared to look through.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76476aaaaab38d36caccf3bccf553f5ee459f6f9
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Jan 7 02:24:06 2010 +0000

    More trivial optimizations to a function well outside the critical path

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c106cdb8573b5701646dff97629fb99d59540d7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 01:20:20 2010 +0000

    handle ConstantVector while I'm in here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f9fe1268eb4f437cf4de50dfc7e06e8cd7a30a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Jan 7 01:16:21 2010 +0000

    fix a globalopt crash on 'bullet' (handling evaluation of a store
    to an element of a vector in a static ctor) which occurs with an
    unrelated patch I'm testing.  Annoyingly, EvaluateStoreInto basically
    does exactly the same stuff as InsertElement constant folding, but it
    now handles vectors, and you can't insertelement into a vector.  It
    would be 'really nice' if GEP into a vector were not legal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92889 91177308-0d34-0410-b5e6-96231b3b80d8

commit f26b80901d602701715d3e3fbe37e0feb797b636
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Jan 7 00:54:06 2010 +0000

    Fix a minor regression from my dag combiner changes. One more place which needs to look pass truncates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92885 91177308-0d34-0410-b5e6-96231b3b80d8

commit eacfcd677a4dc1df383eb9ff45fde0c40ab8f98b
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Jan 7 00:51:54 2010 +0000

    Switch StringRef::edit_distance over to using raw pointers, since both
    std::vector and llvm::SmallVector have annoying performance
    tradeoffs. No, I don't expect this to matter, and now it won't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92884 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccaafd35c2650453cf54d46edc6dedc8d2d70bff
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Jan 7 00:51:04 2010 +0000

    Add comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92883 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7cdaa0ff91a8386fbef22a48c85d624391b8cd4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jan 6 23:54:42 2010 +0000

    80 column violations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92876 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9366a47925207e0030d12df091d6e1cbc5edbf9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jan 6 23:52:46 2010 +0000

    Allow double defs after tail duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92874 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaf7d07332307f7c820f78f2a6ea877b99fa2d98
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jan 6 23:47:07 2010 +0000

    Add Target hook to duplicate machine instructions.

    Some instructions refer to unique labels, and so cannot be trivially cloned
    with CloneMachineInstr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92873 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd8159b018f0d5ac327caefee632f2be39b3b8d1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jan 6 23:45:18 2010 +0000

    Addressing mode 6 (load/store) instructions can't encode an immediate offset
    for stack references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92871 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7a3afef91f77182a51be83fa01730000bf358d9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jan 6 22:21:25 2010 +0000

    Anti-dependency breaking needs to be careful regarding instructions with
    multiple register definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f156c4013526c48cb06ed664925b6a7084e9c05
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Jan 6 20:04:44 2010 +0000

    Move the object size intrinsic optimization to inst-combine and make
    it work for any integer size return type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bf0c4cd67b385c7290306ae40562c2f84908e60
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 6 19:43:21 2010 +0000

    Comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d5cbef24ef9b259a6d57d972bc98b1bda631540
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Jan 6 19:38:29 2010 +0000

    Teach dag combine to fold the following transformation more aggressively:
    (OP (trunc x), (trunc y)) -> (trunc (OP x, y))

    Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel.

    This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92849 91177308-0d34-0410-b5e6-96231b3b80d8

commit deeae7a6f0c289aaaac133ccd0d22ca0a4fddbe0
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Jan 6 17:16:00 2010 +0000

    Fix struct/class mismatch

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92841 91177308-0d34-0410-b5e6-96231b3b80d8

commit eedb188d34d1a46dd69672f4c6415a373fab9118
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Jan 6 17:00:21 2010 +0000

    When parsing function-local metadata, create a function-local MDNode

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92838 91177308-0d34-0410-b5e6-96231b3b80d8

commit a11e87a37e60a5a4c20b8ffc3de0b4675b2510cd
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Jan 6 16:48:02 2010 +0000

    80 column and whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92837 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39e48e077790523cb83189dcc6880e043968b75c
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jan 6 15:37:47 2010 +0000

    Fix a README item: have functionattrs look through selects and
    phi nodes when deciding which pointers point to local memory.
    I actually checked long ago how useful this is, and it isn't
    very: it hardly ever fires in the testsuite, but since Chris
    wants it here it is!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ba4ba754705f4a8261f5cc206b7550da264b82e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Jan 6 09:20:39 2010 +0000

    Formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92831 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad48c6101e1a05463a319d633b5c792cdcefc8dd
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Jan 6 08:53:34 2010 +0000

    Fixed malformed -*- lines in PBQP headers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a124104bd575702d3cf747362f2f7aed4e24d5c
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jan 6 08:45:52 2010 +0000

    Partially address a README by having functionattrs consider calls to
    memcpy, memset and other intrinsics that only access their arguments
    to be readnone if the intrinsic's arguments all point to local memory.
    This improves the testcase in the README to readonly, but it could in
    theory be made readnone, however this would involve more sophisticated
    analysis that looks through the memcpy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40520aaab0accf660fb90961ebb571ae4a53bc5b
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Jan 6 05:49:26 2010 +0000

    This is testing a darwin specific feature, so only turn
    it on for darwin (it fails on linux).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92826 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0e50c434a117c15a8fa1207c0d771a4d7c30149
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 6 05:32:15 2010 +0000

    tweaks suggested by Duncan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ad00c5540f2395f1f1f818fdc8472c94d4ec5b3
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jan 6 02:21:00 2010 +0000

    Reenable debug info on PPC.  Works well enough to
    bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92818 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1650604edab7e4dfa06acf9d3d443d10e55020b
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Jan 6 02:20:18 2010 +0000

    Make sure debug info hook gets called when emitting
    synonyms for PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92817 91177308-0d34-0410-b5e6-96231b3b80d8

commit c936035986b63efc9b4939a00f8c7b6c89a4ee7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Jan 6 01:56:21 2010 +0000

    Teach instcombine's sext elimination logic to be more aggressive.
    Previously, instcombine would only promote an expression tree to
    the larger type if doing so eliminated two casts.  This is because
    a need to manually do the sign extend after the promoted expression
    tree with two shifts.  Now, we keep track of whether the result of
    the computation is going to be properly sign extended already.  If
    so, we can unconditionally promote the expression, which allows us
    to zap more sext's.

    This implements rdar://6598839 (aka gcc pr38751)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92815 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3949409ec0f7daae0bb00b1de69c8e7d4aa6ef8
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Jan 6 00:29:28 2010 +0000

    Add <imp-def> and <imp-kill> operands when replacing virtual sub-register defs and kills.

    An instruction like this:

      %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0

    Must be replaced with this when substituting physical registers:

      %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92812 91177308-0d34-0410-b5e6-96231b3b80d8

commit a92950a1d89495ff71eeb810afe8a97b91f5d26d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jan 6 00:23:35 2010 +0000

    The previous code could potentially cause a cycle. Allow ordering w.r.t. a 0 order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 395df6e62a71cfe78544c48bb31428913130eb2a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Jan 6 00:09:23 2010 +0000

    Only check the ordering if there is an ordering for each nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a6edbd5f2a4ab57f4a7a1599bcdd6fc0656910a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jan 5 23:48:12 2010 +0000

    Add a semi-primitive form of scheduling via the "SDNode ordering" to the
    bottom-up scheduler. We prefer the lower order number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92806 91177308-0d34-0410-b5e6-96231b3b80d8

commit e890c0582d64784ef5f46687633b771490d09e17
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 23:00:30 2010 +0000

    simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92800 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e69f124da5e693c022f26f386cf379aaa8ddbf0
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 22:52:54 2010 +0000

    Move this test from test/Transforms/IndVarSimplify to
    test/CodeGen/X86, as doesn't use -indvars, and it does use
    llc -march=x86-64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c782402abd47ff98c20462f0b4323ee21b3e961
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Jan 5 22:39:10 2010 +0000

    Don't assign the shift the same type as the variable being shifted. This could
    result in illegal types for the SHL operator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92797 91177308-0d34-0410-b5e6-96231b3b80d8

commit 577421fcce5123c07142cf8b566f5018104ed7b8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Jan 5 22:37:28 2010 +0000

    Undo r92785, it caused test failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92796 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7812806be7e9d35a22891f10db8c0141fc1913b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 22:30:42 2010 +0000

    make this a static function instead of a method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92795 91177308-0d34-0410-b5e6-96231b3b80d8

commit f76867ade835085ac472ee8c2f1bd642f241bc85
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 22:26:32 2010 +0000

    Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen
    uses several kinds of opcode values which are not declared within
    that enum. This fixes PR5946.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92794 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1caa0958db19c416203c167b9dc71c9ef518200
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Jan 5 22:22:14 2010 +0000

    Re-add parsing of function-local metadata; this time with testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45056b1b3b40428cdd2bc868b3e22b08ed7661da
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 22:21:18 2010 +0000

    more rearrangement and cleanup, fix my test failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71713e4d7e08616092cf0c5b5c125cd007137b39
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 22:07:33 2010 +0000

    cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22c5d59dbbc02e05a9820f8e47677dccae7bc3e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 22:01:41 2010 +0000

    remove two trunc xforms that are subsumed by EvaluateInDifferentType.
    The only difference is that EvaluateInDifferentType checks to ensure
    they are profitable before doing them :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92788 91177308-0d34-0410-b5e6-96231b3b80d8

commit f907f09e3beff5f5cdbf73f03f1176b10a192ade
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:54:09 2010 +0000

    merge some tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92786 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca9de8db30b09ed84437d208bcce979a4ca54e28
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Jan 5 21:51:46 2010 +0000

    Add Rt2 to the asm format string for 32-bit Thumb load/store register dual
    instructions.  Thumb does not have the restriction that t2 = t+1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76efae2ec697bdfda9a990d8dcf7f4274618e2be
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:48:13 2010 +0000

    merge cast2 into cast.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e2aa9c6d05ae92967563d4f5ee67b820e49d679
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 5 21:47:32 2010 +0000

    Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb6543085aa2fd762d8b4f3d7e1e99b5f6076af9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:46:22 2010 +0000

    remove useless test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ec43a964e0ede67b993f0d57d5bfb7e074e20c7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:43:08 2010 +0000

    another example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92781 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97b05e1f2cdeb9cefbc7a384f84386929110307d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jan 5 21:38:37 2010 +0000

    Don't specify CR sub-registers as implicit defs of BL instructions.

    It is enough to give the super registers CR0, CR1, ..., and specifying the
    sub-registers as well causes confusion in the liveness computations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92778 91177308-0d34-0410-b5e6-96231b3b80d8

commit a861e464d1b2bc60b4af7e816c39c4caa71a38da
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:37:44 2010 +0000

    remove a useless negative test, add a rdar # to an xfail that I'm working on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92777 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51d53cad7db9e399c42021ee089a80e0a03ca846
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:32:59 2010 +0000

    clean up tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92776 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb055724810e5b4d84c0505ba305a5aecfb93513
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:16:30 2010 +0000

    just remove this xform which is subsumed by others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b1ab26cbc910289f76aa19ec6a510e4e6dab8cd
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Jan 5 21:13:46 2010 +0000

    Fix comment for CheckDebugInfoIntrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 606a958f8d5d8e3417b6b4f8e14c4c55e90d1a42
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:11:17 2010 +0000

    move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93ec5843d1fc59fa69c7e3161a7b06634a6cf78c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 21:08:02 2010 +0000

    Restore dump() methods to Loop and MachineLoop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92772 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad813fb581b9cff83a73b9880dcbd76979caf0d4
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jan 5 21:05:54 2010 +0000

    Move remaining stuff to the isInteger predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63da1cba0e6d07487bab072e7ee77908f6de5c5b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 21:04:47 2010 +0000

    move a zext specific xform out of commonIntCastTransforms into visitZExt and modernize it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92770 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6a0623e233f3816bb29e604afa10eb584d6cda3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Jan 5 20:59:36 2010 +0000

    Remove livein checks from machine code verifier.

    A phi operand that is implicitly defined in a predecessor becomes an undefined
    register after phi elimination. This causes a lot of false positives when the
    verifier is checking if live-in registers are live-out from all predecessors.

    Removing the verifier checks seems like a better solution than insisting on
    IMPLICIT_DEF instructions in predecessor blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92769 91177308-0d34-0410-b5e6-96231b3b80d8

commit b422edb4b823f29dd8858b7f737da4a06fda5696
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 20:57:30 2010 +0000

    move a trunc-specific xform out of commonIntCastTransforms into visitTrunc

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16d493af3fff031e1a79708744aa7379b1373b61
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 20:56:24 2010 +0000

    reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92766 91177308-0d34-0410-b5e6-96231b3b80d8

commit 479ee3c9e53cb0c4ace0963cf7541c5a85c58f3f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Jan 5 20:45:43 2010 +0000

    Regenerate

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92763 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59dfe2ddb5972ceff4ead29fa4a9e489b3e1f01d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Jan 5 20:45:13 2010 +0000

    Proper deduce z/System LLVM target from target triple when
    --enable-targets=host is specified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aa6bf8f7f435c02ff239cd88e1c2f95b19b9708
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 5 20:41:31 2010 +0000

    NamedMDNode is a collection MDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee780ee28aeb83c8fb2138865ff5f9cf824d43d0
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jan 5 20:07:06 2010 +0000

    Convert a ton of simple integer type equality tests to the new predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92760 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b915ae131104fa253c8e31aa4bb675f267deed3
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jan 5 20:04:48 2010 +0000

    Add a new predicate for integer type equality tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c7426eee32d132c4a02177f159ac66ea9a0f331
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 19:11:42 2010 +0000

    Add an !eq() operator to TableGen.  It operates on strings only.
    Use !cast<string>() to compare other types of objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92754 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29773ea81f20037e51adf9e56bd24cb274047534
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 18:24:00 2010 +0000

    Add an entry on SmallBitVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92747 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb9dcdd909be81b7e6e7a609e23c9009316a1353
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 18:09:56 2010 +0000

    optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92745 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8ddc0968cd2bba6da3ef3138036e036d84217cd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 17:55:26 2010 +0000

    Delete useless trailing semicolons.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28bdf411d6ec32297ce6739980ef866a52530312
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 17:50:58 2010 +0000

    Nick Lewycky pointed out that this code makes changes unconditionally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92739 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9640cd0439ef4ba5c00ea37abe90703e0acf842
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 17:47:41 2010 +0000

    Have TableGen emit code that uses dbgs() rather than errs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a3811590dfe3fd6170d52f93058069df8e2caa3
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 5 16:59:17 2010 +0000

    If a scope has only one instruction then first instruction is also the last instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fbfa9687086a4012cede8a5a2783359368a3098
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 16:31:45 2010 +0000

    Set Changed properly after calling DeleteDeadPHIs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92735 91177308-0d34-0410-b5e6-96231b3b80d8

commit f67674f4d2952ba521a50341d53f7c3eadd1e43b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 16:27:25 2010 +0000

    Use do+while instead of while for loops which obviously have a
    non-zero trip count. Use SmallVector's pop_back_val().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92734 91177308-0d34-0410-b5e6-96231b3b80d8

commit e287750464c4fd8cec6c4f69b1a6e92579e4300b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 16:20:55 2010 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92733 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1457eefb50e703a2714db72d294650b972e5aaae
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 15:45:31 2010 +0000

    Make RecursivelyDeleteTriviallyDeadInstructions,
    RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag
    indicating whether they made any changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92732 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5827eb7c9743b407e423ecebe7e0d5600e835d9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 15:28:21 2010 +0000

    Some versions of GCC don't like non-static data members in sizeof
    in this context.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92731 91177308-0d34-0410-b5e6-96231b3b80d8

commit b564a5e38a3d697a2dcdc0fd3c67b5fee589eee5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 15:04:49 2010 +0000

    Add a SmallBitVector class, which mimics BitVector but uses only
    a single pointer (PointerIntPair) member. In "small" mode, the
    pointer field is reinterpreted as a set of bits. In "large" mode,
    the pointer points to a heap-allocated object.

    Also, give BitVector empty and swap functions.

    And, add some simple unittests for BitVector and SmallBitVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dc6d30881a65dc537c0c3a5c1c005e1449c2133
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jan 5 13:32:48 2010 +0000

    Add newline at EOF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 858baacd9c8cfae680149e4d72dab591a5fd637c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Jan 5 13:12:22 2010 +0000

    Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e464881096a6ef718ee688d080abd7e701371b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:54:43 2010 +0000

    prune some #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92712 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb72cf3929ba8042b0b230763cee02cdd0c88288
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:50:36 2010 +0000

    split and/or/xor out into one overly-large (2000LOC) file.  However, I think
    it does make sense to keep them together, at least for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92711 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae482825f6ac21f924a210234a2e4b6c6a4fa82d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:45:02 2010 +0000

    missed file with previous commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92710 91177308-0d34-0410-b5e6-96231b3b80d8

commit d351cbf681772a64c07daeec87855c801bf9d74d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:44:46 2010 +0000

    split instcombine of shifts out to its own file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1af5dfe4f0862350ab2a35a629d5b63fac6576a6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:42:10 2010 +0000

    eliminate getBitCastOperand and simplify some over-complex inbounds stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92708 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2297ce9d1815478d31dac279a7ad3a669f5d7ba
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:32:13 2010 +0000

    split call handling out to InstCombineCalls.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92707 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5d0e61248bfc0b9cfb4983065e565c210b07791
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:23:56 2010 +0000

    optimize cttz and ctlz when we can prove something about the
    leading/trailing bits.  Patch by Alastair Lynn!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d84c24f92b885713398c90b2dcee259f25403f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:20:54 2010 +0000

    this inline function moved to addsub

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92705 91177308-0d34-0410-b5e6-96231b3b80d8

commit d703eac299f29f6268be2618668e57901083542a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:18:46 2010 +0000

    split add/sub out to its own file.  Eliminate use of
    dyn_castNotVal in the X+~X transform.  dyn_castNotVal is
    dramatic overkill for what the xform needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42fae658f2d2901ec44ce0517ce3daf5d71b0895
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:04:23 2010 +0000

    all the places we use hasOneUse() we know are instructions, so inline
    and simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 814855971448ccc6e772c0303d6f042a0cda674e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 07:01:16 2010 +0000

    eliminate AssociativeOpt and its last uses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92697 91177308-0d34-0410-b5e6-96231b3b80d8

commit b93a1fd7e5455a00306a7a09fc46c669dd7021d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 06:59:49 2010 +0000

    inline the FoldICmpLogical functor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 026ba2cf2249ae64bebe4eaab7d5aef1403d010a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Jan 5 06:52:31 2010 +0000

    Code refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ba5f27addb99d481ae5f685d05ffb42cb211871
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 06:29:13 2010 +0000

    inline the 'AddRHS' transformation, simplifying things significantly.
    Eliminate the 'AddMaskingAnd' transformation, it is redundant with this
    more general code right below it:
      // A+B --> A|B iff A and B have no bits set in common.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a816542b98c6dd14b4667aab400745a7b0d5a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 06:24:06 2010 +0000

    remove massive over-genality manifested as a big template
    that got instantiated.  There is no reason for instcombine
    to try this hard for simple associative optimizations.  Next
    up, eliminate the template completely.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92692 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2b8ec3e8c5a05a4bd69a22927c489089c21b421
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 06:09:35 2010 +0000

    split mul/div/rem instructions out to their own file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92689 91177308-0d34-0410-b5e6-96231b3b80d8

commit eae8d32eaa2fb3119af67221c7bafd3bb8d5857d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 06:05:07 2010 +0000

    clean up header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92688 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79604e01bb64b3bee0d1d0351840057de0617702
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 06:03:12 2010 +0000

    split select out to its own file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92687 91177308-0d34-0410-b5e6-96231b3b80d8

commit c025853866d3e56dc2f627a6dda97a9333575256
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 05:57:49 2010 +0000

    split out load/store/alloca.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92685 91177308-0d34-0410-b5e6-96231b3b80d8

commit f61c5394db9842cefb9e44f9f9fda7c19e698a2e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 05:42:08 2010 +0000

    reduce indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dad9c196c6bae7a062746c7868a2b75e297f4d8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 05:36:20 2010 +0000

    split vector stuff out to InstCombineVectorOps.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05b3d10412bbe139175225e2cf949e34c80fe2a4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 05:31:55 2010 +0000

    split PHI node stuff out to InstCombinePHI.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 766096ee360c85c4fcc6b3b98d2086a661c9c5ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 05:21:26 2010 +0000

    convert various IntrinsicInst's to use class instead of struct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92681 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0a35fed9af18017f2961af9428a1547298db3c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Jan 5 04:55:35 2010 +0000

    fix an infinite loop in reassociate building emacs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41698a6dfd9977a8ed968c2bc89d8250ea4d9328
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:55:22 2010 +0000

    Change this back to errs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92674 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99c71a3dee39e19a3edbd470803924eeb3f9add4
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:53:59 2010 +0000

    These should probably be errs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43c60b5c700d72299f9d1885fa1a6b1920027ae0
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 5 01:47:06 2010 +0000

    Delete renaming use of dead dbg intrinsics.

     Intrinsic::dbg_stoppoint
     Intrinsic::dbg_region_start
     Intrinsic::dbg_region_end
     Intrinsic::dbg_func_start

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92672 91177308-0d34-0410-b5e6-96231b3b80d8

commit 531076d281fa2d7f6f21af87a04250d3e8ba913d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 5 01:46:14 2010 +0000

    Use StringRef.startswith().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92671 91177308-0d34-0410-b5e6-96231b3b80d8

commit f851739c54a45d6643904d97c5100325bb85d3d0
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:36:30 2010 +0000

    Fix a build error by adding a missing commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95303c43a6cb6fc0aebea1dbd6e86c0382cb7e92
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:34:26 2010 +0000

    Fix a build error and change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92669 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff668bd0afa5c8aaf510fc78048e80d7b378ab26
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 01:31:15 2010 +0000

    Remove an unneeded svn:ignore property.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92668 91177308-0d34-0410-b5e6-96231b3b80d8

commit d48b9d36ce2411d9fb784811fa3479b434ec528a
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:32 2010 +0000

    Enable debug buffering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f48e8a93bed1a5d72096a27d7dc1561b47c3205
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:21 2010 +0000

    Enable debug buffering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 215fdbe5e0022bbfcafad1db0a2e1e5e039279f7
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:18 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92665 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6da905440f801558cb0d8c02b8006e09557c3c07
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:14 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 382d2a453480a0e7f6538e11b2d50c69e1a6e8f1
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:09 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92663 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0529d6db651b0a96d48cca38021e7bfaf5b2a43
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:06 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b306fece97e14dcdc4de5aea270666b25435532
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:04 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 529ac770e9009a1d9de97a61ff8d07822c121587
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:02 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92660 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0a29a72319f76ef7ed6a4f14a5bce833f077dc3
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:30:00 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92659 91177308-0d34-0410-b5e6-96231b3b80d8

commit faaddb09209ce9bb8f1a658f9cbb5f0d17e57e43
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:58 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92658 91177308-0d34-0410-b5e6-96231b3b80d8

commit f67089ae87e5f4296c88caa9bb019d26190efd2c
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:55 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cce0b1be6f65dc8f24824de8eb148aa405e76b6
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:39 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b37d570f100622830b7241a5eb243b9fff46184
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:36 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15337a687640c9c72d8432c2afdb97cc39d26d24
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:34 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c671aefc167ae8dbe46837005688c6c81327948
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:29 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67301b17b8350759c64aa5547fbe83f1baa60f6e
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:26 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 852dc4d82b4582ed260b39d67f6572796c080c0b
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:23 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 835365cac97924398689e0d69a671ac7b418c055
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:19 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56882e97c4e97a6e86d7d2a0d80d58777f87ab47
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:14 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73c006972f9bc3832d232f61959b743a189121b4
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:13 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92648 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1d5c5991760fc2994c124126fa74ab392c6d97a
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:08 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59b924335b7c0b1c5b17d981b4bf3148be8dd628
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:29:03 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52363b09d7378733ef5bd5590b756726800dbf4a
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:58 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92645 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5bedcbea0e754ae0ba67a59b53e27b8dbfdd331
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:53 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59a30016da3daa3f4695b20ab00488e7a9ae072d
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:52 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92643 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3efbfee970d7c1c6d2560c9b4be9c9de67b788a0
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:47 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ce5f8e7404a61aad3ac1bc59a56fb2a60ba5cbf
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:43 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a83d59f3668d34acac46c08cc033307ab4618c5
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:40 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ecd022a2e67c3c1794e8fe4ebc8f25c7d7f8da9
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:37 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92639 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd26a7de77554c3e38d88661013a77efc635ed32
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:32 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22c7c1119b22f529ef2b985877face5791b88829
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:29 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92637 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7d144c6fab0a60928503264f3baf4d17cfbdaa1
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:29 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2583a55dd3aebdacbbfd99603c13996b4cd3d8d0
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:22 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60bd5f7897b0d386d71a73844fd3883839821c5a
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:17 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4185b0fe17814035e6e28c5c0e93b182d23c9125
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:12 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92633 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a9a0690f376b5dfaecea0d6349cb59dd29c033
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:10 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92632 91177308-0d34-0410-b5e6-96231b3b80d8

commit adea762453eb41624f37e151d284fc20d3ea721c
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:07 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ceab92772248e28c3964b7c9245b679c72b23ae
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:07 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c9ab7a78ba28729d7c8098927c0bb7c8cc7fcd0
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:28:05 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92629 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61317a6a3789541b9dcd6341916ff31d51cc738f
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:59 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92628 91177308-0d34-0410-b5e6-96231b3b80d8

commit a088f76653c57e8157e6743ae486485dc63a47a9
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:54 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d91eb1ee673dc2eb83a82525475b2083efd81be
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:53 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92626 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1bc08c7f8e3a9959c33ff114ec3ad30af55b0d5
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:51 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64f3b3b649fefc065b7714c977d4360d459a4766
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:47 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0afa05d4487081749fd2f4a4ff2e16300a52d535
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:44 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92623 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79aa2ea6f0e98b1d6c832eaf0f44abbb23c116d5
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:39 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92622 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba58be830bb1c1b429cf85d401d8b92e66dc1329
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:39 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92621 91177308-0d34-0410-b5e6-96231b3b80d8

commit f25948108fbaecb985ab3a2fbbf7d9fa1916338e
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:33 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8892465cc5cfe8e6f279de9d6246430953e5d21a
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:30 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92619 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0011785b1d262783eda1dcdabac5a3581dc7c0f9
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:26 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9196a5558243d71d7ed72a838774896b43deff08
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:24 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92617 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35d99dcce0486fca2656a5d8eaa1cf5cc923c530
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:23 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92616 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd461df87ab202fcd702744b79511eaeaf66448b
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:21 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92615 91177308-0d34-0410-b5e6-96231b3b80d8

commit fac2751e262b8306477c6917daeb9ac789e49502
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:19 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79a83e8d8a7d451171e547edf4a0db10bbaf5cf0
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:17 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92613 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc227c754c5faa7c071e58f0d698e73eef797b28
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:15 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92612 91177308-0d34-0410-b5e6-96231b3b80d8

commit d21e9eeed93ebc545767c0376a7f1a175b4f4672
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:11 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92611 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3c9cb59fdf2754f6ff8000d7a5e36c527c504a9
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:09 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92610 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c4e1a2a7ace4fee36c8ba69f4151b95a6548944
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:06 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92609 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd7f741e59d004e03a265b2d7c8f712a62448c37
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:04 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92608 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3c7a47197bede65dccfa27ffa814326aba414d3
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:27:01 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92607 91177308-0d34-0410-b5e6-96231b3b80d8

commit c634876cea513c5a275b638287a51025be46a067
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:57 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92606 91177308-0d34-0410-b5e6-96231b3b80d8

commit e76939b714e55cb85990bcbc6b116374f41404fa
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:54 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 068c60489d7c516ea14920e63d19668c931868af
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:52 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57ed64508e31f5cbe84a9cf9d647bcf2a1b3c3d7
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:49 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92603 91177308-0d34-0410-b5e6-96231b3b80d8

commit a37114727346745e667dc003990e9afbd3747f88
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:45 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92602 91177308-0d34-0410-b5e6-96231b3b80d8

commit d91e136d7029b08fda45b8787f5072a8a1299f47
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:44 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7564d1640d9e6392eea3411c4225d223754abe2e
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:41 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0da7f3da989122349e5f88adec40a0f6fa289886
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:39 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92599 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2bbf04af3985f22c4c3a125c92944bc16c4f648
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 01:26:36 2010 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92598 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3dd58c22213899ccb75a7c2ca8aa231862c07f9
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:11 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 776d497ebe1a2f564e6347c9868068da15268760
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:09 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92596 91177308-0d34-0410-b5e6-96231b3b80d8

commit b47bdc31a4d95334741afd2f641e1689ebbc6b77
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:05 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c5fe44145e826545583d327163bb85117b8fab1
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:01 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92594 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4470f146b54d320ec487817e4d5b5db462360ee
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:26:00 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92593 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4629465b6f1e87f2def1f26daafef9920a32c2c2
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:58 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16fbd3d7b8f99053d375b33f3b59f6d0e0a62fef
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:55 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63a27d7d439ca535de3bae6c706bb7504fe98b3b
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:52 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92590 91177308-0d34-0410-b5e6-96231b3b80d8

commit e745659a1bda8c67da88fe675dc04a8e27f1925d
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:50 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92589 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d52f4500b8ff94b69c24667aab93162158443de
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:47 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92588 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d85752a7d4c66ac62cf4f2ba094020ee70935bf
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:45 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92587 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa4099eb1bf8ab16ba4a8036afd6f161e04ff9d1
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:43 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b268b9ca85f035ffabe5dc1ccbe38bba1a29148
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:41 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92585 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cddd05371227ebd98311b3f3c0f626023d38aab
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:39 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a0d2ab26242c7480217a853afed4028373dc137
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:20 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92583 91177308-0d34-0410-b5e6-96231b3b80d8

commit cea20bca449b5ea4a839ea4130fd121c300b9c92
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:15 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f2c44e41b585b295ffdbd6d3a2d9e00b62775fc
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:11 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92581 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3a4bf8ebe6d1dd90bb691a8d264bc202d662aa1
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:09 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92580 91177308-0d34-0410-b5e6-96231b3b80d8

commit c104cbb8edc6b851833b551ab17602ac71eebe49
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:04 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92579 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc886fd09a37b8afd503786f00f935a78f5913c8
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:25:00 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92578 91177308-0d34-0410-b5e6-96231b3b80d8

commit f622a561bec3cb20e445fd37689a92ecc2408e09
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:57 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c5590fb1ca3540b9ed2e5017810ac51a6c893c6
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:54 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92576 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2af6867e420ba87dc4dd29b01e69afab59bfd3c
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:53 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 943eb7e561156c187c8a8456aa5e0d08e20b8980
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:50 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92574 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0d039ffd114fa91fd4df22cd42842370e03cb59
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:48 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92573 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd5f499efa60f305850c1bad00b20404ca628aca
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:45 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3cfe335798a9942af1afab2dcda69cbebfde8994
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:43 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92571 91177308-0d34-0410-b5e6-96231b3b80d8

commit da0fe032fe1e3834cadb2731abf2c1065dd460d1
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:40 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34f085e22d9996fffa66ee1caed4371e86795d49
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:36 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92569 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac5c2b30d15893827c95c56698990b66e888edf6
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:34 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92568 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc4e392f43d93118dc0d90b38eb533fced2e714d
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:28 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95ce44444ab8457d0717ecc97cbc0e785f02094e
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:24 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92566 91177308-0d34-0410-b5e6-96231b3b80d8

commit a10627702f4fc7e0e503a8fbc23014da18fd91d8
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:21 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39d140d93435c1d47305d0b1c3b8db7b222b6222
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 01:24:18 2010 +0000

    Change SelectCode's argument from SDValue to SDNode *, to make it more
    clear what information these functions are actually using.

    This is also a micro-optimization, as passing a SDNode * around is
    simpler than passing a { SDNode *, int } by value or reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0596ab962e731ae23fa4c76b8597383ef6c55a01
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:24:08 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92563 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc82e7278d2eff71b8a47a5b7c8db31ee12b02b5
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:23:38 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c9fef71bd4164efec7f46046395b3395c8b3575
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:23:36 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92561 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4714553b53a495261b0ba92705b180368e141129
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 01:23:34 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aa30a282356389719971dbc7cdef10b8d2896e3
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Jan 5 01:10:40 2010 +0000

    Remove dead debug info intrinsics.
     Intrinsic::dbg_stoppoint
     Intrinsic::dbg_region_start
     Intrinsic::dbg_region_end
     Intrinsic::dbg_func_start
    AutoUpgrade simply ignores these intrinsics now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ac796828741a1b2c3e88fc075184a9db2bce949
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 00:44:20 2010 +0000

    Remove the SDNPAssociative properties for the flags-producing
    operators. Eli pointed out that it's not obvious what that
    would mean.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92555 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7f4c5fc8893cd5ec147dcfaecaf617800ee863d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 00:42:54 2010 +0000

    Simplify this code; avoid duplicating the low-level implementation code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92554 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7b35a5f21112194c360dacc622e24916eb38844
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Jan 5 00:30:22 2010 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92552 91177308-0d34-0410-b5e6-96231b3b80d8

commit f28809f180f22eb4192453cc4e0424f8cd41107d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Jan 5 00:15:58 2010 +0000

    Fix some struct/class specifier mismatches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92550 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3af787f06e5e1666cb524108809b64a51519e821
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 00:10:05 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92548 91177308-0d34-0410-b5e6-96231b3b80d8

commit b46fdc9d84af01acad41e371d1877bf45b1bdcdd
Author: David Greene <greened@obbligato.org>
Date:   Tue Jan 5 00:03:48 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7740668041ab6fd7315ca049a0d967ee3c264dc8
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 23:48:20 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92545 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd6aa515da7f9404f1fcc0c07b5c8ebd922639d2
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 23:39:17 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64fcd6ae4e3e5838f8954d5853031f96fbeb2565
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 23:22:07 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 186652ea7b671784c6987b4eb0a2f4e663f40fb9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jan 4 23:17:24 2010 +0000

    Update CMake LibDeps

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 935e55d50f4cab2e2ca15efc9951a2fb2bb04bc0
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 23:14:46 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58efec0df55ebc1ad60eb51aba2b2583cf3e55c8
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 23:06:47 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76a36035fa6480cc945fea7b020758102ec05149
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 4 23:04:36 2010 +0000

    Fix debug_inlined section entries for routines whose names are changed through __asm() extension.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84aab429d79955e5c13dfeaa210c7aaccaba44eb
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 23:02:10 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 652c5971b72c00ec4e753b1bdb56f80a95a8bbf5
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 22:49:02 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70a291d70d6285c6f0392e9a94c5c89e3f89db20
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 22:41:43 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92528 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0bf334e685123790b89f8bd1d4628a98d1a63b7
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 22:33:16 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55fa754fbdb50727509d61d3ef0ea39755eb40ca
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Jan 4 22:03:51 2010 +0000

    tblgen/OptParser: Use EmitSourceFileHeader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92521 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3d201c40d3cfd5f7c47db544d0163549b97cd73
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 22:02:01 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92520 91177308-0d34-0410-b5e6-96231b3b80d8

commit f398207f3eafa89375414ee8494a366040131cf9
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Jan 4 21:58:55 2010 +0000

    Fix CMake build for InstCombine changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92519 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43d49789c42281da24317ac5fe35aa570a787ec0
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 21:48:34 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c9becc2902dbbd23607546ffa8c3cfd10c7182e
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 21:35:15 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92516 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7948031039206fc69c92a63459b2937ec6918b4
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 21:26:07 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7908cbcbfbc70072231d2a4d3634455f4c3765a0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 21:23:34 2010 +0000

    Make this test more portable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92514 91177308-0d34-0410-b5e6-96231b3b80d8

commit f94a1da1ad4ccfab06440a63d4af16e2368da537
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Jan 4 21:22:48 2010 +0000

    Perform this folding as a target specific dag combine:
    (or (x << c) | (y >> (64 - c))) ==> (shld64 x, y, c)

    The isel patterns may not catch all the cases if general dag combine has reduced width of source operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92513 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca20adc5b0ede83ed94670f38cab04ed314266dd
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 21:00:54 2010 +0000

    Use a pointer type rather than MVT::Other for the ExternalSymbol node used
    in an inline asm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ded4e05a5295cb0f30fc9706bb9ed5c96b60bb8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:55:05 2010 +0000

    Remove some README.txt entries which are now implemented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92511 91177308-0d34-0410-b5e6-96231b3b80d8

commit 211f193cef4d20bfdda069634ca015a9c16570a4
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 4 20:54:06 2010 +0000

    Remove oversimplified test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92510 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78591841b67f381ad822f76c4d5ce99891688d22
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:53:54 2010 +0000

    Add some tests and update an existing test to reflect recent
    x86 isel peeps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e8173fa6f122ddc2680eb974f6618dfae1f3973
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:52:50 2010 +0000

    A use by operand 1 or 2 of a SELECT is not a FLAGS use. This
    lets the test-elimination work in more conditional-move cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92508 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfbbad61bac01130af80d78538d3753207debb29
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:51:50 2010 +0000

    Flags-producing add, and, or, etc. have the same profibility
    rules as normal add, and, or, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a3828c2f5f39d4cc8b911d98cb246ca2a9afeb2
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:51:05 2010 +0000

    Add SDNPCommutative and SDNPAssociative to several X86 target nodes.
    This lets isel fold loads into them in more cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92506 91177308-0d34-0410-b5e6-96231b3b80d8

commit a48781ef9f52fa184b38ff497ae0912d13c24c4d
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 4 20:44:00 2010 +0000

    Fix begin and end markers for nested scopes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b792c95e6d4e3139a92e1153685946f1b11f845
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:36:57 2010 +0000

    Replace some special-case code which probably was buggy with an assertion
    verifying that the special case does not occur.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92504 91177308-0d34-0410-b5e6-96231b3b80d8

commit cce9d29538cca89df73ca76b8bb7bbd065badf15
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 20:31:55 2010 +0000

    Remove the CPAttrParentAsRoot code, which is unused, and inconvenient
    for a refactoring I'm working on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 262378f0fe604903e98b8b9c696f7aa896f054c6
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 19:57:26 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c6ce780e77241207156775ca4e85489f5e5ff82
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Jan 4 19:41:13 2010 +0000

    The test, derived from optimzed IR, does not mention "bar" in debug info anywhere so the dwarf writer is not expected to emit any debug info for function "bar".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92499 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae758424789f1d19e87bd3d110177ec79271f960
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 19:36:42 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a28ffb27778158d230faa706ba627b3e41099f5
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 19:10:20 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92496 91177308-0d34-0410-b5e6-96231b3b80d8

commit c435b9e36e8ba86654d488d7c3de3caaaf6e0753
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 18:57:15 2010 +0000

    Truncate GEP indexes larger than the pointer size down to pointer size
    when doing this transform if the GEP is not inbounds.  No testcase because
    it is very difficult to trigger this: instcombine already canonicalizes
    GEP indices to pointer size, so it relies specific permutations of the
    instcombine worklist.

    Thanks to Duncan for pointing this possible problem out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92495 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1bb07aa0d9650f11d99de47f1cf9da531b45cac
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 18:48:26 2010 +0000

    silence a bogus 'might be used uninit' warning from GCC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f3bf4c5544c4857eebf61b1055dd90ef37c58c7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Jan 4 18:38:39 2010 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24f90acb9d46605228ee5448934c4c00f7f0b721
Author: David Greene <greened@obbligato.org>
Date:   Mon Jan 4 17:47:05 2010 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92490 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee898135b401794d095886f24f04b4bb42d3f25e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Jan 4 10:31:54 2010 +0000

    Fix invalid chain folding for memory variant of sdiv / udiv

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92472 91177308-0d34-0410-b5e6-96231b3b80d8

commit e800b08fb8273246ede9495efb76f51df5104755
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:59:07 2010 +0000

    move some more cast-related stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3529dd1d9672a47ba64c17314fcff8373bda8b8b
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Jan 4 07:55:25 2010 +0000

    80-col violations, trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b2e6feb96d027ae57c4e2c16d44c81794be97fe
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:54:59 2010 +0000

    move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92469 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bbb8a358a666d66fdbf6870abf3cc9b2ead186d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:53:58 2010 +0000

    split 943 lines of instcombine out to a new InstCombineCasts.cpp
    file.  InstructionCombining.cpp is now down to a svelte 9300 lines :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 004eae9138c629055b1d8f0c6a083cc7f64f7585
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:37:31 2010 +0000

    split instcombine of compares (visit[FI]Cmp) out to
    a new InstCombineCompares.cpp file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92467 91177308-0d34-0410-b5e6-96231b3b80d8

commit 078c8b595c346a58f13c995c56af11d61fdfd099
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:19:55 2010 +0000

    update cmakefile

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92466 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef9cadf1ac6f58ce9cfaff94783ecd41a888e79
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:17:19 2010 +0000

    move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K lines out of instcombine.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92465 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0108c8c925828fa1020f0b87abe9a2de4a0d972
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Jan 4 07:16:12 2010 +0000

    Fix the Emacs mode string.

    Also trailing whitespace & 80-col violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92464 91177308-0d34-0410-b5e6-96231b3b80d8

commit c737bae32e523f6e848986187bdd2a60a0d99461
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:12:23 2010 +0000

    split the instcombine class definition out to a header shared
    among the instcombine library.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 635eb0cb378a8abe8376fc4f6c75b6f9255d67ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 07:02:48 2010 +0000

    remove a ton of unneeded LLVMContext stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3de1b03506fa746783da702a4b2791b8aac5e66d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 06:30:00 2010 +0000

    move InstCombineWorklist out to its own header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92461 91177308-0d34-0410-b5e6-96231b3b80d8

commit b43a92358666cb00a5dfa7ec95197ba9c13a65c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 06:28:20 2010 +0000

    forgot to svn add these.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92460 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d4c5c1d1462a330aac5a9067153a20c50c1eb84
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 06:23:24 2010 +0000

    move instcombine to its own library, it's past time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92459 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1bad7405d2d9c24a1cfd27b0fa7938cd795b79b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Jan 4 06:03:59 2010 +0000

    implement an instcombine xform needed by clang's codegen
    on the example in PR4216.  This doesn't trigger in the testsuite,
    so I'd really appreciate someone scrutinizing the logic for
    correctness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92458 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3a3e6366fa8ad087d355e4e7508b3cd359dd7cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 3 18:33:18 2010 +0000

    fix PR5930, allowing the asmprinter to emit difference between
    two labels as a truncate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a0e9c64aa48fb1137b36930e90d20b744c2e3ab
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 3 18:14:24 2010 +0000

    it isn't safe to speculative load from a malloc, it might have
    returned null, and may not have been big enough in any case.
    Thanks to Jay Foad for pointing this out!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a30434516d58591e41031fcbe5122231f2dd74c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 3 18:10:58 2010 +0000

    add PR#

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32bf9d34a062d5039f8f14498ba0af061461b65b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 3 18:09:40 2010 +0000

    differences between two blockaddress's don't cause a
    global variable initializer to require relocations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30000569c3e23cd39bcdb419d8416935ffdf7c08
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 3 06:58:48 2010 +0000

    pull my debug hooks out, I'm done with this xform for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92446 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf48d8953d20dd801bd4eea038ea0b60e969e9a1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Jan 3 04:39:07 2010 +0000

    Small cleanups, refactor some duplicated code into a single method. No
    functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74136f9c91a8bc0f19e637e35a18d3f6487e5129
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Jan 3 03:03:27 2010 +0000

    generalize the previous transformation to handle indexing into
    arrays of structs and other arrays, so long as all the subsequent
    indexes are constants.  This triggers frequently for stuff like:

    @divisions = internal constant [29 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 2], [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2]], align 32 ; <[29 x [2 x i32]]*> [#uses=50]

    	  %623 = getelementptr inbounds [29 x [2 x i32]]* @divisions, i64 0, i64 %619, i64 0 ; <i32*> [#uses=1]
    	   %684 = icmp eq i32 %683, 999

    also for the "my_defs" table in 'gs', etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92444 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb77a9a904dea843a61ed8da02f44f6a91bb81cd
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Jan 3 00:55:31 2010 +0000

    Cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92436 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd10dc6d790610482dd8f95c28a19740df436244
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 22:08:28 2010 +0000

    teach instcombine to optimize idioms like A[i]&42 == 0.  This
    occurs in 403.gcc in mode_mask_array, in safe-ctype.c (which
    is copied in multiple apps) in _sch_istable, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92427 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0fc16e3f995888e1452b115a14a23cc49025ac4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 21:50:18 2010 +0000

    Teach the table lookup optimization to generate range compares
    when a consequtive sequence of elements all satisfies the
    predicate.  Like the double compare case, this generates better
    code than the magic constant case and generalizes to more than
    32/64 element array lookups.

    Here are some examples where it triggers.  From 403.gcc, most
    accesses to the rtx_class array are handled, e.g.:

    @rtx_class = constant [153 x i8] c"xxxxxmmmmmmmmxxxxxxxxxxxxmxxxxxxiiixxxxxxxxxxxxxxxxxxxooxooooooxxoooooox3x2c21c2222ccc122222ccccaaaaaa<<<<<<<<<<<<<<<<<<111111111111bbooxxxxxxxxxxcc2211x", align 32 ; <[153 x i8]*> [#uses=547]
       %142 = icmp eq i8 %141, 105
    @rtx_class = constant [153 x i8] c"xxxxxmmmmmmmmxxxxxxxxxxxxmxxxxxxiiixxxxxxxxxxxxxxxxxxxooxooooooxxoooooox3x2c21c2222ccc122222ccccaaaaaa<<<<<<<<<<<<<<<<<<111111111111bbooxxxxxxxxxxcc2211x", align 32 ; <[153 x i8]*> [#uses=543]
    	   %165 = icmp eq i8 %164, 60

    Also, most of the 59-element arrays (mode_class/rid_to_yy, etc)
    optimized before are actually range compares.  This lets 32-bit
    machines optimize them.

    400.perlbmk has stuff like this:

    400.perlbmk: PL_regkind, even for 32-bit:
    @PL_regkind = constant [62 x i8] c"\00\00\02\02\02\06\06\06\06\09\09\0B\0B\0D\0E\0E\0E\11\12\12\14\14\16\16\18\18\1A\1A\1C\1C\1E\1F !!!$$&'((((,-.///88886789:;8$", align 32 ; <[62 x i8]*> [#uses=4]
    	   %811 = icmp ne i8 %810, 33

    @PL_utf8skip = constant [256 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\04\04\04\05\05\05\05\06\06\07\0D", align 32 ; <[256 x i8]*> [#uses=94]
    	   %12 = icmp ult i8 %10, 2

    etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19e717578551af76c788b29bde533f88a918180e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 21:46:33 2010 +0000

    theoretically the negate we find could be in a different function, check
    for this case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92425 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a7a500993dfd7e3be5c44c7aef39b26ea338cc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 20:20:33 2010 +0000

    use enums for the over/underdefined markers for clarity.  Switch
    to using -2/-3 instead of -1/-2 for a future xform.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92423 91177308-0d34-0410-b5e6-96231b3b80d8

commit a357b8d54b0c57f6988e66b8fd3a813881f2095b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 20:07:03 2010 +0000

    remove the random sampling framework, which is not maintained anymore.
    If there is interest, it can be resurrected from SVN.  PR4912.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92422 91177308-0d34-0410-b5e6-96231b3b80d8

commit c325c5e72e737d4f1b5ab4595c378bf10358b8a7
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Jan 2 16:14:56 2010 +0000

    Fix logic error in previous commit. The != case needs to become an or, not an
    and.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fd66d7d2bbf26689ad9dd66c6bea5e9f4ed7f1c
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Jan 2 15:25:44 2010 +0000

    Optimize pointer comparison into the typesafe form, now that the backends will
    handle them efficiently. This is the opposite direction of the transformation
    we used to have here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92418 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea367cca5ae583d07c6df818167c6419fbabbc22
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 09:35:17 2010 +0000

    Generalize the previous xform to handle cases where exactly
    two elements match or don't match with two comparisons.  For
    example, the testcase compiles into:

    define i1 @test5(i32 %X) {
      %1 = icmp eq i32 %X, 2                          ; <i1> [#uses=1]
      %2 = icmp eq i32 %X, 7                          ; <i1> [#uses=1]
      %R = or i1 %1, %2                               ; <i1> [#uses=1]
      ret i1 %R
    }

    This generalizes the previous xforms when the array is larger than
    64 elements (and this case matches) and generates better code for
    cases where it overlaps with the magic bitshift case.

    This generalizes more cases than you might expect.  For example,
    400.perlbmk has:

    @PL_utf8skip = constant [256 x i8] c"\01\01\01\...
    %15 = icmp ult i8 %7, 7

    403.gcc has:
    @rid_to_yy = internal constant [114 x i16] [i16 259, i16 260, ...
    %18 = icmp eq i16 %16, 295

    and xalancbmk has a bunch of examples, such as
    _ZN11xercesc_2_5L15gCombiningCharsE and _ZN11xercesc_2_5L10gBaseCharsE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9780c03743bc6320d89d12b31cb1c84fd146da4f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 09:22:13 2010 +0000

    fix a miscompilation I introduced of cdecl with a late change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03b9facf565592cf62612707e7e3f2c74471527a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 08:56:52 2010 +0000

    enhance the compare/load/index optimization to work on *any* load
    from a global with 32/64 elements or less (depending on whether
    i64 is native on the target), generating a bitshift idiom to
    determine the result.  For example, on test4 we produce:

    define i1 @test4(i32 %X) {
      %1 = lshr i32 933, %X                           ; <i32> [#uses=1]
      %2 = and i32 %1, 1                              ; <i32> [#uses=1]
      %R = icmp ne i32 %2, 0                          ; <i1> [#uses=1]
      ret i1 %R
    }

    This triggers in a number of interesting cases, for example, here's an
    fp case:
    @A.3255 = internal constant [4 x double] [double 4.100000e+00, double -3.900000e+00, double -1.000000e+00, double 1.000000e+00], align 32 ; <[4 x double]*> [#uses=7]
    ...
    	   %7 = fcmp olt double %3, 0.000000e+00

    In this case we make the slen2_tab global dead, which is nice:
    @slen2_tab = internal constant [16 x i32] [i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3, i32 1, i32 2, i32 3, i32 1, i32 2, i32 3, i32 2, i32 3], align 32 ; <[16 x i32]*> [#uses=1]
    ...
    	   %204 = icmp eq i32 %46, 0

    Perl has a bunch of these, also on the 'Perl_regkind' array:
    @Perl_yygindex = internal constant [51 x i16] [i16 0, i16 0, i16 0, i16 0, i16 374, i16 351, i16 0, i16 -12, i16 0, i16 946, i16 413, i16 -83, i16 0, i16 0, i16 0, i16 -311, i16 -13, i16 4007, i16 2893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 372, i16 -8, i16 0, i16 0, i16 246, i16 -131, i16 43, i16 86, i16 208, i16 -45, i16 -169, i16 987, i16 0, i16 0, i16 0, i16 0, i16 308, i16 0, i16 -271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0], align 32 ; <[51 x i16]*> [#uses=1]
    ...
      %1364 = icmp eq i16 %1361, 0

    186.crafty really likes this on 64-bit machines, because it triggers on a bunch of globals like this:
    @white_outpost = internal constant [64 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\00\00\00\00\00\04\05\05\04\00\00\00\00\03\06\06\03\00\00\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00\00", align 32 ; <[64 x i8]*> [#uses=2]

    However the big winner is 403.gcc, which triggers hundreds of times, eliminating all the accesses to the 57-element arrays 'mode_class', mode_unit_size, mode_bitsize, regclass_map, etc.

    go 64-bit machines :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ebc5d61a24dc66f46dba1db0a6919fd6b21e581
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Jan 2 08:27:23 2010 +0000

    Forward -O0 to llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f441ad8ebfa73fa4994319f5b6f7e367b865a7d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Jan 2 08:27:10 2010 +0000

    Apparently, it is OK for -MT to be specified several times.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94955a8b4771ae14ff26b9afbb45cb7b3d011141
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 08:20:51 2010 +0000

    enhance the previous optimization to work with fcmp in addition
    to icmp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92412 91177308-0d34-0410-b5e6-96231b3b80d8

commit b84aa98afd5a02d8a26e6f38a842dc0cc6507c9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 08:12:04 2010 +0000

    Teach instcombine to fold compares of loads from constant
    arrays with variable indices into a comparison of the index
    with a constant.  The most common occurrence of this that
    I see by far is stuff like:

    if ("foobar"[i] == '\0') ...

    which we compile into: if (i == 6), saving a load and
    materialization of the global address.  This also exposes
    loop trip count information to later passes in many cases.

    This triggers hundreds of times in xalancbmk, which is where I first
    noticed it, but it also triggers in many other apps.  Here are a few
    interesting ones from various apps:

    @must_be_connected_without = internal constant [8 x i8*] [i8* getelementptr inbounds ([3 x i8]* @.str64320, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @.str27283, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8]* @.str71327, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8]* @.str72328, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @.str18274, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8]* @.str11267, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @.str32288, i64 0, i64 0), i8* null], align 32 ; <[8 x i8*]*> [#uses=2]
      %scevgep.i = getelementptr [8 x i8*]* @must_be_connected_without, i64 0, i64 %indvar.i ; <i8**> [#uses=1]
      %17 = load ...
      %18 = icmp eq i8* %17, null                     ; <i1> [#uses=1]
    -> icmp eq i64 %indvar.i, 7

    @yytable1095 = internal constant [84 x i8] c"\12\01(\05\06\07\08\09\0A\0B\0C\0D\0E1\0F\10\11266\1D: \10\11,-,0\03'\10\11B6\04\17&\18\1945\05\06\07\08\09\0A\0B\0C\0D\0E\1E\0F\10\11*\1A\1B\1C$3+>#%;<IJ=ADFEGH9KL\00\00\00C", align 32 ; <[84 x i8]*> [#uses=2]
      %57 = getelementptr inbounds [84 x i8]* @yytable1095, i64 0, i64 %56 ; <i8*> [#uses=1]
       %mode.0.in = getelementptr inbounds [9 x i32]* @mb_mode_table, i64 0, i64 %.pn ; <i32*> [#uses=1]
    load ...
       %64 = icmp eq i8 %58, 4                         ; <i1> [#uses=1]
    -> icmp eq i64 %.pn, 35             ; <i1> [#uses=0]

    @gsm_DLB = internal constant [4 x i16] [i16 6554, i16 16384, i16 26214, i16 32767]
    %scevgep.i = getelementptr [4 x i16]* @gsm_DLB, i64 0, i64 %indvar.i ; <i16*> [#uses=1]
    %425 = load %scevgep.i
    %426 = icmp eq i16 %425, -32768                 ; <i1> [#uses=0]
    -> false

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b7ce57f87d16a0acd0efbbbbd614985f65bc791
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 01:22:23 2010 +0000

    constant fold nasty constant expressions formed by llvm-gcc,
    wrapping up PR3351.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4091917ae511e97c66b4d94602b1aa3457205ab2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 00:31:05 2010 +0000

    remove the instcombine transformations that are inserting nasty
    pointer to int casts that confuse later optimizations.  See PR3351
    for details.

    This improves but doesn't complete fix 483.xalancbmk because llvm-gcc
    does this xform in GCC's "fold" routine as well.  Clang++ will do
    better I guess.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 910a778224f2b18bfadd8512345b17706d890f30
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 00:22:15 2010 +0000

    allow this to work on linux hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92407 91177308-0d34-0410-b5e6-96231b3b80d8

commit a746511144561cb5a56ae14096499a8dcdf5d10e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Jan 2 00:00:03 2010 +0000

    Teach codegen to handle:
     (X != null) | (Y != null) --> (X|Y) != 0
     (X == null) & (Y == null) --> (X|Y) == 0

    so that instcombine can stop doing this for pointers.  This is part of PR3351,
    which is a case where instcombine doing this for pointers (inserting ptrtoint)
    is pessimizing code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92406 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b9d28303feab3a9b0b446b189a3f23e8fff72a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 23:55:04 2010 +0000

    rename file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0903092e4877dcf99741ed478addd9d0afc57ec5
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 23:37:34 2010 +0000

    whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92404 91177308-0d34-0410-b5e6-96231b3b80d8

commit f54ff334cb53099a89446a32d22e37019825056a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 23:09:08 2010 +0000

    add a simple instcombine xform, simplify another one to use hasAllZeroIndices()
    instead of hand rolling a loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92403 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc872393bf81fa6b0a601c6d7b76d1f1fb3b9699
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 22:42:29 2010 +0000

    generalize the pointer difference optimization to handle
    a constantexpr gep on the 'base' side of the expression.
    This completes comment #4 in PR3351, which comes from
    483.xalancbmk.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f541cf11a4e334ce302282521bbab6605b2076d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 22:29:12 2010 +0000

    teach instcombine to optimize pointer difference idioms involving constant
    expressions.  This is a step towards comment #4 in PR3351.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92401 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6292bc182efcd6d4e11c2b52671f66f8935e712
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 22:12:03 2010 +0000

    use 'match' to simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34eb10d272168ccc1c93029279578cc5f02c3fa3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 18:34:40 2010 +0000

    implement the transform requested in PR5284

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46e577bf2a6280f34443ebe54086acc3dd98a20d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 04:41:36 2010 +0000

    Fix a warning on gcc 4.4.

    SelectionDAGBuilder.cpp:4294: warning: suggest explicit braces to avoid
    ambiguous ‘else’

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 480b7f806a23fc202d62c88d0841ebeed547f4e2
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 04:41:22 2010 +0000

    Trailing whitespace, 80-col violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 305344c00aad44f387608b0e55786a151f42840d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 04:41:10 2010 +0000

    Minor simplifactions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92393 91177308-0d34-0410-b5e6-96231b3b80d8

commit de321fd87cc67481b8605dafc7edf8b59e95bd3c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 04:40:54 2010 +0000

    Typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92392 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90837d9a6ecd25840dc9450638db4953b5a98e72
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 03:51:02 2010 +0000

    Make CheckForSuperfluousOptions handle list form of 'switch_on' correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92391 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ab87cfc39d712753f6d1f9c64d0a67e82744c7d
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 03:50:51 2010 +0000

    Minor simplifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9718696a5cd121422f7bb2aef2d704d005ad8205
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Jan 1 03:50:34 2010 +0000

    Better error message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92389 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6391637268da054569126bf1c0eee3a90e87a35a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 03:32:16 2010 +0000

    Teach codegen to lower llvm.powi to an efficient (but not optimal)
    multiply sequence when the power is a constant integer.  Before, our
    codegen for std::pow(.., int) always turned into a libcall, which was
    really inefficient.

    This should also make many gfortran programs happier I'd imagine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92388 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc7a9122a4566bf8ad1eb66dc22064fabda19f91
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 03:26:51 2010 +0000

    Make this more likely to generate a libcall.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92387 91177308-0d34-0410-b5e6-96231b3b80d8

commit c42f65a4032db2a448aaa7b85dff872c8955f1ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 01:54:08 2010 +0000

    add missing line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30095b482545296c2e4d1e25ca7f728104612e28
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 01:52:15 2010 +0000

    add a few trivial instcombines for llvm.powi.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92383 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2b7b735f3f8abaa67b644eb410c182c6c257304
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 01:29:26 2010 +0000

    update this.  To take the next step, llvm.powi should be generalized to work
    on integers as well and codegen should lower them to branch trees.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92382 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9174de49a24169a0d3d58b6378ec05dbb549060b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 01:13:15 2010 +0000

    When factoring multiply expressions across adds, factor both
    positive and negative forms of constants together.  This
    allows us to compile:

    int foo(int x, int y) {
        return (x-y) + (x-y) + (x-y);
    }

    into:

    _foo:                                                       ## @foo
    	subl	%esi, %edi
    	leal	(%rdi,%rdi,2), %eax
    	ret

    instead of (where the 3 and -3 were not factored):

    _foo:
            imull   $-3, 8(%esp), %ecx
            imull   $3, 4(%esp), %eax
            addl    %ecx, %eax
            ret

    this started out as:
        movl    12(%ebp), %ecx
        imull   $3, 8(%ebp), %eax
        subl    %ecx, %eax
        subl    %ecx, %eax
        subl    %ecx, %eax
        ret

    This comes from PR5359.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4aed2811219557774a7df9a86529c6d72280be50
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 00:50:00 2010 +0000

    test case we alredy get right.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fc5712a47212e229d5421c21100a3e5e3cc347f
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Jan 1 00:04:49 2010 +0000

    Remove old header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 680cc0add1cf3946bd625782d25e5116ae9b6749
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 00:04:26 2010 +0000

    clean up some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92377 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7d8b124af9cecb15576e155686447438f07122d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Jan 1 00:01:34 2010 +0000

    switch from std::map to DenseMap for rank data structures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49b38e9dc18b42fcb62e9e47729f8a2c349ba464
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Dec 31 23:40:17 2009 +0000

    Remove derelict serialization code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92374 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd7266b6fa5dafad5e578ce761995dda8263ba78
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 20:34:32 2009 +0000

    reuse negates where possible instead of always creating them from scratch.
    This allows us to optimize test12 into:

    define i32 @test12(i32 %X) {
      %factor = mul i32 %X, -3                        ; <i32> [#uses=1]
      %Z = add i32 %factor, 6                         ; <i32> [#uses=1]
      ret i32 %Z
    }

    instead of:

    define i32 @test12(i32 %X) {
      %Y = sub i32 6, %X                              ; <i32> [#uses=1]
      %C = sub i32 %Y, %X                             ; <i32> [#uses=1]
      %Z = sub i32 %C, %X                             ; <i32> [#uses=1]
      ret i32 %Z
    }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92373 91177308-0d34-0410-b5e6-96231b3b80d8

commit dabb5f7a839c6ffa02eba804d2ee257a849816ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 19:49:01 2009 +0000

    we don't need a smallptrset to detect duplicates, the values are
    sorted, so we can just do a linear scan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a14c94ff032c286735e3d51ad3716292eb02d9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 19:34:45 2009 +0000

    make reassociate more careful about not leaving around dead mul's

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92370 91177308-0d34-0410-b5e6-96231b3b80d8

commit b350027509cee7866483cd4c772c0ba585b81201
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 19:25:19 2009 +0000

    remove debug

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92369 91177308-0d34-0410-b5e6-96231b3b80d8

commit eef3d7ee13996d710f5af71a4a1791a7bfa64057
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 19:24:52 2009 +0000

    teach reassociate to factor x+x+x -> x*3.  While I'm at it,
    fix RemoveDeadBinaryOp to actually do something.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ecba488405762d5bdcb4cfceb50a14728bc9a5d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 18:40:32 2009 +0000

    change reassociate to use SmallVector for its key datastructures
    instead of std::vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92366 91177308-0d34-0410-b5e6-96231b3b80d8

commit a49b7bd78269db61b5905196c3a42687aa9ea684
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 18:18:46 2009 +0000

    change an if to an assert, fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87a70035c511a65fdf87d3c114669553ef70442d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 18:17:13 2009 +0000

    move the rest of the add optimization code out to OptimizeAdd,
    improve some comments, simplify a bit of code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35f374a80c2c56df08b8a86049b70c39cfa9aa6a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 17:51:05 2009 +0000

    factor statistic updating better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3866fd8b0928b0e2a81b931077fb42cc919206ec
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Dec 31 16:27:13 2009 +0000

    Silence compiler warning.

    warning: comparison between signed and unsigned integer expressions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92359 91177308-0d34-0410-b5e6-96231b3b80d8

commit f26331c710d7cb3dc5e2df5f599e0b439b2e0d2e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 08:33:49 2009 +0000

    simple fix for an incorrect factoring which causes a
    miscompilation, PR5458.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 432f8a4ede7b5b32887a2ae4c7f8cd822feb9de4
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 08:32:22 2009 +0000

    merge some more tests in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92353 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1d8cae5d7441a85b5138590f2a19e774efc5a14
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 08:29:56 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a8f839a3540ae2c6933fa8f850a51b95104e61d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 08:23:09 2009 +0000

    fix refactoro

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67ee6d8a18ce97db9a33a19ffe62c53b3bac264a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 07:59:34 2009 +0000

    factor code out into helper functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92347 91177308-0d34-0410-b5e6-96231b3b80d8

commit f854201455275fe4ec9b15b8bef96d515990b99f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 07:48:51 2009 +0000

    switch some std::vector's to smallvector.  Reduce nesting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92346 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4671c2dcae45396caa118cee1be30d21caac5f6
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 07:33:14 2009 +0000

    use more modern datastructures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92344 91177308-0d34-0410-b5e6-96231b3b80d8

commit eca6bc45daaff60fd301ddcb3c94f0810738f2ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 07:17:37 2009 +0000

    clean up -debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92343 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5f5a55bd2010c450ba3a648ad5e716c840ac606
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Dec 31 04:24:34 2009 +0000

    Document the edit-distance algorithm used in StringRef, switch it over
    to SmallVector, and add a unit test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92340 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a1c423fb9667a46973660d699e342f781ff0e1b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 03:02:42 2009 +0000

    this #include is ok.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92338 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05a0becaf20bf261a03929e63cb10c25a9172406
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 03:02:08 2009 +0000

    fix Analysis/DebugInfo.h to not include Metadata.h.  Do this
    by moving one method out of line and eliminating redundant checks
    from other methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42dfc1d91651da34013c8ae49382ca10961224ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 03:00:49 2009 +0000

    add some basic named MD tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92336 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf722229b32c21d5253ce611583938c1272f54de
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:33:14 2009 +0000

    use early exits to reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92335 91177308-0d34-0410-b5e6-96231b3b80d8

commit c216378f3e025eed5df082c89eb82b28be8e1f34
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:31:59 2009 +0000

    eliminate another copy of the mdnode printing logic, simplify the
    one that remains.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92334 91177308-0d34-0410-b5e6-96231b3b80d8

commit d256081f4440011f5cb24d08d5112ecf710869c9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:27:30 2009 +0000

    random tidying for MDNode printing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92333 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d7fac9a02beee58e15c60298a26f5f9670d15c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:23:35 2009 +0000

    eliminate a bunch of useless forwarding functions with one caller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f23f2e3d4679ea7a9b3f6a79ffbe6015ff95742
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:20:11 2009 +0000

    make mdnMap type safe, rename accessors for consistency with the rest of llvm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a1e1086cfb3e9daffc318b392bf82e2cc59f041
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:15:45 2009 +0000

    metadata can't be a global var initializer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92330 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1af981f1285805303100ba20190a3f9e9c4f4a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:13:35 2009 +0000

    simplify mdnode printing logic.  Now N->dump() only
    dumps one node instead of all of them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92329 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e50db19cd616dc6705d14b1f85dba6494ce0260
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 02:12:13 2009 +0000

    don't unittest mdnode printing, we have disassembler tests for this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92328 91177308-0d34-0410-b5e6-96231b3b80d8

commit d401bb57e7bc85c1c1e2170b3f66989b438246c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:54:05 2009 +0000

    unify two copies of the NamedMDNode printing code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92327 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4dd513c791f8a7dbd1ed28a455740f144d1f2a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:44:44 2009 +0000

    fix printing of function-local metadata to print all the operands of the
    mdnode, not just operand 0 over and over.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5828cf6c126f0f0c7fbc09fa1db040025598cc5e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:41:14 2009 +0000

    simplify printing of mdstring and Argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7811ce3c042b1e10bf9a92978a360ba64916dfc5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:36:50 2009 +0000

    simplify asmprinting of NamedMDNode

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92324 91177308-0d34-0410-b5e6-96231b3b80d8

commit a643a318f7a73ba97a66bd9bf68de4f7f19c1c7b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:32:41 2009 +0000

    Remove #include of metadata.h from intrinsicinst.h.  The only
    method that needs it (DbgValueInst::getValue) has been moved out
    of line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92323 91177308-0d34-0410-b5e6-96231b3b80d8

commit 782edc0ad4962d0f22679c264b9ad9aeb43495e5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:22:29 2009 +0000

    rename "elements" of metadata to "operands".  "Elements" are
    things that occur in types.  "operands" are things that occur
    in values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92322 91177308-0d34-0410-b5e6-96231b3b80d8

commit c79176153244447832fda44fc92602cb19c9da20
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 01:05:46 2009 +0000

    Optimize MDNode to coallocate the operand list immediately
    after the MDNode in memory.  This eliminates the operands
    pointer and saves a new[] per node.

    Note that the code in DIDerivedType::replaceAllUsesWith is wrong
    and quite scary.  A MDNode should not be RAUW'd with something
    else: this changes all uses of the mdnode, which may not be debug
    info related!  Debug info should use something non-mdnode for
    declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67735d43b803531f50ba62a14a19750f3509d640
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 31 00:51:46 2009 +0000

    tidy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92320 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0deeb1db6042913943e6b7d60cdd118ef2a9376
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 21:42:11 2009 +0000

    do not bother reuniquing mdnodes whose operands drop to null.  Doing
    so can be a huge performance issue when tearing down modules and mdnodes
    are not guaranteed to be unique anyway.  This speeds up:
    $ time ~/llvm/Release/bin/clang gcc.c -w -S -g

    from 72 to 35s, where gcc.c is from:
    http://people.csail.mit.edu/smcc/projects/single-file-programs/

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92315 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6729718c58b0778c48378d4a2f9e18778d396aa
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 20:25:09 2009 +0000

    remove some misleading comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92311 91177308-0d34-0410-b5e6-96231b3b80d8

commit e63a69745242ce18f887b374f0db666f0f778e4c
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 30 17:23:44 2009 +0000

    Implement edit distance for StringRef

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 205f53281b573f15e78ce49fdb0f700092ee977b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 06:00:36 2009 +0000

    remove some fixme's

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92304 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d0d3555fc441023a92a5a248e6f3d9a5b44a950
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:54:51 2009 +0000

    fix two bogus tests that the asmparser now rejects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 252f0e4c82322f10f0cf3e99b2faa00d9ed03f08
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:48:36 2009 +0000

    now that instruction metadata is only parsed in one place, eliminate the
    parser-global MDsOnInst vector and make ParseInstructionMetadata return
    its result by-ref through an argument like the entire rest of the parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92302 91177308-0d34-0410-b5e6-96231b3b80d8

commit c095b028825a29bad04e198523c3488e779d8c7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:44:30 2009 +0000

    reimplement ParseOptionalInfo as ParseOptionalCommaAlign, correctly
    handle the comma case for metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92301 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50bbd7c6b40c7c8a2f0f1f46302b805ff986a146
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:31:19 2009 +0000

    rename ParseOptionalCustomMetadata -> ParseInstructionMetadata,
    and make it non-optional.  This fixes the bug where we'd accept
    and ignore a spurious comma after some instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92300 91177308-0d34-0410-b5e6-96231b3b80d8

commit a834b598af65a2b754df36042a8e7f1886263836
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:27:33 2009 +0000

    convert 4 more instructions over.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92299 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0f5db5cb5246de5a9d8f25d81788e837b35398a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:23:43 2009 +0000

    add facilities to start factoring instruction metadata parsing
    out of each opcode's handler.  Change ret over so far.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92298 91177308-0d34-0410-b5e6-96231b3b80d8

commit a36628319feacb86df07dfc1ca6c5e05b764ba74
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:14:00 2009 +0000

    reimplement insertvalue/extractvalue metadata handling to not blindly
    accept invalid input.  Actually add a testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92297 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad53f269b62cd83bfa6caf79632016715c44536f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:04:46 2009 +0000

    remove two bogus calls that accepted metadata in the middle of insert/extract value
    *constant exprs*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 106ec003fa597a1634e0a8f20e7c466497ef04ac
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 05:02:06 2009 +0000

    rename NamedOrCustomMD -> MetadataVar to follow conventions of all the rest of the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92295 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7da8c1f859cb6e837e3a44ed6147a1bc4733857
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 04:56:59 2009 +0000

    rename lltok::Metadata -> lltok::exclaim.  We name tokens
    after their syntactic form, not their semantic form.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 321130761ffd8fb17d1e90824ed5f0711f15e8af
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 04:51:58 2009 +0000

    rename MetadataCache -> NumberedMetadata to follow the convention
    used by other things.  Convert it to a vector since it is a dense
    numbering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42913ca9f6a8786f8f0c6835e670402f7db5d165
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 04:42:57 2009 +0000

    rewrite ParseMDNodeVector to follow the normal patter used in the .ll parser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8859ed33bc71bf98ea6f8e162ee4359fa1744d94
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 04:15:23 2009 +0000

    rename ParseMDNode -> ParseMDNodeID, since it parses !42, not !{... } as you'd expect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92291 91177308-0d34-0410-b5e6-96231b3b80d8

commit e78c594690534be3d922f4c2f59ece9a7da1d186
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 04:13:37 2009 +0000

    fix parsing of mdstring values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92290 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5e601df8a3ed005307e6e1194a39446a98d1b83
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 02:20:07 2009 +0000

    remove the code added in r90497.  It has several major issues and no tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92288 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5a4e14fc3a40fe3a2843a2c0ae2587927677842
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 30 02:11:14 2009 +0000

    split t_Metadata into t_MDNode and t_MDString, eliminating some unsafe casting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92287 91177308-0d34-0410-b5e6-96231b3b80d8

commit da5298327ce62bd6d8327e24d5789b52902c4f60
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 22:40:21 2009 +0000

    factor code even more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92280 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5a95af25e0603970ceac878057d48682d7cdfed
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 22:35:39 2009 +0000

    simplify some code and unbreak the build by not consuming an
    extra token.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92279 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68c027ce120b4bb4fd519f9f710fe819b728698a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Dec 29 22:17:06 2009 +0000

    remove a really wrong parenthesis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92277 91177308-0d34-0410-b5e6-96231b3b80d8

commit e599a697b4098ccd98f8edc80b4c1503194a5c7e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 22:01:50 2009 +0000

    clean up some really strange code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d53e97911a01aa7278e301aa3ad41ec5de588df
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 21:53:55 2009 +0000

    change ParseMDString and ParseMDNode to take arguments of the right type.
    This exposed a raft of other problems, which I'll deal with in subsequent
    patches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92273 91177308-0d34-0410-b5e6-96231b3b80d8

commit 349e4075fbe75fccaa4e94296af269bcd9a866dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 21:43:58 2009 +0000

    switch to TrackingVH instead of WeakVH, since these can never
    be RAUW'd and go to null.  This also gets us some sorely lacking
    type safety.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92272 91177308-0d34-0410-b5e6-96231b3b80d8

commit af9ba478bc13ec6132d707b84d218daa8f26fc36
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 21:25:40 2009 +0000

    Each instruction is allowed to have *multiple* different
    metadata objects on them.  Though the entire compiler supports this,
    the asmparser didn't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24392c25bc8f9283a50d326eb2b5e9bc24416cb5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 21:17:33 2009 +0000

    Do not crash when .ll printing metadata that smells like debug info, but isn't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92268 91177308-0d34-0410-b5e6-96231b3b80d8

commit f272fd760f2a623eea02766fb1143f94746f3ca3
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 21:09:57 2009 +0000

    fix indentation, fit in 80 cols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 527d14b89e5dde3ec59e4431be4c102383d55edf
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Dec 29 16:57:26 2009 +0000

    Replace a few more SmallVectors with arrays.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92265 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7b0ebd1d27261cff8d0c0a0e20ab84d2da81ae8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Dec 29 11:04:52 2009 +0000

    Use an array instead of a SmallVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 457576ff0a03b6a73006b4202ae17304125e38c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 09:32:19 2009 +0000

    remove a bunch of unneeded functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92263 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49c94d990cc63b75b1a9a010d818c27ca2a779bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 09:22:47 2009 +0000

    major cleanups, much of this file was incorrectly indented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92262 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0aad044ccc2d58a1e5a3a704de3f2e85b46706a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 09:15:46 2009 +0000

    one pass of cleanup over DebugInfo.h.  Much more is still needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92261 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4d8577e32301f706cf33e6f9401b062870476ab
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 09:12:29 2009 +0000

    prune #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bba08039ac1edd35d89b5a7da3c06317b0a5a73
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 09:01:33 2009 +0000

    Final step in the metadata API restructuring: move the
    getMDKindID/getMDKindNames methods to LLVMContext (and add
    convenience methods to Module), eliminating MetadataContext.
    Move the state that it maintains out to LLVMContext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58d94d4250c8a42d3392e01c3dd9e108e1bc5791
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 08:06:56 2009 +0000

    just cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a21401bf89ad297f30839e65e5c09ad63073f85
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 08:03:58 2009 +0000

    remove useless argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92256 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5c30fec467ddaa595605058a29eae086ba5130c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 07:56:15 2009 +0000

    privatize another interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92255 91177308-0d34-0410-b5e6-96231b3b80d8

commit a361a085cb03ab1e951ed341cb3271a8f54f587e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 07:50:09 2009 +0000

    the only call to this function (from clang) has been removed, zap it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9924ee255336099ea7fc66ff6c98e8ce367db9f4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 07:44:16 2009 +0000

    remove some unneeded Metadata interfaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81ffc04666323d8fc0b1a831d63486436dec815f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 07:28:33 2009 +0000

    fix .cpp file to not wrap the entire file in namespace blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ae0692560544ab40362e7902db0d4933395c1b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 07:25:48 2009 +0000

    tidy up debug info comments, use ->isVoidTy() where reasonable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92249 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4a877b44e61d0e4f3a03219ab430f4c4fbaed94
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 07:12:03 2009 +0000

    sink twine.h down out of Value.h.  It is annoying that you need
    to #include Twine.h just to give a twine a default value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92247 91177308-0d34-0410-b5e6-96231b3b80d8

commit 260cabecaaba7c0ce020aab05f08062154205014
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Tue Dec 29 03:24:34 2009 +0000

    Extern declaration for unordered.f32 libcall was not being emitted. Fixed that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92242 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2394453af76b7e98b2574613a9af4523ae124805
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 02:53:52 2009 +0000

    When doing v1->RAUW(v2), don't do anything to metadata.  We don't know
    why one was replaced with the other.  Even in the specific case of
    debug information, it doesn't make sense to transfer the location over,
    this will just result in jumbled loc info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 809758b23bf141f89fc0e4bb46b16705babcb217
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 02:46:09 2009 +0000

    sink the Instruction::HasMetadata bit into SubclassData.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92240 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed71f551254a290c97860a7d8106a26905705dc4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 29 02:14:09 2009 +0000

    add a layer of accessors around the Value::SubClassData member, and use
    a convention (shadowing the setter with private forwarding function) to
    prevent subclasses from accidentally using it.

    This exposed some bogosity in ConstantExprs, which was propaging the
    opcode of the constant expr into the NUW/NSW/Exact field in the
    getWithOperands/getWithOperandReplaced methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92239 91177308-0d34-0410-b5e6-96231b3b80d8

commit d11da6df1ecf393f637674081b24a631417321ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 23:41:32 2009 +0000

    This is a major cleanup of the instruction metadata interfaces that
    I asked Devang to do back on Sep 27.  Instead of going through the
    MetadataContext class with methods like getMD() and getMDs(), just
    ask the instruction directly for its metadata with getMetadata()
    and getAllMetadata().

    This includes a variety of other fixes and improvements: previously
    all Value*'s were bloated because the HasMetadata bit was thrown into
    value, adding a 9th bit to a byte.  Now this is properly sunk down to
    the Instruction class (the only place where it makes sense) and it
    will be folded away somewhere soon.

    This also fixes some confusion in getMDs and its clients about
    whether the returned list is indexed by the MDID or densely packed.
    This is now returned sorted and densely packed and the comments make
    this clear.

    This introduces a number of fixme's which I'll follow up on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7006b38f3ae7c3b5a565ff924b729111807327eb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:56:07 2009 +0000

    rearrange some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 343d8d6a1128b42a9bb2ee6ad4c726cea1f3ae2e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:52:41 2009 +0000

    add IRBuilder.cpp to cmake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92233 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9f460d2376ae08b4897c2a16ce16523f3e079c6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:52:06 2009 +0000

    remove #include that comes in from ConstantFolder.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46c22854156dc4b4ec23dff224d977e2df55dda1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:50:56 2009 +0000

    remove #include of Function.h from IRBuilder

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b342015570ced985595ad672e1b2a63910caf76
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:45:40 2009 +0000

    move debug info stuff out of line, allowing two #includes
    to go away from IRBuilder.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24115ad0a861ee64d3e5ed72a54b3932174b2d39
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:28:46 2009 +0000

    split code that doesn't need to be templated out of IRBuilder into a new
    non-templated IRBuilderBase class.  Move that large CreateGlobalString
    out of line, eliminating the need to #include GlobalVariable.h in IRBuilder.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88b45f9bec26faf55292c7cb2b2dd13dbf2723ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 21:12:29 2009 +0000

    rename ivar to be more descriptive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68d0d0c2d9a9ceaf5d23d83d224235acba505245
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 20:45:51 2009 +0000

    rename getMDKind -> getMDKindID, make it autoinsert if an MD Kind
    doesn't exist already, eliminate registerMDKind.  Tidy up a bunch
    of random stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 093b1167ac64f42f6ac318d821f85c41bc8b2339
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 20:10:43 2009 +0000

    rename getHandlerNames to getMDKindNames, simplify its interface
    and simplify all the clients that use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92224 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf70eda2e1f91cc4a58435342d5d27db1405445f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 19:49:00 2009 +0000

    tidy up and delete a dead smallvector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26 15:20:54 +02:00
Török Edvin
ae1be98809 Update to LLVM upstream r92222.
Squashed commit of the following:

commit 4d06dfc51403e0e54eb688a3a9fb1839ea2136a6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Dec 28 12:27:56 2009 +0000

    Add missing include (for inline PATypeHolder::get).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92222 91177308-0d34-0410-b5e6-96231b3b80d8

commit e05a9ea766a0b81c710a044887cfc22d6f36a664
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 09:32:10 2009 +0000

    avoid a completely unneeded linear walk.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92221 91177308-0d34-0410-b5e6-96231b3b80d8

commit 104369f82cb166e9c446c3e844136811466916b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 09:24:53 2009 +0000

    Eliminate two bits of ugliness in MDNode::replaceElement:
    eliminate the temporary smallvector, and only do FindNodeOrInsertPos
    twice if the first one succeeds and we delete a node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92220 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7bbe9111b1caea1c424c73bbba6338eedd96d65
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 09:12:35 2009 +0000

    rearrange some methods, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92219 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc1d027f0654706031bf0e6d7c57ede4dfc41373
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 09:10:16 2009 +0000

    avoid temporary CallbackVH's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92218 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3716bc64a3ee906a6e40e6847ac915daa01e4919
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 09:07:21 2009 +0000

    Rewrite the function-local validation logic for MDNodes (most of r91708).
    Among other benefits, this doesn't leak the SmallPtrSet, has the verifier
    code in the verifier pass, actually does the verification at the end,
    and is considerably simpler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92217 91177308-0d34-0410-b5e6-96231b3b80d8

commit 894c992754b4095a0546181a0701674a3a696477
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:48:12 2009 +0000

    rename MDNode instance variables to something meaningful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92216 91177308-0d34-0410-b5e6-96231b3b80d8

commit a89d238baa1ac500515df35491d0c7480ec87bf0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:30:43 2009 +0000

    snip one more #include from Metadata.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92214 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ba716d8d60ff7b6e0e07bce48bcb68bcffa1388
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:26:43 2009 +0000

    prune #includes more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62a41720e49584820202799556c757518e23d3cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:24:16 2009 +0000

    prune some #includes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 749a4129c976d4895f231f0fbfddf9c54c17ac1b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:20:46 2009 +0000

    Metadata.h doesn't need to include ValueHandle.h anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92211 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c8fe40711f3cf363831d95a63322a5963233f0a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:14:54 2009 +0000

    change the strange MetadataContext::getMDs function to expose less
    irrelevant internal implementation details to clients.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92210 91177308-0d34-0410-b5e6-96231b3b80d8

commit febd655fa44c568fa3a80af56aed9955ff797157
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 08:07:14 2009 +0000

    change NamedMDNode to use a pimpl for its operand list instead
    of making it a declared part of the value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92209 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f465e4a2ed122934f187b6e0761c9268a200cb0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 07:57:01 2009 +0000

    eliminate the elem_* iterator stuff from NamedMDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92208 91177308-0d34-0410-b5e6-96231b3b80d8

commit da60d2e518af314a29eb38402e70a77b05fc5d32
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 07:41:54 2009 +0000

    move ElementVH out of the MDNode class into the MDNode.cpp file.  Among
    other things, this avoids vtable and rtti data for it being splatted in
    every translation unit that uses it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2df342071750e4ecc7dfec0fc108efd69967401d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 28 07:41:18 2009 +0000

    move these out of their own timer groups into the 'uncategorized' groups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f6dce81500015dbe2f7763bc88a74df9dc177f7
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Mon Dec 28 04:53:24 2009 +0000

    Fixed llc crash for zext (i1 -> i8) loads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92201 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f6348092dd3411c4bf41fb146945b6f5f387562
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Mon Dec 28 02:40:33 2009 +0000

    Allow targets to specify the return type of libcalls that are generated for floating point comparisons, rather than hard-coding them as i32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ab9372471bf169547c6c11eb1432d2c3fa06615
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 02:07:00 2009 +0000

    Mark variable used by 'assert' as 'unused'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e0224c4aa4b517723e2e950c00850422a7f083a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 02:05:36 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39dd182871d4a9068a18d8d84e63983fc3a9d256
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 02:04:53 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92196 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7e76f7cae0da2b59d8e6173723007f69a769f70
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 02:01:06 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83e5f56eb04727ac461cfa6354882bd9649f6f7f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 02:00:30 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0077d08de74578e474f611872454275c125a0656
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:57:39 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92193 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9c887a2902d05fa600b59ccda2b22f2af1ed76d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:54:15 2009 +0000

    Remove dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92192 91177308-0d34-0410-b5e6-96231b3b80d8

commit a18ebc30a2abf0fe66b55af79518ed8c4b06f7c6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:53:00 2009 +0000

    Remove dead store and simplify code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92191 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70ef837cf7e36be18d866d67bf374ed62a58f6fb
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:51:30 2009 +0000

    Remove dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92190 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6d452859e652c22b193c00abadb48aefc427ef4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:48:56 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96d90c5c9b8a19e5e4f902e28430353fda2a2dd0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:47:48 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92188 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a223745a9f77c21863ca8b2725836092b38977a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:44:39 2009 +0000

    Remove dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92187 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3e9be4e2bd703b642872ad835a93ebf79f8f465
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:42:12 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94fff552bffee0a421218b26f228ebd0d1f7a7d0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:41:12 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92185 91177308-0d34-0410-b5e6-96231b3b80d8

commit da097dc64ce517757c11b1345dab55dfa19bb14e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:36:02 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92184 91177308-0d34-0410-b5e6-96231b3b80d8

commit b537cbf815f7aa6a62504cb9b69ec0402a1313f5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:34:57 2009 +0000

    Mark some debug variables as 'unused' to quiet compiler and analyzer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92183 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc6c4ad2c7f1b207357abbe2f954c4df14b6f455
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:31:11 2009 +0000

    Remove dead store. The initial value was never used, but always overridden.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92182 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1e55ab7b75ee6d8bc8418f06b36fa77234276a8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:20:29 2009 +0000

    Add an "ATTRIBUTE_UNUSED" macro (and use it). It's for variables which are
    mainly used in debugging and/or assert situations. It should make the compiler
    and the static analyzer stop nagging us about them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89b41234a06c9062f112e6f9f9b2a0311c8166ff
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:02:21 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26af2111a96acb02a4f7dfa6815381a1979336eb
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:01:14 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92179 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8eb19339daa81669e709d65a479c1e837874a5b1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 28 01:00:12 2009 +0000

    Remove dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92178 91177308-0d34-0410-b5e6-96231b3b80d8

commit c53dde98400a169d8a2aee60fd9e9749a0f1de3f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 26 22:58:39 2009 +0000

    lit: Add setuptools support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92169 91177308-0d34-0410-b5e6-96231b3b80d8

commit c989d308a138180b0188cbe3d3c89497167a1a0b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 26 22:58:23 2009 +0000

    lit: Sink code into a 'lit' package.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 824050a388d1beb1428686ea886b1ea77d4dee94
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Dec 26 20:08:30 2009 +0000

    PR5886: Make sure IMUL32m is marked as setting EFLAGS, so scheduling doesn't
    do illegal stuff around it.  No testcase because the issue is very fragile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c5c0b12976c75ccdfd95a241525281e6061908c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 25 13:50:18 2009 +0000

    Avoid assigning to Changed when it won't be used after the return.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f0db31d8ee1ee48e20755a0fa6d4da5100aade2
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 25 13:45:50 2009 +0000

    Remove dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90cd35e334e96b73cb0e68b126377e8f65d519fc
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 25 13:44:36 2009 +0000

    Remove dead store from copy-pasto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92158 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5cc74ccc7b1398736393e1634fa1e37a22ea2c3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 25 13:39:58 2009 +0000

    Remove dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92157 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea340ea46c96dec8ba5dcb655474a3e811e956ca
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 25 13:37:27 2009 +0000

    Remove dead store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 220675b0f99b21cf7cb8a92f77d581708787ac3e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 25 13:35:40 2009 +0000

    Use the 'MadeChange' variable instead of returning 'false' all of the time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92155 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1c4df64381a1795a44ac6f6342a40b024fa07e1
Author: John McCall <rjmccall@apple.com>
Date:   Thu Dec 24 23:18:09 2009 +0000

    Implement support for converting to string at "natural precision", and fix some
    major bugs in long-precision conversion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9825c55a5a3a557c54c1af48bfb5954ddfbafc6c
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Dec 24 21:15:37 2009 +0000

    Move the two definitions of operator<< into namespace llvm, so they
    will be found by argument-dependent lookup. As with the previous
    commit, GCC is allowing ill-formed code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e69877669f44c5efd3b1f989aa32cdb362f3d27
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Dec 24 21:11:45 2009 +0000

    Define the new operator<< for sets into namespace std, so that
    argument-dependent lookup can find it. This is another case where an
    LLVM bug (not making operator<< visible) was masked by a GCC bug
    (looking in the global namespace when it shouldn't).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e573a9f0b82197ece967593d38d55799ada0572
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Dec 24 17:49:28 2009 +0000

    Don't emit trailing semicolon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92133 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08cdb8a64f60f7737892f16ccab52acd1057d8e1
Author: John McCall <rjmccall@apple.com>
Date:   Thu Dec 24 12:16:56 2009 +0000

    Substantially optimize APFloat::toString() by doing a single large divide to
    cut the significand down to the desired precision *before* entering the
    core divmod loop.  Makes the overall algorithm logarithmic in the exponent.

    There's still a lot of room for improvement here, but this gets the
    performance back down to acceptable-for-diagnostics levels, even for
    long doubles.
    negligible, even on long doubles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92130 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7d9cb2b8c27f4785f1d5a50a13fbb74b9a6e028
Author: John McCall <rjmccall@apple.com>
Date:   Thu Dec 24 08:56:26 2009 +0000

    Add accessors for the largest-magnitude, smallest-magnitude, and
    smallest-normalized-magnitude values in a given FP semantics.
    Provide an APFloat-to-string conversion which I am quite ready to admit could
    be much more efficient.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92126 91177308-0d34-0410-b5e6-96231b3b80d8

commit c77cc1794d1e2f70ad0b1b8ccd5e1661cd1c55c2
Author: John McCall <rjmccall@apple.com>
Date:   Thu Dec 24 08:52:06 2009 +0000

    Set Remainder before Quotient in case Quotient and LHS alias.  The new
    order should be immune to such problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92124 91177308-0d34-0410-b5e6-96231b3b80d8

commit f35785f5df44d1908b82d87c9edd3d2b93f84022
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Dec 24 01:10:43 2009 +0000

    Testcase for llvm-gcc checkin 92108.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d0ad3b99ec52705b0256dfd0421344511028b32
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 24 01:07:17 2009 +0000

    handle equality memcmp of 8 bytes on x86-64 with two unaligned loads and a
    compare.  On other targets we end up with a call to memcmp because we don't
    want 16 individual byte loads.  We should be able to use movups as well, but
    we're failing to select the generated icmp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d922b408462129adb924b960e81ac65077fab5a
Author: David Greene <greened@obbligato.org>
Date:   Thu Dec 24 00:39:02 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92099 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a34688bac4bb0ec549e82da03d912282d364492
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 24 00:37:38 2009 +0000

    move an optimization for memcmp out of simplifylibcalls and into
    SDISel.  This optimization was causing simplifylibcalls to
    introduce type-unsafe nastiness.  This is the first step, I'll be
    expanding the memcmp optimizations shortly, covering things that
    we really really wouldn't want simplifylibcalls to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55f2a677a444fb3db1cf6b679f261d242b8636d1
Author: David Greene <greened@obbligato.org>
Date:   Thu Dec 24 00:34:21 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 259191f8260ce170bac8eba3e221c35e93d2778e
Author: David Greene <greened@obbligato.org>
Date:   Thu Dec 24 00:31:35 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92096 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32c864e1d29d12c6156ce242458f4668e5acb211
Author: David Greene <greened@obbligato.org>
Date:   Thu Dec 24 00:27:55 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92094 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0e0771a5c8a082bffed6d4bcea8d6f41b186bfb
Author: David Greene <greened@obbligato.org>
Date:   Thu Dec 24 00:14:25 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 081d4ccced881523716f5017bf619546a2e7ab43
Author: David Greene <greened@obbligato.org>
Date:   Thu Dec 24 00:06:26 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92092 91177308-0d34-0410-b5e6-96231b3b80d8

commit b74668684da4ed870af49851ef26b0d526c77401
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:47:53 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a94535216c37f5c33a40b1a88a32a735077c3ff
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:38:28 2009 +0000

    Change errs() to dbgs().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92088 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff374c2b59fe114b6910a40285deed40230f1208
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:29:28 2009 +0000

    Change dbgs() back to errs() as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4151dd0bbf6a685586b8fecf4037a7a27456f944
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:27:15 2009 +0000

    Change dbgs() back to errs() as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5878b32788cee3c581890e775e1d8fcc8d55ccc5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 23 23:24:51 2009 +0000

    reorder to follow a normal fall-through style, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92084 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa3571123711181442ca28841946762622336a2b
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:23:15 2009 +0000

    Clarify how dbgs() operates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e0a6b7dfd1f5ea140018bf1e30f1924d0a1c87e
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:19:43 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 702481a81b95fed36e43478d719bf0f0deebd262
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:14:41 2009 +0000

    Change dbgs() back to errs() for assert messages as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6350f81d59920edcfd8b44ac6b66af0c7ff18113
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:09:39 2009 +0000

    Change dbgs() back to errs() for assert messages as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92080 91177308-0d34-0410-b5e6-96231b3b80d8

commit aeeb42419cc76d1fd44b1fe3fd4f4140ee2c3961
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 23 23:03:24 2009 +0000

    sizeof(char) is always 1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92079 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5fad3b9406fcfda51c31bd559edd61d7ef44d27
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 23:00:50 2009 +0000

    Change dbgs() back to errs() for assert messages as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92077 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfea7e628a030fc5f15cbdd757ff661b7d834fd8
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:59:29 2009 +0000

    Change dbgs() back to errs() for assert messages as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92076 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce4d5136399a6a07388495c762e294986895d926
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:58:38 2009 +0000

    Remove dump routine and the associated Debug.h from a header.  Patch up
    other files to compensate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 053e91a4308e9fa66c1af1a7019ce45c71606f28
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:49:57 2009 +0000

    Change dbgs() back to errs() as Chris requested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92073 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a32a9d73bc8035a13c6241433d6e70a2d4290fb
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:35:10 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9561c821ce2afaad4926e2830ed9f30cb27f29d7
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:28:01 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6778bc905cce16db6b5b1be049a42ad1e0c9fddb
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:18:14 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92067 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc874baf87b0799d6f6c576b718b33691d7259dd
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 22:10:20 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a47017353e6883b2484cc5811c72118fbbd404
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 21:58:29 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92063 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce32cf00cc1f35e1d4cc5e00d611bcde720ce9da
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 21:48:18 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01295bc07f8f0a55e3498827a5bfc3ee0a386f50
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Dec 23 21:34:03 2009 +0000

    Move kill flags when the same register occurs more than once in a sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a98a2f5a8b106b2abfcb2b1e8b6c2cb49311951
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Dec 23 21:28:42 2009 +0000

    Handle undef operands properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92054 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecae21aaf03469b5b0dd06b256425ae03a560b47
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Dec 23 21:28:37 2009 +0000

    Make insert position available to MergeOpsUpdate.
    Rearrange arguments.
    No functional changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92053 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07be4590c1626617747d7b7922e17273a73e4c17
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Dec 23 21:28:31 2009 +0000

    Perform kill flag calculations in new method. No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92052 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c119d7d49e4c86b04e942d8ae5ac8721e2ca9a4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Dec 23 21:28:23 2009 +0000

    Move repeated code to a new method. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92051 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07cc79a1623ca8414da9255543762abe8a8037d9
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 21:27:29 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ff267f2711ec600d9458749bef022b8a6476ab4
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 21:16:54 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92048 91177308-0d34-0410-b5e6-96231b3b80d8

commit a80ab14e95be6b6ea2c7fa2b57398b830fe6beb5
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 21:06:14 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00532a28dca9a915557626b73b4d089108ce85cb
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 20:52:41 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92042 91177308-0d34-0410-b5e6-96231b3b80d8

commit d120239be2123affddcadf85d9ce6cdf75e4f064
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 20:43:58 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92040 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad44e7d5a9e226bf9b3aa54763e83fc51273a969
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 20:34:27 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a60d180d7fe86436196abb37f8b767da07cd30d
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 20:20:46 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92037 91177308-0d34-0410-b5e6-96231b3b80d8

commit db4dd0d7e4a22a5c0ae0ca9970b649fc5ad0082a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 23 20:13:44 2009 +0000

    Remove an XFAIL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92036 91177308-0d34-0410-b5e6-96231b3b80d8

commit f17f28ba4b1067d125d577d52864810ef7733e61
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 20:10:59 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92035 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa7455dbb5c01cac91b9a254981cb381324a1b9f
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 20:03:58 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13e07bacee394735a7a604ffd4fdaf15b8384c95
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 19:51:44 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92033 91177308-0d34-0410-b5e6-96231b3b80d8

commit d02176108f777e643dd1b34e70675c3c3892fe21
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 19:45:49 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92032 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb782751a0a6c7f4997f8afc75124241b0a07f94
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 19:27:59 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92029 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8323720790f8a7b2ccb57d0ed927c406c7ada2ff
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 19:21:19 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92026 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9177c9c21f5bade02492fdb1b1cae0d772108f21
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 19:15:13 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92024 91177308-0d34-0410-b5e6-96231b3b80d8

commit 514e97429ecef0dd9f8a483e2dbe3dc8de47b73d
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 23 19:12:50 2009 +0000

    Alternative fix to make sure that the extern declarations used by
    DynamicLibrary::SearchForAddressOfSymbol refer to declarations in the
    global namespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92023 91177308-0d34-0410-b5e6-96231b3b80d8

commit afaefaaf3d83a920746492a48e70c7343f2df5e1
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 23 19:04:10 2009 +0000

    Revert 92020 until I figure out a more portable fix

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 852b0c0e84467eab2076b2014b54843b15b06b1e
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 23 18:56:27 2009 +0000

    Move the extern symbol declarations outside of
    DynamicLibrary::SearchForAddressOfSymbol and force them to have "C"
    linkage.

    Interestingly, GCC treats the block-scoped "extern" declarations we
    previously had as if they were extern "C" declarations (or, at least,
    were in the global namespace), so that GCC bug papered over this LLVM
    bug. Clang and EDG get the linkage correct; this new variant seems to
    work for both GCC and Clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92020 91177308-0d34-0410-b5e6-96231b3b80d8

commit a21b0c41a131b8eaf95cc441e519923a380ea19c
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 23 18:27:13 2009 +0000

    Fix another -Wmismatched-tags warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92017 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cc2dbba20994329d71739adc9e54d63e95f37a5
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 18:25:37 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92016 91177308-0d34-0410-b5e6-96231b3b80d8

commit a28b20c236ba2ec1c466f612a84c8b965f60ea81
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 17:55:11 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92013 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc8b5720c49dd593865b6ed1e18928e5e038000e
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Wed Dec 23 17:48:10 2009 +0000

    move a few more symbols to .rodata

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92011 91177308-0d34-0410-b5e6-96231b3b80d8

commit d25af07faae782ffd616b13b2d8dadd1e229a0f9
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 17:24:22 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2531b82af471667ff2ffcab9eb801b77f04ec0f6
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 17:18:22 2009 +0000

    Convert debug messages to use dbgs().  Generally this means
    s/errs/dbgs/g except for certain special cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92005 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa80e75a467dd54a9e2007f29ff99aa8fd42626d
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 23 17:05:07 2009 +0000

    Fix struct/class mismatch for LTOModule and LTOCodeGenerator, detected by Clang

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92004 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5efd48c6c7c43ed1d8eadb79c17260b15f472f38
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 23 17:03:46 2009 +0000

    De-bork CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92003 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb6f927871a16e14c3b78ec1382d75fe82197bd4
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 16:39:06 2009 +0000

    Provide dbgs(), a circular-buffering debug output stream.  By default it
    simply passes output to errs().  If -debug-buffer-size=N is set N > 0,
    dbgs() buffers its output until program termination and dumps the last N
    characters sent to it.  This is handy when debugging very large inputs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 825e4b5c9261d0c2ee58c5a771c1331fbfdc8885
Author: David Greene <greened@obbligato.org>
Date:   Wed Dec 23 16:08:15 2009 +0000

    Add circular_raw_ostream, which buffers its output in a circular queue
    and outputs it when explicitly flushed.  The intent is to use it in
    situations such as debug output logging where a signal handler can take
    care of flushing the buffer at program termination.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 236c4bde3fd5143cf9ea997a9863e4a3caaf9210
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Dec 23 12:50:03 2009 +0000

    Make it easier to regenerate docs when srcdir != objdir.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 388266107e740ca794485b3a585def2883956f6f
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Dec 23 12:49:51 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91999 91177308-0d34-0410-b5e6-96231b3b80d8

commit 509f9240d37ecbdcabf1d3157a6140322030706b
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Dec 23 12:49:41 2009 +0000

    Cosmetic issue: more consistent naming.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27d15f58084d6b25bdec9c65eacc2821cb1b9d73
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Dec 23 12:49:30 2009 +0000

    Allow (set_option SwitchOption, true).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bb804eb2f89c971a5860a6e0bb0f6f5d58a8ef7
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Dec 23 11:19:09 2009 +0000

    Reapply 91904.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f01e330bad7cb24d966bf9e51cfa8c4afbdb4d1
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Dec 23 10:56:02 2009 +0000

    Added missing patterns for subtract instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5316fa5d7262c48b511104e64664f7b8938a5d6b
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Dec 23 10:35:24 2009 +0000

    deleting empty file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 391ab2127fb765c0c3fedd0e8db7ac440524353e
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Dec 23 09:46:01 2009 +0000

    Reverting back 91904.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91993 91177308-0d34-0410-b5e6-96231b3b80d8

commit f81e44d0fe15207bd331798aee58a3c95c39a4b8
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Dec 23 07:32:51 2009 +0000

    Use more sensible type for flags in asms.  PR 5570.
    Patch by Sylve`re Teissier (sorry, ASCII only).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91988 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb2367dd4da70f93d7b83b41c6c00d857358b139
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Dec 23 02:51:48 2009 +0000

    Update objectsize intrinsic and associated dependencies. Fix
    lowering code and update testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25a9b18b58d5c85ad531ca50ac8e81acdf3ffd76
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 23 01:46:40 2009 +0000

    really remove the instruction, don't just comment it out

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91976 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e34f628addb0a70b0f28ada176693cd30f9349a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 23 01:45:04 2009 +0000

    completely eliminate the MOV16r0 'instruction'.  The only
    interesting part of this is the divrem changes, which are
    already tested by CodeGen/X86/divrem.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91975 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a8951e0e3247ddcfa1b0b4486cb77ceb1985a9a
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Dec 23 01:32:29 2009 +0000

    More fixes for Visual C++.  Replaced several very small
    static inline functions with macros.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef8bc9fb5cb8ea6d404809565bdc7088b85f948
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 23 01:30:26 2009 +0000

    stop pattern matching 16-bit zero's of a register to MOV16r0,
    instead use the appropriate subreggy thing.  This generates identical
    code on some large apps (thanks to Evan's cross class coalescing
    stuff he did back in july).  This means that MOV16r0 can go away
    completely in the future soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91972 91177308-0d34-0410-b5e6-96231b3b80d8

commit f70c94554077d2291b6867a2f24e1cd40f2337d1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 23 01:28:19 2009 +0000

    Remove superfluous SDNode ordering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2be082890768917e7360194b667a7fdb81b140b3
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Dec 23 00:58:02 2009 +0000

    Disable JITTest.FunctionIsRecompiledAndRelinked on ARM where it's not
    implemented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e5b9ec2b938c3eb3ef527f254d7200a720e351c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 23 00:47:20 2009 +0000

    Remove node ordering from inline asm nodes. It's not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91961 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac0bfeb8b0af333e4167dbe6e15ff335ce7b67e1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 23 00:45:10 2009 +0000

    Suppress compiler warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92b889c9eb3ea14a43dcc2ec7ee64d319a3156d3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 23 00:44:51 2009 +0000

    Remove node ordering from VA nodes. It's not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b4cefa1b947151b3f2178cf3aabec2642e7582b
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Dec 23 00:29:49 2009 +0000

    Update docs for bitcode changes. For object size checking we won't
    work with partial objects so just count the type as a boolean. Update
    appropriately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b000faeb29370a0c4cb395368f4d026b74c1db7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 23 00:28:23 2009 +0000

    Revert r91949 r91942 and r91936.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25ae075ab2194cfc445b001c65fa3bf73d65fa93
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Dec 23 00:18:40 2009 +0000

    restore 'make update' functionality by not ignoring 'clang' here

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91950 91177308-0d34-0410-b5e6-96231b3b80d8

commit b24f6e8dd614f6e99af0caeedcbb79160d09e09c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 23 00:05:09 2009 +0000

    Finish up node ordering in ExpandNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91949 91177308-0d34-0410-b5e6-96231b3b80d8

commit f55eba02e15f4dce951d3aef8e1e83c2c9fed762
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 22 23:54:54 2009 +0000

    Add coalescer asserts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91945 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6986e5d47b2c955e77994fb40bcd2f6c2f2038e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 22 23:54:44 2009 +0000

    Add a SPR register class to the ARM target.

    Certain Thumb instructions require only SP (e.g. tSTRspi).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91944 91177308-0d34-0410-b5e6-96231b3b80d8

commit daad0b43625ca69376938361b466ef42fbdd9776
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Dec 22 23:47:23 2009 +0000

    Partially revert r91626.  Materializing extra functions to determine whether
    they're available_externally broke VMKit, which was relying on the fact that
    functions would only be materialized when they were first called.  We'll have
    to wait for http://llvm.org/PR5737 to really fix this.

    I also added a test for one of the F->isDeclaration() calls which wasn't
    covered by anything else in the test suite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91943 91177308-0d34-0410-b5e6-96231b3b80d8

commit c969f4b0e7b5df3a854b3d41285a26dc34c4b855
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 23:44:56 2009 +0000

    Assign ordering to nodes created in ExpandNode. Only roughly 1/2 of the function
    is finished.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14a5e3e29709da3c3297a739a06127f367628bef
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Dec 22 23:18:18 2009 +0000

    Fix a crash in JIT::recompileAndRelinkFunction(). It doesn't pass the MCI
    argument to runJITOnFunction(), which caused a null pointer dereference at
    every call.

    Patch by Gianluca Guida!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ee0a9f4d4ac6941cb03bb0e9bd88520221a0b45
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 22:53:39 2009 +0000

    Assign ordering to SDNodes in PromoteNode. Also fixing a subtle bug where BSWAP
    was using "Tmp1" in the first getNode call instead of Node->getOperand(0).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7043d80affa413b00d8ec2e205e26772e29c2429
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Dec 22 22:51:40 2009 +0000

    Removed the "inline" keyword from the disassembler decoder,
    because the Visual C++ build does not build .c files as C99

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91935 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34879e45cd8129131ce21558aa92cc2f8876574d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 22:50:29 2009 +0000

    rename HexDisassembler -> Disassembler, it works on any input
    integer encoding (0123, 0b10101, 42, etc).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6913818399687ea52e6cce639dcf4e17fbd232c6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 22:47:43 2009 +0000

    just discard the debug output from the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70abd22a14353cb48d63cc24c311343ce2bb5a7a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Dec 22 22:37:23 2009 +0000

    Add testcase for PR5703

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91931 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc48d238c088e790bf368544b45ba3f43b632877
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 22 21:52:27 2009 +0000

    Remove minimal CFG sanity checks from verifier.

    These checks would often trigger on unreachable statements inserted by
    bugpoint, leading it astray.

    It would be nice if we could distinguish unreachable blocks from errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91923 91177308-0d34-0410-b5e6-96231b3b80d8

commit f040bcb2c5d8edb446938db365ad2cc031822a9b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 22 21:48:20 2009 +0000

    Allow explicit %reg0 operands beyond what the .td file describes.

    ARM uses these to indicate predicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 798c23dcf69e484ae19906869e940bc6b7872117
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 21:35:02 2009 +0000

    Allow 0 as an order number. Don't assign an order to formal arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91920 91177308-0d34-0410-b5e6-96231b3b80d8

commit b53da77b6aaf950b6a59166ddaa5541326c4e43b
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Dec 22 21:12:55 2009 +0000

    Fixes to the X86 disassembler:
    Made LEA memory operands emit only 4 MCInst operands.
    Made the scale operand equal 1 for instructions that have no
    SIB byte.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e2dadd738efd7725ad8de7e064c2d67384f7ed4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Dec 22 20:11:00 2009 +0000

    Restore snprintf weirdness for VCPP only

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91918 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42806e669ce6482a6268d64ab4d0b53c07ccea70
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 19:33:28 2009 +0000

    Fix the Convert to scalar to not insert dead loads in the store case.  The
    load is needed when we have a small store into a large alloca (at which
    point we get a load/insert/store sequence), but when you do a full-sized
    store, this load ends up being dead.

    This dead load is bad in really large nasty testcases where the load ends
    up causing mem2reg to insert large chains of dependent phi nodes which only
    ADCE can delete.  Instead of doing this, just don't insert the dead load.

    This fixes rdar://6864035

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91917 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0798ce7b64a048bb502c7cf954cd89484940e46
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 19:23:33 2009 +0000

    fix some fixme's by using twines

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91916 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd628a53c45c84a9b6058a26fb58ac8063d7f937
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 22 18:49:55 2009 +0000

    Use proper move instructions. Make the verifier happy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e4381a943076f3c22a07729e3e2fc528d13a369
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Dec 22 18:34:19 2009 +0000

    Report an error for bad inline assembly, where the value passed for an
    "indirect" operand is not a pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91913 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8420485b61d066ed0a876a35cf3098769e1905c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 22 17:47:23 2009 +0000

    Remove target attribute break-sse-dep. Instead, do not fold load into sse partial update instructions unless optimizing for size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c794cc4f30e9b35a9d2aec6f5b6e05dce42a2b7
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Dec 22 17:25:11 2009 +0000

    Include based on the current path, since we already -I the X86 target's path. Fixes CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91908 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3828a78a14f37cdf98db1a905ea51fdbd03a5b4
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Tue Dec 22 14:25:37 2009 +0000

    While converting one of the operands to a memory operand, we need to check if it is Legal and does not result into a cyclic dep.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dafc1537eed6c94009aca694090c5a7d280d1ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 07:03:21 2009 +0000

    specify what is invalid about it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b67a19c78e9d7936eedd0d607dd56a849a5ae88
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 07:01:12 2009 +0000

    specify a triple to use, fixing the test on non-x86-64 hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e0dc43e679050600081a316ea18a09d292d47e8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:58:29 2009 +0000

    reject invalid input with a caret, e.g.:

    simple-tests.txt:16:1: error: invalid instruction
    0xff 0xff
    ^

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91898 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf24dfc6ea2873cce92ad5c10e8ec8c26e4b40f1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Dec 22 06:57:14 2009 +0000

    Generalize SROA to allow the first index of a GEP to be non-zero.  Add a
    missing check that an array reference doesn't go past the end of the array,
    and remove some redundant checks for in-bound array and vector references
    that are no longer needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a30eb39c8801739c9a3cc139ea00a16d38140f9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:56:51 2009 +0000

    various cleanups, make the disassemble reject lines with too much
    data on them, for example:

    	addb	%al, (%rax)
    simple-tests.txt:11:5: error: excess data detected in input
    0 0 0 0 0
        ^

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91896 91177308-0d34-0410-b5e6-96231b3b80d8

commit e409a0ed6b8c66f9f4f0f3cef584af8d6dd013a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:45:48 2009 +0000

    If you thought that it didn't make sense for the disassembler
    to not produce caret diagnostics, you were right!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91895 91177308-0d34-0410-b5e6-96231b3b80d8

commit d57f7cd43e80255b87f213e58611407add7b335d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:37:58 2009 +0000

    rewrite the file parser for the disassembler, implementing support for
    comments.  Also, check in a simple testcase for the disassembler,
    including a test for r91864

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 713e9712579faccc6f8760586bf6cbb777c5e2ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:24:00 2009 +0000

    don't crash on blank lines, rename some variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d4f9105490cb5cad700f117ffa1b84c9a3e6b0a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:07:30 2009 +0000

    Implement PR5795 by merging duplicated return blocks.  This could go further
    by merging all returns in a function into a single one, but simplifycfg
    currently likes to duplicate the return (an unfortunate choice!)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91890 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d85a53fad48d627c6e4a17771ebcd46cfc4db6e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 06:04:26 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91889 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c85d89d85046de478b62c7448927db2e4b87121
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 04:47:41 2009 +0000

    don't run GVN at -O1, GCC doesn't do it's equivalent at that optimization level.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 873e26746bd3c642fbc9947a6dcf500c0995f3cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 04:25:02 2009 +0000

    The phi translated pointer can be computed when returning a partially cached result
    instead of stored.  This reduces memdep memory usage, and also eliminates a bunch of
    weakvh's.  This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x)
    on a different machine than earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91885 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf9d0f9154274adb84a66c0581dd9529f0b83ea1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 02:10:19 2009 +0000

    Add more plumbing. This time in the LowerArguments and "get" functions which
    return partial registers. This affected the back-end lowering code some.

    Also patch up some places I missed before in the "get" functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91880 91177308-0d34-0410-b5e6-96231b3b80d8

commit 919f267795692f9df06fef0ee620411534c819aa
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Dec 22 02:07:42 2009 +0000

    Changed REG_* to MODRM_REG_* to avoid conflicts
    with symbols in AuroraUX's global namespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91879 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42c4404dd4b7162b06f56fd82dc779b0b3d13837
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 22 01:41:37 2009 +0000

    Fix some may-be-uninitialized var warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16ded292991e3e288f1d9deb3e33a5268f1cd6fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 01:38:23 2009 +0000

    fix unit test that I broke.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91877 91177308-0d34-0410-b5e6-96231b3b80d8

commit b22e7af680a571467d80a6b5fd5661525010ded5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 01:25:10 2009 +0000

    Add SDNode ordering to inlined asm and VA functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7581e0c8ad813a3f6c6c0d357b7ced37ed3dfb67
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Dec 22 01:23:51 2009 +0000

    Whitespace fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91875 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1bed4b1cef55bb83753e34e0929c4b10bcc0074
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 01:17:43 2009 +0000

    types don't need atomic inc/dec, they are local to an llvmcontext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05a245f41d40f8be120b7d131a7ce16c17dc47d3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 01:11:43 2009 +0000

    Adding more assignment of ordering to SDNodes. This time in the "call" and
    generic copy functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91872 91177308-0d34-0410-b5e6-96231b3b80d8

commit a116e5e520689a75baf513fa8d2cba65e0be743a
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Dec 22 01:11:26 2009 +0000

    Fixed library dependencies between the X86 disassembler and
    X86 codegen that were causing circular symbol dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91871 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc86f8cc6c57cb3329675f4fc8ec868fed7a1fe1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 01:00:32 2009 +0000

    avoid calling extractMallocCall when it's obvious we don't have
    a call.  This speeds up memdep ~1.5%

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91869 91177308-0d34-0410-b5e6-96231b3b80d8

commit d42a013740b839251387f41e40bad6a80552dae8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 00:51:57 2009 +0000

    comment fix: weakvh -> tracking vh

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16c7988cb5516a7686c51c2387eb3eef3858893c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 00:50:32 2009 +0000

    Add ordering of SDNodes to LowerCallTo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91866 91177308-0d34-0410-b5e6-96231b3b80d8

commit 437f3c269851340bf66d9f5b64f04df846781e13
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 22 00:44:05 2009 +0000

    print pcrel immediates as signed values instead of unsigned so that we
    get things like this out of the disassembler:

    0x100000ecb: callq	-96

    instead of:

    0x100000ecb: callq	4294967200

    rdar://7491123

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b72641d65a254c01921e4f767003279383daba4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 00:40:51 2009 +0000

    Now add ordering to SDNodes created by the massive intrinsic lowering function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91863 91177308-0d34-0410-b5e6-96231b3b80d8

commit f406ec5e612f8958fb8ea7c6b5b129753b0b8064
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 22 00:12:37 2009 +0000

    To make things interesting, I added MORE code to set the ordering of
    SDNodes. This time in the load/store and limited-precision code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91860 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87476f66ef1998ff5d93a2cb413ba10a1413d21b
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Dec 22 00:11:50 2009 +0000

    Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint.
    This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c01aa9daf0ba64f48ab7c3ffe81a7c51b2006fa
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 23:47:40 2009 +0000

    Add more plumbing to assign ordering to SDNodes. Have the "getValue" method
    assign the ordering when called. Combine some of the ordering assignments to
    keep things simple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4137a8aa60914101aa1ad7f1a7dfe12c0b35607c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Dec 21 23:27:57 2009 +0000

    Add suggested parentheses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79479fcf0a878ea487fd745920c106d5c860a723
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 23:15:48 2009 +0000

    Add a fastpath to Load GVN to special case when we have exactly one dominating
    load to avoid even messing around with SSAUpdate at all.  In this case (which
    is very common, we can just use the input value directly).

    This speeds up GVN time on gcc.c-torture/20001226-1.c from 36.4s to 16.3s,
    which still isn't great, but substantially better and this is a simple speedup
    that applies to lots of different cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91851 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8d65d5bf97d41881148b3ce93f634a9ac3903ab
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 23:10:19 2009 +0000

    More ordering plumbing. This time for GEP. I need to remember to assign
    orderings to values returned by getValue().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91850 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe213dba0d5785b3dfa97a22f0d20aaf9982e3f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 23:04:33 2009 +0000

    refactor some code out to a new helper method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91849 91177308-0d34-0410-b5e6-96231b3b80d8

commit b702ceab37bdb90e32041f6ae1b5085a82abd4c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 22:43:03 2009 +0000

    improve indentation avoid a pointless conversion from weakvh to trackingvh,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91848 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a33d37c9f1e5ef0c7f5bcdb1c488540d42f3f67
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 22:42:14 2009 +0000

    Another incremental check-in for assigning ordering to SDNodes. This time for
    shuffle and insert vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91847 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef4620fe2846df5790119fd45e62e28f6f490b3e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 22:30:11 2009 +0000

    Assign ordering to more instructions. Incremental check-in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4852546f88da1386e3f36ad7c0e270f0798a3dea
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 21:59:52 2009 +0000

    - Add a bit more plumbing assigning an order to SDNodes.
    - Modify the "dump" method to emit the order of an SDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29296e63554a23d2e8a7ccc7c1b776dd52346e1c
Author: David Greene <greened@obbligato.org>
Date:   Mon Dec 21 21:21:34 2009 +0000

    Fix a bug in !subst where TableGen would go and resubstitute text it had
    just substituted.  This could cause infinite looping in certain
    pathological cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91843 91177308-0d34-0410-b5e6-96231b3b80d8

commit df70e60850a5c0b905cd23e84e44e677dc6c03e7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 21 20:19:37 2009 +0000

    Remove uber-gross hack. The define _snprintf to snprintf is invalid due to two reasons: 1. Accroding to C++ standard snprintf should be available in std namespace (and __gnu_cxx in case of GCC to). Such ifdef will change all snprintf's to _snprintf's, but won't bring snprintf to all necessary namespaces. Thus e.g. any locale-using code on mingw will yield an error (include this file + string to see the result) 2. MSVCRT's _snprintf does not comply with C99 standard. Standard one is snprintf.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38150fc924f6aa5ba056d738d8ecd75cbc4f8778
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 21 20:18:49 2009 +0000

    Mark FPW as allocable when frame address is taken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 708808ae99856d00af548177ea42e18d4ad32dc8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 19:59:38 2009 +0000

    First wave of plumbing for assigning an ordering to SDNodes. This takes care of
    a lot of the branching instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91838 91177308-0d34-0410-b5e6-96231b3b80d8

commit e35f67f9527538257e684574bdf21392be2c92bf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 21 19:53:39 2009 +0000

    Delete the instruction just before the function terminates for consistency sake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91836 91177308-0d34-0410-b5e6-96231b3b80d8

commit d58e7f8655f246d9bbda9ba4933e1906a5690dc8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 21 19:34:59 2009 +0000

    Place SDNodeOrdering.h in the directory it's used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91834 91177308-0d34-0410-b5e6-96231b3b80d8

commit 962018b8231c524caba670c9dd19427eafd6f1fd
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Dec 21 18:39:47 2009 +0000

    Remove special-case SROA optimization of variable indexes to one-element and
    two-element arrays.  After restructuring the SROA code, it was not safe to
    do this without adding more checking.  It is not clear that this special-case
    has really been useful, and removing this simplifies the code quite a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f5262f3ef1729d48a3e03f90192c053d27fa1e9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Dec 21 17:31:59 2009 +0000

    XFAIL these tests on powerpc, under the assumption that no one cares. If you care, feel free to fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c6ab9595c06e46bd1670ce7a0a52852d9ff669f
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Dec 21 08:15:29 2009 +0000

    Fix setting and default setting of code model for jit. Do this
    by allowing backends to override routines that will default
    the JIT and Static code generation to an appropriate code model
    for the architecture.

    Should fix PR 5773.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76f683191bd6137f9177dca4686ead7d6944981b
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Dec 21 08:03:16 2009 +0000

    A couple minor README updates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7abdd670070ff4c05b8e79c8d393b252e9cbf4d6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 07:52:40 2009 +0000

    improve compatibility with SWIG, patch by James Knight!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 860471ea8a2cf7e68285dd1351c51152518bd8e1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 07:45:57 2009 +0000

    revert r89298, which was committed without a testcase.  I think
    the underlying PHI node insertion issue in SSAUpdate is fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91821 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bf5b030a6357c2fb9ee937c0a7b907f9d995052
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 07:16:11 2009 +0000

    fix PR5837 by having SSAUpdate reuse phi nodes for the
    'GetValueInMiddleOfBlock' case, instead of inserting
    duplicates.

    A similar fix is almost certainly needed by the machine-level
    SSAUpdate implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91820 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8785545bcf2d1e861969bdf0cdc3c506abf7163
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 07:15:15 2009 +0000

    add a helper ctor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91819 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccdbd097759b1f3feaa10a39b7cc23341da58dbd
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Mon Dec 21 06:49:24 2009 +0000

    Change StringRef::startswith and StringRef::endswith to versions which are a
    bit more verbose, but optimize to much shorter code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91817 91177308-0d34-0410-b5e6-96231b3b80d8

commit f171d4bff6fe4500beb60a3525e2c1e3b76d46b7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 06:08:50 2009 +0000

    add check lines for min/max tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91816 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c88fd376d17c371454f88795bc0a6bb4b2e30e3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 06:06:10 2009 +0000

    really convert this to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91815 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ae148ac3895cc2204d32b84361bbebbb42384fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 06:03:05 2009 +0000

    give instcombine some helper functions for matching MIN and MAX, and
    implement some optimizations for MIN(MIN()) and MAX(MAX()) and
    MIN(MAX()) etc.  This substantially improves the code in PR5822 but
    doesn't kick in much elsewhere.  2 max's were optimized in
    pairlocalalign and one in smg2000.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ee8750e43a6c4fd3baf29b50ff2f5144161f7eb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 05:53:13 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91813 91177308-0d34-0410-b5e6-96231b3b80d8

commit eecd79c9182748a08fa05cb57b410f45a894432a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 04:04:05 2009 +0000

    enhance x-(-A) -> x+A to preserve NUW/NSW.

    Use the presence of NSW/NUW to fold "icmp (x+cst), x" to a constant in
    cases where it would otherwise be undefined behavior.

    Surprisingly (to me at least), this triggers hundreds of the times in
    a few benchmarks: lencode, ldecode, and 466.h264ref seem to *really*
    like this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2dce671f9422bce436c74ad48a2b964d08bf2af9
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 03:19:28 2009 +0000

    Optimize all cases of "icmp (X+Cst), X" to something simpler.  This triggers
    a bunch in lencode, ldecod, spass, 176.gcc, 252.eon, among others.  It is
    also the first part of PR5822

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91811 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd6df61746f769d9195f057199a9d16a215c2396
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 21 03:11:05 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e4b507f989730839d48a1ea77845b3a4d8b3aa9
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Dec 19 23:32:32 2009 +0000

    Fixed use of phi param in SlotIndex constructors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91790 91177308-0d34-0410-b5e6-96231b3b80d8

commit d452037790a4653227a51c854409e3a151d9ca3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Dec 19 21:29:22 2009 +0000

    fix an overly conservative caching issue that caused memdep to
    cache a pointer as being unavailable due to phi trans in the
    wrong place.  This would cause later queries to fail even when
    they didn't involve phi trans.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fade252c5089e35a484d16b67dc3193d4744590
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 19 21:27:30 2009 +0000

    CMake: Update lib deps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91786 91177308-0d34-0410-b5e6-96231b3b80d8

commit cae7a4ce386dd7b01264acd17fce0453ce671e66
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Dec 19 20:56:53 2009 +0000

    .llx is no more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91784 91177308-0d34-0410-b5e6-96231b3b80d8

commit d19bb92ed1e9b879ed5ad87ab0021bed0b21d1b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Dec 19 20:44:43 2009 +0000

    fix inconsistent use of tabs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91783 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70c75b50f227c44043294c642734da957925df59
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 19 18:58:49 2009 +0000

    Remove unused variable (noticed by clang++).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05e9f7410481592f66c6169923d903f9c592d3c4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 19 17:11:53 2009 +0000

    #if 0 out X86 disassembler for now, it is breaking the build in multiple places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bdef5b8ec8fd24804c3017e27417788d03c3e3b
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Dec 19 13:52:01 2009 +0000

    Emit direction operand in binary insns that stores in memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91777 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b40abc73cf4280ee01a3c40ecaab7834aa76796
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Dec 19 13:13:29 2009 +0000

    Adding a bunch of options to the mcc16 driver.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91776 91177308-0d34-0410-b5e6-96231b3b80d8

commit 333f2f2612d193b17a373c2643bf6033719e6998
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Sat Dec 19 12:07:00 2009 +0000

    rename dprintf to dbgpritnf, in order to fix build with glibc (which already defines dprintf in stdio.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91775 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6adb84d954dd57766b7f3dd1454dfe3e05f83b7
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Sat Dec 19 11:52:18 2009 +0000

    fix build and while at it remove a redudant include

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91774 91177308-0d34-0410-b5e6-96231b3b80d8

commit d31fb873f66238f8ccd0edd157b1451e83ad796e
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Dec 19 11:38:14 2009 +0000

    Test cases for changes done in 91768.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6758957e00103d5df70147ac3552efcf4a28c3b5
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Dec 19 08:26:25 2009 +0000

    1. In indirect load/store insns , the name of fsr should be emitted as INDF.
    2. include standard asmbly headers in generated asmbly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9731ea6739a2acc4c0b437f168dc6769f3808a98
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Sat Dec 19 07:05:23 2009 +0000

    Fix a bunch of little errors that Clang complains about when its being pedantic

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42becae4234059212beb68cfdd09ddf0e9ff7377
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Dec 19 07:01:15 2009 +0000

    fix PR5827 by disabling the phi slicing transformation in a case
    where instcombine would have to split a critical edge due to a
    phi node of an invoke.  Since instcombine can't change the CFG,
    it has to bail out from doing the transformation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91763 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b827d0d4b3e378a70b894d130235274c56d4697
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Dec 19 06:53:17 2009 +0000

    Update my SROA changes in response to review.
    * change FindElementAndOffset to return a uint64_t instead of unsigned, and
      to identify the type to be used for that result in a GEP instruction.
    * move "isa<ConstantInt>" to be first in conditional.
    * replace some dyn_casts with casts.
    * add a comment about handling mem intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91762 91177308-0d34-0410-b5e6-96231b3b80d8

commit e38b949bc7db6805bb2a77ca4d6068037cd8c2d5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 19 04:16:57 2009 +0000

    More bzero -> memset that I missed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91757 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6861faed9cba02c3a49b856a4e728dce8c1b651d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 19 04:16:48 2009 +0000

    Add missing newlines at EOF (for clang++).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 299fdcebe71c89b3fc73923b44c4f0a9169e340d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 19 03:31:50 2009 +0000

    Use memset instead of bzero, its more portable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91754 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7566a55acf4fe9a69ad17887fea806d846ba7e98
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Sat Dec 19 03:21:36 2009 +0000

    Remove spurious semicolon. Thanks, Clang

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a4f32c3c2eba982b658ac52f37f1d667960acea
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Dec 19 02:59:52 2009 +0000

    Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
    incarnations), integrated into the MC framework.

    The disassembler is table-driven, using a custom TableGen backend to
    generate hierarchical tables optimized for fast decode.  The disassembler
    consumes MemoryObjects and produces arrays of MCInsts, adhering to the
    abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).

    The disassembler is documented in detail in

    - lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
    - utils/TableGen/DisassemblerEmitter.cpp (table emitter)

    You can test the disassembler by running llvm-mc -disassemble for i386
    or x86_64 targets.  Please let me know if you encounter any problems
    with it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8

commit 232149a85f22b513b690ce6386cc8922b66b659b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Dec 19 02:04:23 2009 +0000

    Bump alignment requirements for windows targets to achieve compartibility with vcpp.
    Based on patch by Michael Beck!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91745 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a0bb8172b4327b725fd609028c9f8ceb8086d8d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Dec 19 02:04:00 2009 +0000

    Use 4-arg getVTList) variant instead of generic one, when possible

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91744 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3e53b706108ada456d24d6f2090b6a96b153569
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 19 01:47:13 2009 +0000

    Delete unused code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a1afd606983941b9db6a41029c238b2df0b520a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 19 01:46:34 2009 +0000

    Fix a spello in a comment that Nick spotted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cae1100652da2ac306c7b9d11446d8e4639b6d7
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 19 01:46:09 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09e76650fe1e6c21a06f0ef7f43b15c1f433e546
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Dec 19 01:38:42 2009 +0000

    Make some methods const.  The only interesting change here is that
    it changes raw_fd_ostream::preferred_buffer_size to return zero on
    a scary stat failure instead of setting the stream to an error state.
    This method really should not mutate the stream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28039a48aebce267d2472eb5e143f19c68354ac9
Author: John McCall <rjmccall@apple.com>
Date:   Sat Dec 19 00:55:12 2009 +0000

    Qualify a bunch of explicit template instantiations to satisfy clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91736 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb0624b1443a68698a41e40e479b6910e6a18a57
Author: John McCall <rjmccall@apple.com>
Date:   Sat Dec 19 00:51:42 2009 +0000

    Put TypesEqual and TypeHasCycleThroughItself in namespace llvm so ADL from
    the templates in TypesContext.h can find them.  Caught by clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91735 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3b3032dc132f8386dde8aa6ecbc6c8d92d35876
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Dec 19 00:05:07 2009 +0000

    Forgot forward declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91732 91177308-0d34-0410-b5e6-96231b3b80d8

commit f169e657ed99eca80912bd00c06489556091a826
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 23:42:08 2009 +0000

    Eliminate unnecessary LLVMContexts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a8afc0ed526b8b49af2c089ba600193f8b708c4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 18 23:32:53 2009 +0000

    Changes from review:

    - Move DisableScheduling flag into TargetOption.h
    - Move SDNodeOrdering into its own header file. Give it a minimal interface that
      doesn't conflate construction with storage.
    - Move assigning the ordering into the SelectionDAGBuilder.

    This isn't used yet, so there should be no functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a0bb8e3f58a6f09316801bcaf043d34b048605c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 23:18:03 2009 +0000

    Make this comment more precise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52cda8c8d86f40c6e2cab28f54367bf7c64ba804
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Dec 18 21:38:44 2009 +0000

    Fix an issue in googletest where a name was used before it was defined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91718 91177308-0d34-0410-b5e6-96231b3b80d8

commit d26b552b438a1b4ba2d60bbf715f0286aa22d780
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 18 21:31:31 2009 +0000

    Increase opportunities to optimize (brcond (srl (and c1), c2)).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a4a08546569962a0a1929d1eda9fd46bffbde75
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Dec 18 21:07:18 2009 +0000

    Fix gcc warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91715 91177308-0d34-0410-b5e6-96231b3b80d8

commit d59ead6cba177414008b14ccbab2d86cd1e8cf3f
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Dec 18 20:35:38 2009 +0000

    Catch more cases of a pointer being marked garbage twice. This helps when
    debugging some leaks (PR5770 in particular).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91713 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a3d620799aa212d3ef04231e0bace426cb4eb29
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 18 20:14:40 2009 +0000

    Reapply 91459 with a simple fix for the problem that broke the x86_64-darwin
    bootstrap.  This also replaces the WeakVH references that Chris objected to
    with normal Value references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91711 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6e122fd8ed8e60cc79a1fbaef1658fe5aca160a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 18 20:12:14 2009 +0000

    Fix another parallel make race condition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e7564c22ba1e674327fc5c92540bb67bedaf292
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Dec 18 20:09:14 2009 +0000

    Formalize MDNode's function-localness:
    - an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
    - function-localness is designated via lowest bit in SubclassData
    - getLocalFunction() descends MDNode tree to see if it is consistently function-local

    Add verification of MDNodes to checks that MDNodes are consistently function-local.
    Update AsmWriter to use isFunctionLocal().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91708 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80441befe44d1fc2d8c7c26536b4b0e582ccbcfd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Dec 18 19:59:48 2009 +0000

    Fix Win32 Path.inc for API update.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91706 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb4a07928cea4c2e4b9406665669c7062018280e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 18:45:31 2009 +0000

    Revert this use of NUW/NSW also. Overflow-undefined multiplication isn't
    associative either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91701 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd9dd2b40d94c3846795ed176ea5d3b641006625
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Dec 18 16:59:39 2009 +0000

    Fix libstdc++ build on ARM linux and part of PR5770.

    MI was not being used but it was also not being deleted, so it was kept in the garbage list. The memory itself was freed once the function code gen was done.

    Once in a while the codegen of another function would create an instruction on the same address. Adding it to the garbage group would work once, but when another pointer was added it would cause an assert as "Cache" was about to be pushed to Ts.

    For a patch that make us detect problems like this earlier, take a look at

    http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091214/092758.html

    With that patch we assert as soon and the new instruction is added to the garbage set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91691 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffb71a4733c04874b5d47320507eea7e6a083791
Author: Tilmann Scheller <tilmann.scheller@googlemail.com>
Date:   Fri Dec 18 13:00:34 2009 +0000

    Fix wrong frame pointer save offset in the 64-bit PowerPC SVR4 ABI.

    Patch contributed by Ken Werner of IBM!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91681 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2615b51f6c845fc7376f9bf3c773f5d1028e294
Author: Tilmann Scheller <tilmann.scheller@googlemail.com>
Date:   Fri Dec 18 13:00:15 2009 +0000

    Add support for calls through function pointers in the 64-bit PowerPC SVR4 ABI.

    Patch contributed by Ken Werner of IBM!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91680 91177308-0d34-0410-b5e6-96231b3b80d8

commit e931a13acc5d5dd31e3ec33ccc4b7438e8a5afca
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Dec 18 11:27:26 2009 +0000

    Make 'set_option' work with list options.

    This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"])

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91679 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21e40b731446c720069c0929bdfa590c946232a5
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Dec 18 08:22:35 2009 +0000

    Optimize icmp of null and select of two constants even if the select has
    multiple uses.  (The construct in question was found in gcc.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31d9e33e0d4b4b815ec6002aaab2f280d450c21a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 18 07:40:29 2009 +0000

    On recent Intel u-arch's, folding loads into some unary SSE instructions can
    be non-optimal. To be precise, we should avoid folding loads if the instructions
    only update part of the destination register, and the non-updated part is not
    needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks
    the partial register dependency and it can improve performance. e.g.

    movss (%rdi), %xmm0
    cvtss2sd %xmm0, %xmm0

    instead of
    cvtss2sd (%rdi), %xmm0

    An alternative method to break dependency is to clear the register first. e.g.
    xorps %xmm0, %xmm0
    cvtss2sd (%rdi), %xmm0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91672 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8a33c1c3ea5a45185dbfd0046b79c14f9821b4a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 03:57:04 2009 +0000

    Revert this use of NSW; this one isn't actually safe. NSW addition
    is not reassociative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91667 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7d9c3baf89ad6e2a3162daf524f1d4d4c9e9090
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 03:25:51 2009 +0000

    Eliminte unnecessary uses of <cstdio>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 532e3f52901265414842dbe21e106f9b32c5b182
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 03:10:26 2009 +0000

    Add utility routines for NSW multiply.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91664 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbe0132963a2021bcabd9fe92cd0b1c257614ab8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 02:58:50 2009 +0000

    Add utility routines for creating integer negation operators with NSW set.
    Integer negation only overflows with INT_MIN, but that's an important case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18256c45ce2016abbde91d2c738609dea2225561
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 02:14:37 2009 +0000

    Delete an unused variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91659 91177308-0d34-0410-b5e6-96231b3b80d8

commit eadde674855dc5d1e1bee25aa2c621d982b6d8d6
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Dec 18 02:12:53 2009 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 620156de509db9f3d1a1130c33c680e92b722b3a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 02:09:29 2009 +0000

    Preserve NSW information in more places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91656 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3099793f471d4ca8845cb922da8a7052bd2d619
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 18 01:59:21 2009 +0000

    Re-apply 91623 now that I actually know what I was trying to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91655 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf4c33d434849ca17d8624a77c56b94085d84954
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 01:24:09 2009 +0000

    Add Loop contains utility methods for testing whether a loop
    contains another loop, or an instruction. The loop form is
    substantially more efficient on large loops than the typical
    code it replaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36dcb6d0219b2c549638bddb9b8c6d46d9877406
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 01:20:44 2009 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91653 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb8c8533ea5b7e620324138fb647b1b968ff5cae
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 01:14:11 2009 +0000

    Whitespace cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91651 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa5054b14df7bdc8da0f9e20c771d7d3b599c8d9
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 01:05:06 2009 +0000

    Tidy up this testcase and add test for tailcall optimization
    with unreachable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91650 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc841d457d517cc8af00f08be3c7bdf803c1eb98
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 18 01:03:29 2009 +0000

    Handle ARM inline asm "w" constraints with 64-bit ("d") registers.
    The change in SelectionDAGBuilder is needed to allow using bitcasts to convert
    between f64 (the default type for ARM "d" registers) and 64-bit Neon vector
    types.  Radar 7457110.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82dff7d94faf98ea406305388528b0d459987172
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 01:02:18 2009 +0000

    Remove "tail" keywords. These calls are not intended to be tail calls.
    This protects this test from depending on codegen not performing the
    tail call optimization by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33922e093855021c4516c58b25d2a97321d7ec9f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 00:38:08 2009 +0000

    Don't pass const pointers by reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d6a53b925c6331b45c191fd1e8dfa4af3ce2fc8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 00:28:43 2009 +0000

    Update a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91645 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b781ff887e6ce97d55151debf0a6c91f4545344
Author: John McCall <rjmccall@apple.com>
Date:   Fri Dec 18 00:27:18 2009 +0000

    Pass the error string directly to llvm_unreachable instead of the residual
    (0 && "error").  Rough consensus seems to be that g++ *should* be diagnosing
    this because the pointer makes it not an ICE in c++03.  Everyone agrees that
    the current standard is silly and null-pointer-ness should not be based on
    ICE-ness.  Excellent fight scene in Act II, denouement weak, two stars.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91644 91177308-0d34-0410-b5e6-96231b3b80d8

commit e28a5aeb1044f710d929732875a68072d157fdb4
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Dec 18 00:11:44 2009 +0000

    Add test case for the phi reuse patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8eba23b792b47890c4d973ad6df31fdedfd25088
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 00:06:20 2009 +0000

    Reapply LoopStrengthReduce and IVUsers cleanups, excluding the part
    of 91296 that caused trouble -- the Processed list needs to be
    preserved for the livetime of the pass, as AddUsersIfInteresting
    is called from other passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2366772de3db53fc74f19a184140687c2ac7d9bf
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 18 00:03:58 2009 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91639 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10bd00cf60fd21ca257127ded9684b48aa22abc1
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Dec 18 00:01:26 2009 +0000

    Instruction fixes, added instructions, and AsmString changes in the
    X86 instruction tables.

    Also (while I was at it) cleaned up the X86 tables, removing tabs and
    80-line violations.

    This patch was reviewed by Chris Lattner, but please let me know if
    there are any problems.

    * X86*.td
    	Removed tabs and fixed 80-line violations

    * X86Instr64bit.td
    	(IRET, POPCNT, BT_, LSL, SWPGS, PUSH_S, POP_S, L_S, SMSW)
    		Added
    	(CALL, CMOV) Added qualifiers
    	(JMP) Added PC-relative jump instruction
    	(POPFQ/PUSHFQ) Added qualifiers; renamed PUSHFQ to indicate
    		that it is 64-bit only (ambiguous since it has no
    		REX prefix)
    	(MOV) Added rr form going the other way, which is encoded
    		differently
    	(MOV) Changed immediates to offsets, which is more correct;
    		also fixed MOV64o64a to have to a 64-bit offset
    	(MOV) Fixed qualifiers
    	(MOV) Added debug-register and condition-register moves
    	(MOVZX) Added more forms
    	(ADC, SUB, SBB, AND, OR, XOR) Added reverse forms, which
    		(as with MOV) are encoded differently
    	(ROL) Made REX.W required
    	(BT) Uncommented mr form for disassembly only
    	(CVT__2__) Added several missing non-intrinsic forms
    	(LXADD, XCHG) Reordered operands to make more sense for
    		MRMSrcMem
    	(XCHG) Added register-to-register forms
    	(XADD, CMPXCHG, XCHG) Added non-locked forms
    * X86InstrSSE.td
    	(CVTSS2SI, COMISS, CVTTPS2DQ, CVTPS2PD, CVTPD2PS, MOVQ)
    		Added
    * X86InstrFPStack.td
    	(COM_FST0, COMP_FST0, COM_FI, COM_FIP, FFREE, FNCLEX, FNOP,
    	 FXAM, FLDL2T, FLDL2E, FLDPI, FLDLG2, FLDLN2, F2XM1, FYL2X,
    	 FPTAN, FPATAN, FXTRACT, FPREM1, FDECSTP, FINCSTP, FPREM,
    	 FYL2XP1, FSINCOS, FRNDINT, FSCALE, FCOMPP, FXSAVE,
    	 FXRSTOR)
    		Added
    	(FCOM, FCOMP) Added qualifiers
    	(FSTENV, FSAVE, FSTSW) Fixed opcode names
    	(FNSTSW) Added implicit register operand
    * X86InstrInfo.td
    	(opaque512mem) Added for FXSAVE/FXRSTOR
    	(offset8, offset16, offset32, offset64) Added for MOV
    	(NOOPW, IRET, POPCNT, IN, BTC, BTR, BTS, LSL, INVLPG, STR,
    	 LTR, PUSHFS, PUSHGS, POPFS, POPGS, LDS, LSS, LES, LFS,
    	 LGS, VERR, VERW, SGDT, SIDT, SLDT, LGDT, LIDT, LLDT,
    	 LODSD, OUTSB, OUTSW, OUTSD, HLT, RSM, FNINIT, CLC, STC,
    	 CLI, STI, CLD, STD, CMC, CLTS, XLAT, WRMSR, RDMSR, RDPMC,
    	 SMSW, LMSW, CPUID, INVD, WBINVD, INVEPT, INVVPID, VMCALL,
    	 VMCLEAR, VMLAUNCH, VMRESUME, VMPTRLD, VMPTRST, VMREAD,
    	 VMWRITE, VMXOFF, VMXON) Added
    	(NOOPL, POPF, POPFD, PUSHF, PUSHFD) Added qualifier
    	(JO, JNO, JB, JAE, JE, JNE, JBE, JA, JS, JNS, JP, JNP, JL,
    	 JGE, JLE, JG, JCXZ) Added 32-bit forms
    	(MOV) Changed some immediate forms to offset forms
    	(MOV) Added reversed reg-reg forms, which are encoded
    		differently
    	(MOV) Added debug-register and condition-register moves
    	(CMOV) Added qualifiers
    	(AND, OR, XOR, ADC, SUB, SBB) Added reverse forms, like MOV
    	(BT) Uncommented memory-register forms for disassembler
    	(MOVSX, MOVZX) Added forms
    	(XCHG, LXADD) Made operand order make sense for MRMSrcMem
    	(XCHG) Added register-register forms
    	(XADD, CMPXCHG) Added unlocked forms
    * X86InstrMMX.td
    	(MMX_MOVD, MMV_MOVQ) Added forms
    * X86InstrInfo.cpp: Changed PUSHFQ to PUSHFQ64 to reflect table
    	change

    * X86RegisterInfo.td: Added debug and condition register sets
    * x86-64-pic-3.ll: Fixed testcase to reflect call qualifier
    * peep-test-3.ll: Fixed testcase to reflect test qualifier
    * cmov.ll: Fixed testcase to reflect cmov qualifier
    * loop-blocks.ll: Fixed testcase to reflect call qualifier
    * x86-64-pic-11.ll: Fixed testcase to reflect call qualifier
    * 2009-11-04-SubregCoalescingBug.ll: Fixed testcase to reflect call
      qualifier
    * x86-64-pic-2.ll: Fixed testcase to reflect call qualifier
    * live-out-reg-info.ll: Fixed testcase to reflect test qualifier
    * tail-opts.ll: Fixed testcase to reflect call qualifiers
    * x86-64-pic-10.ll: Fixed testcase to reflect call qualifier
    * bss-pagealigned.ll: Fixed testcase to reflect call qualifier
    * x86-64-pic-1.ll: Fixed testcase to reflect call qualifier
    * widen_load-1.ll: Fixed testcase to reflect call qualifier

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20ec3073cae13b5c8a1661dabdfdb97500e6e26c
Author: John McCall <rjmccall@apple.com>
Date:   Thu Dec 17 23:49:16 2009 +0000

    Sundry dependent-name fixes flagged by clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ca952ac3fa90cc373192bb96a3ddbdfd71f9f21
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Dec 17 23:45:18 2009 +0000

    Revert accidental commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91635 91177308-0d34-0410-b5e6-96231b3b80d8

commit af37dac175cdf3ea8698ecc653c0f4d978a352f0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Dec 17 23:42:32 2009 +0000

    Turn off critical edge splitting for landing pads. The introduction of a
    non-landing pad basic block as the successor to a block that ends in an
    unconditional jump will cause block folding to remove the added block as a
    successor. Thus eventually removing it AND the landing pad entirely. Critical
    edge splitting is an optimization, so we can safely turn it off when dealing
    with landing pads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91634 91177308-0d34-0410-b5e6-96231b3b80d8

commit b246171d0203ce94b4403d68fd8aa7eead2c998a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Dec 17 22:44:34 2009 +0000

    Revert r91623 to unbreak the buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91632 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf3381db96461b1fd215fae3feaf559e7aeb3f96
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Dec 17 22:42:29 2009 +0000

    Allow instcombine to combine "sext(a) >u const" to "a >u trunc(const)".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91631 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9bc1fde05ecc916e64ad0f39feb6c5d14fb5cfe4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Dec 17 21:35:29 2009 +0000

    Don't codegen available_externally functions.  Fixes http://llvm.org/PR5735.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 459ca567824a4f39cf8ad280401de1ec15d5bc2b
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Dec 17 21:27:47 2009 +0000

    Make the ptrtoint comparison simplification work if one side is a global.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91624 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe77cf2b9eda42bd7f805e0f1c853ffae9739c10
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 17 21:23:58 2009 +0000

    Remove an unused option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91623 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f109efcd44af6875cd87dc939bbcf2f6777ea9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 17 21:23:46 2009 +0000

    tabs -> spaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91622 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1ff2c77af0c898a7673f1ff16e8ecda1a443357
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Dec 17 21:07:31 2009 +0000

    Slightly generalize transformation of memmove(a,a,n) so that it also applies
    to memcpy. (Such a memcpy is technically illegal, but in practice is safe
    and is generated by struct self-assignment in C code.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15408333ed53187bf1c886db1756b38c9aac9c6d
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Dec 17 21:02:39 2009 +0000

    Make Path use StringRef instead of std::string where possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3da0d8c2d10e49cd7df0e2ba33247580dcf57645
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Dec 17 20:41:01 2009 +0000

    Temporarily revert 91337. It's causing testcase failures.

    $ svn merge -c -91337 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r91337 into '.':
    U    lib/CodeGen/AsmPrinter/DwarfException.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1898b53fca4fe2862b5404a3a80a802620060020
Author: Steve Naroff <snaroff@apple.com>
Date:   Thu Dec 17 20:39:34 2009 +0000

    Fix Windows build breakage...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91617 91177308-0d34-0410-b5e6-96231b3b80d8

commit afb4e48b3b1ab458736885d32d33ff550bb4a503
Author: Ken Dyck <cfe-commits@cs.uiuc.edu>
Date:   Thu Dec 17 20:09:43 2009 +0000

    Introduce EVT::getHalfSizedIntegerVT() for use in ExpandUnalignedStore() in
    LegalizeDAG.cpp. Unlike the code it replaces, which simply decrements the simple
    type by one, getHalfSizedIntegerVT() searches for the smallest simple integer
    type that is at least half the size of the type it is called on. This approach
    has the advantage that it will continue working if a new value type (such as
    i24) is added to MVT.

    Also, in preparation for new value types, remove the assertions that
    non-power-of-2 8-bit-mutiple types are Extended when legalizing extload and
    truncstore operations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91614 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfb5c54ba03e4b004314dfce5eeec919471a5fb9
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 17 20:00:21 2009 +0000

    finish cleaning up StructLayoutMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91612 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3c8e732244684983ee5f9526d71ae636d5823c0
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Dec 17 19:55:06 2009 +0000

    This fixes a memory leak in OpaqueType found by Google's internal heapchecker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 878ec1002b2f3232687cd932ef029b403b46feda
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Dec 17 19:07:19 2009 +0000

    Fix unused variable warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11f4e3ba76bd0cce3d9e4ad622c294b23b6c0db9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Dec 17 18:34:24 2009 +0000

    Re-revert 91459.  It's breaking the x86_64 darwin bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bbe84e28cb5f73f1a84c487086144b39b257358
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 17 18:03:12 2009 +0000

    Remove debugging code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a461bf3a0e2b3e4cffa9fd3130d5fbcfe1ada8e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Dec 17 17:18:11 2009 +0000

    Add more detail for getting started on Windows.

    Patch from jon.forums at gmail.com

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f7bbf56080ea6adfaeac4cea32a6934bfeb81ee
Author: Ken Dyck <cfe-commits@cs.uiuc.edu>
Date:   Thu Dec 17 15:31:52 2009 +0000

    In LowerEXTRACT_VECTOR_ELT, force an i32 value type for PEXTWR instead of
    incrementing the simple value type of the 16-bit type, which would give the
    wrong type if an intemediate MVT (such as i24) were introduced.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91602 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38e52386fcf379c1a97c557bf81c345fd1233a04
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 17 09:39:49 2009 +0000

    Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75192f45c3fe86b5afe94a303a0cbbe0dbed923c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Dec 17 07:49:26 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 098d20a0ba341dd7f3db8ffbf3ec908fb60b0be1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Dec 17 07:49:16 2009 +0000

    Add a 'set_option' action for use in OptionPreprocessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91594 91177308-0d34-0410-b5e6-96231b3b80d8

commit 410ace8ad7a9495dc9ab4a111bc220426ecf17fd
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Dec 17 07:48:49 2009 +0000

    Refactoring, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91593 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bd5523d989fddfb885d2b4c33058530919b21af
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Dec 17 07:48:34 2009 +0000

    s/TokenizeCmdline/TokenizeCmdLine/

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c3da9b61ecc4532780f2503832dd9f1e18f4130
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Thu Dec 17 06:35:17 2009 +0000

    Update CMake build to include HexDisassembler.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91589 91177308-0d34-0410-b5e6-96231b3b80d8

commit a06cd190d48a95b42f2226fb6bcfbe263ffc2dc3
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Thu Dec 17 06:07:04 2009 +0000

    Aggressively flip compare constant expressions where appropriate; constant
    folding in particular expects null to be on the RHS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91587 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c06eac1ead1ee19d5da7f6244fc1eba2ca17240
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Dec 17 05:07:36 2009 +0000

    Fix a comment grammaro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91584 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1d966ed5e666c21c6bef2178778f11b006e8211
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Dec 17 05:05:36 2009 +0000

    BIT_CONVERT nodes are used for vector types, too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72af3d737fd75f62999dec911911103f41aba75a
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Dec 17 01:49:59 2009 +0000

    Test harness for the LLVM disassembler.  When invoked
    with -disassemble, llvm-mc now accepts lines of the
    form
    0x00 0x00
    and passes the resulting bytes to the disassembler for
    the chosen (or default) target, printing the result.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91579 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d8baee6a05ca3383f39a5745c3c93aeb09aa749
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 17 00:40:05 2009 +0000

    Revert this dag combine change:
    Fold (zext (and x, cst)) -> (and (zext x), cst)

    DAG combiner likes to optimize expression in the other way so this would end up cause an infinite looping.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91574 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ae68e420a7fd0e4bc77674860a3d2fb619a3b15
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Dec 16 23:36:52 2009 +0000

    Renamed "tCMNZ" to "tCMNz" to be consistent with other similar namings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91571 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0be22d12589480b482126c2d8eb816a9590d54d8
Author: John McCall <rjmccall@apple.com>
Date:   Wed Dec 16 20:31:50 2009 +0000

    Silence a clang warning about the deprecated (but perfectly reasonable in
    context) increment-of-bool idiom.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91564 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3fc6a97363135cc1bf0f825a2424b1faf53eb26
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 16 20:10:05 2009 +0000

    Reapply r91392, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c9fe58fab7095cbd17c99970631f5c3c9044a94
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 16 20:09:53 2009 +0000

    Reapply r91459, it was only unmasking the bug, and since TOT is still broken having it reverted does no good.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91559 91177308-0d34-0410-b5e6-96231b3b80d8

commit 724d7a167ac9c576db2e9217adfbee9ac8cd7b24
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Dec 16 19:44:06 2009 +0000

    Mark STREX* as earlyclobber for the success result register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91555 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef786f2f846f89ff2675dd29e74c517d24db0d24
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Dec 16 19:43:02 2009 +0000

    Add @earlyclobber TableGen constraint

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e7896b88c383b5c64ddf574995fbafb4105884c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 16 19:36:42 2009 +0000

    Remove superfluous 'extern' variable that was causing a warning with clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91552 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87450c87ff52d57481df9e6263f9a1b68cc8005a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Dec 16 18:55:53 2009 +0000

    Reuse lowered phi nodes.

    Tail duplication produces lots of identical phi nodes in different basic
    blocks. Teach PHIElimination to reuse the join registers when lowering a phi
    node that is identical to an already lowered node. This saves virtual
    registers, and more importantly it avoids creating copies the the coalescer
    doesn't know how to eliminate.

    Teach LiveIntervalAnalysis about the phi joins with multiple uses.

    This patch significantly reduces code size produced by -pre-regalloc-taildup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 903dc204e38ab5efaef573815ac96a6c2028c495
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 16 11:38:03 2009 +0000

    Fix one more missing this-> to placate that picky clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91536 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53dee55036da98a51831d75dfc9f704a91cd5f48
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 16 10:56:17 2009 +0000

    Revert "Reapply 91184 with fixes and an addition to the testcase to cover the
    problem", this broke llvm-gcc bootstrap for release builds on
    x86_64-apple-darwin10.

    This reverts commit db22309800b224a9f5f51baf76071d7a93ce59c9.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91534 91177308-0d34-0410-b5e6-96231b3b80d8

commit e95e6c2b9690abed80c74de593f537d230318a98
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 16 10:56:02 2009 +0000

    Revert "Initial work on disabling the scheduler. This is a work in progress, and
    this", this broke llvm-gcc bootstrap for release builds on
    x86_64-apple-darwin10.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 325984d0b8274e8b0b891df078f74f8330a24a2e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 09:32:05 2009 +0000

    reapply my strstr optimization.  I have reproduced the x86-64 bootstrap
    miscompile (i386.o miscompares) but it happens both with and without
    this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91532 91177308-0d34-0410-b5e6-96231b3b80d8

commit a967657dbc081c7a72a734688e073bead60492f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 09:17:12 2009 +0000

    fix more missing this->'s to placate clang++

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1306a7b58af44ff7d4d3d55fb55f05d90dc17b51
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 09:09:54 2009 +0000

    Fix a missing this-> that clang++ notices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91530 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb29769774962df2dcb7a31f8bd158a0f6871ceb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 08:44:24 2009 +0000

    now that libsystem no longer uses SmallVector, we can move
    SmallVectorBase::grow_pod out of line, finally satisfying PR3758.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91529 91177308-0d34-0410-b5e6-96231b3b80d8

commit a01522ef1c2bb894f01f20481aeec71b41760c2a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 08:40:44 2009 +0000

    remove use of SmallVector from Path::makeUnique.  Path::makeUnique
    is not used by anything performance sensitive, so just use std::string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75d7b5b99547063514152db411a60befc99f5302
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 08:35:54 2009 +0000

    eliminate an extraneous use of SmallVector in a case where
    a fixed size buffer is perfectly fine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91527 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ab8c0e1d42d4ee44349b7b1f51e5130b9c12530
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 08:34:40 2009 +0000

    factor out the grow() method for all pod implementations into one
    common function.  It is still an inline method, which will be fixed next.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91526 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd44d1b21d8f77f7d3015d258383337dc6646780
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Dec 16 08:10:57 2009 +0000

    Use different name for argument and field

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91524 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9e74f2cb039a0d6581861171f4c7f42d0880f25
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 08:09:23 2009 +0000

    pull destroy_range and uninitialized_copy up to the
    SmallVectorTemplateBase class, which allows us to statically
    dispatch on isPodLike instead of dynamically.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91523 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8d02743d04afde76e9bfa7ba918911f40a9b1cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 08:05:48 2009 +0000

    sink most of the meat in smallvector back from SmallVectorTemplateCommon
    down into SmallVectorImpl.  This requires sprinking a ton of this->'s in,
    but gives us a place to factor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59ebf30b613ebf2617a1519fbd0dbc1f2b4aeb13
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Dec 16 07:35:25 2009 +0000

    Make this test pass on Linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3521fb7b3e549c489faebd76084d86a1c30cba8a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 06:55:45 2009 +0000

    substantial refactoring of SmallVector, now most code is in SmallVectorTemplateCommon,
    and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl.
    SmallVectorTemplateBase can be specialized based on isPodLike.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91518 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6b8642f72c98125b56e34469baaed50819ef2a2
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Dec 16 02:52:09 2009 +0000

    MDNodes that refer to an instruction are local to a function; in that case, explicitly keep track of the function they are local to

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91497 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa640d3fc7563e889ef2ef93994b4c6ff38933f1
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Wed Dec 16 02:32:54 2009 +0000

    Add encoding bits for some Thumb instructions.  Plus explicitly set the top two
    bytes of Inst to 0x0000 for the benefit of the Thumb decoder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95150a6fa59d69f01bcd481e9bb2dc937c548107
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Dec 16 02:11:38 2009 +0000

    XFAIL on ppc-darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91495 91177308-0d34-0410-b5e6-96231b3b80d8

commit edeb169061593870ac603ab898a58d4db579d162
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 16 00:53:11 2009 +0000

    Re-enable 91381 with fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ea083faf048bcaa812098ebdc3f55c0ddcc1687
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 16 00:46:02 2009 +0000

    revert my strstr optimization, I'm told it breaks x86-64 bootstrap.

    Will reapply with a fix when I get a chance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91486 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d25f9bbd3a3106239e6b957c233b598d36576fe
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Dec 16 00:29:41 2009 +0000

    Do better with physical reg operands (typically, from inline asm)
    in local register allocator.  If a reg-reg copy has a phys reg
    input and a virt reg output, and this is the last use of the phys
    reg, assign the phys reg to the virt reg.  If a reg-reg copy has
    a phys reg output and we need to reload its spilled input, reload
    it directly into the phys reg than passing it through another reg.

    Following 76208, there is sometimes no dependency between the def of
    a phys reg and its use; this creates a window where that phys reg
    can be used for spilling (this is true in linear scan also).  This
    is bad and needs to be fixed a better way, although 76208 works too
    well in practice to be reverted.  However, there should normally be
    no spilling within inline asm blocks.  The patch here goes a long way
    towards making this actually be true.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91485 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6bf5b926d84470a0527691b20f60c31f6bf7978
Author: John McCall <rjmccall@apple.com>
Date:   Wed Dec 16 00:15:28 2009 +0000

    Every anonymous namespace is different.  Caught by clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86dd20e4ab83c6d96b5a526bc95fc0ee6170e4ec
Author: John McCall <rjmccall@apple.com>
Date:   Wed Dec 16 00:13:24 2009 +0000

    Explicit template instantiations must happen in the template's immediately
    enclosing namespace.  Caught by clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91480 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf525e4cf50311df9aa8ed97d0eaf81a49fa6c3d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 16 00:08:36 2009 +0000

    Helpful comment added. Some code cleanup. No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cb7f462c39ffc68a5fe873078c2bb545c44f086
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 16 00:01:27 2009 +0000

    Initialize uninitialized variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d8b6523d77b512dc276857e3e58e1b226856445
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 16 00:00:18 2009 +0000

    Initialize uninitialized variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91475 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43a22289bdf5f2e1d884de469b9ab5b849c077b7
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Dec 15 22:42:46 2009 +0000

    Change indirect-globals to use a dedicated allocIndirectGV.  This lets us
    remove start/finishGVStub and the BufferState helper class from the
    MachineCodeEmitter interface.  It has the side-effect of not setting the
    indirect global writable and then executable on ARM, but that shouldn't be
    necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91464 91177308-0d34-0410-b5e6-96231b3b80d8

commit d91158b66c9ed1337bdad3741a2a1bbb78525d69
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 15 22:42:19 2009 +0000

    Some command lines don't like numbers with leading zeros. Remove them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91463 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c03fdc0413fbc193bca3214907aa7827f3a0a11
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Dec 15 22:00:51 2009 +0000

    Reapply 91184 with fixes and an addition to the testcase to cover the problem
    found last time.  Instead of trying to modify the IR while iterating over it,
    I've change it to keep a list of WeakVH references to dead instructions, and
    then delete those instructions later.  I also added some special case code to
    detect and handle the situation when both operands of a memcpy intrinsic are
    referencing the same alloca.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91978076a03bdda4a5c8167436659916e4a31621
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 15 22:00:37 2009 +0000

    lit: Improve error when gtest discovery fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f4f994c3cefa11b5df46f4aaaab86b15d4d4504
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 15 20:21:44 2009 +0000

    Revert 90628, which was incorrect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91448 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51260423ed052b52a4246c7643d33cb7750f3bd0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 19:34:20 2009 +0000

    Fix GetConstantStringInfo to not look into MDString (it works on
    real data, not metadata) and fix DbgInfoPrinter to not abuse
    GetConstantStringInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 465e633b903c1418bcf46021b2b1e02974505c8c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Dec 15 19:28:13 2009 +0000

    whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91442 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8287d66aee7d877aaa80a3fb40cc90580e669493
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 15 19:16:48 2009 +0000

    Add support to emit debug info for C++ namespaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5b475def3406f1175162574ccbe300f9ab61bfd
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 19:14:40 2009 +0000

    optimize strstr, PR5783

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d810c281064e69c6a0cab4f9f43870628628566
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Dec 15 17:24:14 2009 +0000

    Added encoding bits for the Thumb ISA.  Initial checkin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7725021a32f9cb0f289b052a953ea77bfcda2bcf
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 15 16:30:09 2009 +0000

    Delete an unused function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91432 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-28 19:44:08 +02:00
Török Edvin
de5bf27b3c Merge LLVM upstream r91428.
Squashed commit of the following:

commit 08c733e79dd6b65be6eab3060b47fe4d231098b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 09:05:13 2009 +0000

    add some other xforms that should be done as part of PR5783

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39a7fa146ef728a10fce157d2efcecd806bf276b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 08:34:01 2009 +0000

    a few improvements:
    1. Use std::equal instead of reinventing it.
    2. don't run dtors in destroy_range if element is pod-like.
    3. Use isPodLike to decide between memcpy/uninitialized_copy
       instead of is_class.  isPodLike is more generous in some cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91427 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a95c15ce022ba6cdeea981f9b7b0a7d4724e11a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 08:29:22 2009 +0000

    hoist the begin/end/capacity members and a few trivial methods
    up into the non-templated SmallVectorBase class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 142f4f4c9d8ab4a1d1eb5c2fde61a6383fed25c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 07:40:44 2009 +0000

    improve isPodLike to know that all non-class types are pod.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91425 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc6f37b22aeb8f1ec5c7eb650ecbdea67f34a3de
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 07:27:58 2009 +0000

    Lang verified that SlotIndex is "pod like" even though it isn't a pod.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 169f3a233e90dcdd01e42829b396c823d016fe30
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 07:26:43 2009 +0000

    Remove isPod() from DenseMapInfo, splitting it out to its own
    isPodLike type trait.  This is a generally useful type trait for
    more than just DenseMap, and we really care about whether something
    acts like a pod, not whether it really is a pod.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1d483dade6f1675d9c2279fb9ae503858b89844
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 15 07:21:14 2009 +0000

    Convert llvmc tests to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91420 91177308-0d34-0410-b5e6-96231b3b80d8

commit d016c18182f165c7a967f1c5a6a343971bcd2465
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 15 07:20:50 2009 +0000

    Support hook invocation from 'append_cmd'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4136d8daf27d7f04dea28a578b39e5a614fca81e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 06:49:02 2009 +0000

    Fix an encoding bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54fec492a4c81ee84265ad953f4212eda9aff5c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 15 06:14:33 2009 +0000

    add an ALWAYS_INLINE macro, which does the obvious thing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 428c804a753234ecaf6a6177107361a1312508f8
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Tue Dec 15 03:27:52 2009 +0000

    For fastcc on x86, let ECX be used as a return register after EAX and EDX

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90468b7e484723a7ecfe7b4bf7a3264d2c6c6d06
Author: John McCall <rjmccall@apple.com>
Date:   Tue Dec 15 03:10:26 2009 +0000

    Names from dependent base classes are not found by unqualified lookup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87c0a2dffc5590dc2604754dbe12c9430a54b27b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 03:07:11 2009 +0000

    Disable 91381 for now. It's miscompiling ARMISelDAG2DAG.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91405 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ca004428400555d08d43eebe7e91c7035793afb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 15 03:04:52 2009 +0000

    Validate the generated C++ code in llvmc tests.

    Checks that the code generated by 'tblgen --emit-llvmc' can be actually
    compiled. Also fixes two bugs found in this way:

    - forward_transformed_value didn't work with non-list arguments
    - cl::ZeroOrOne is now called cl::Optional

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e4f60395f69857730808200642874b0ecd44896
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 15 03:04:14 2009 +0000

    Pipe 'grep' output to 'count'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91403 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc4f5408a6a0881c31e2a3165d022d74a6b2b9e5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 15 03:04:02 2009 +0000

    Allow $CALL(Hook, '$INFILE') for non-join tools.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91402 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff7c2e17fda5f570afff5eaf75f88460019d3f74
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 15 03:03:37 2009 +0000

    Small documentation update.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91401 91177308-0d34-0410-b5e6-96231b3b80d8

commit d629d80a80bfd6094563000bc82ed37b42acfffa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 03:00:32 2009 +0000

    Make 91378 more conservative.
    1. Only perform (zext (shl (zext x), y)) -> (shl (zext x), y) when y is a constant. This makes sure it remove at least one zest.
    2. If the shift is a left shift, make sure the original shift cannot shift out bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7caa1423082e873b0685e8d1fb4f7351bdabb103
Author: John McCall <rjmccall@apple.com>
Date:   Tue Dec 15 02:35:24 2009 +0000

    You can't use typedefs to declare template member specializations, and
    clang enforces it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91397 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8aa0b417ca5d0fc33b6079aa11b81cf86667956
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 15 01:54:51 2009 +0000

    Initial work on disabling the scheduler. This is a work in progress, and this
    stuff isn't used just yet.

    We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2'
    flags. The hypothesis is that the people who use these flags know what they are
    doing, and have hand-optimized the C code to reduce latencies and other
    conflicts.

    The idea behind our scheme to turn off scheduling is to create a map "on the
    side" during DAG generation. It will order the nodes by how they appeared in the
    code. This map is then used during scheduling to get the ordering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91392 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f0f8885c7079d20930ca0336bb879adde51aaaf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 01:44:10 2009 +0000

    Tail duplication should zap a copy it inserted for SSA update if the copy is the only use of its source.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 834ae6b04f4c3650b92182662aa8bb5b0fcf419f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 00:53:42 2009 +0000

    Use sbb x, x to materialize carry bit in a GPR. The result is all one's or all zero's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b6187226b44f590ce7f614b128480b9c2d823ef
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 00:52:11 2009 +0000

    Fold (zext (and x, cst)) -> (and (zext x), cst).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91380 91177308-0d34-0410-b5e6-96231b3b80d8

commit d08dad66572d86df1826c3547cb824b43ae8e8be
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 15 00:41:47 2009 +0000

    NNT: Make sure stderr for build commands goes to log file, as intended but misdirected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ff63ae679cf08e69db6770e7965e4f3d04637b9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 15 00:41:36 2009 +0000

    Propagate zest through logical shift.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f669d99f66d2ca120c85c4c379f2571d6dd947a
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Dec 15 00:40:55 2009 +0000

    Formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87426f8cd21507e13f0256a6727a0c27f60705c3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 15 00:39:24 2009 +0000

    Revert these. They may have been causing 483_xalancbmk to fail:

    $ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r91161 into '.':
    U    lib/CodeGen/BranchFolding.cpp
    U    lib/CodeGen/MachineBasicBlock.cpp
    $ svn merge -c -91113 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r91113 into '.':
    G    lib/CodeGen/MachineBasicBlock.cpp
    $ svn merge -c -91101 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r91101 into '.':
    U    include/llvm/CodeGen/MachineBasicBlock.h
    G    lib/CodeGen/MachineBasicBlock.cpp
    $ svn merge -c -91092 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r91092 into '.':
    G    include/llvm/CodeGen/MachineBasicBlock.h
    G    lib/CodeGen/MachineBasicBlock.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91376 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6e14f2cfc4e8bd346bf3fa7a5ac87b6ebf422ff
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Dec 15 00:12:35 2009 +0000

    nand atomic requires opposite operand ordering

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91371 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6cfdd3f717bfa1b43351c354e39c066dbd167cd
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 23:40:38 2009 +0000

    Fix integer cast code to handle vector types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b0d8db13172ed290285f0832e021b4ce3ef9aea
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 23:36:03 2009 +0000

    Move Flag and isVoid after the vector types, since bit arithmetic with
    those enum values is less common.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81c5562ec2e59741258fc67824bbb64b91ece71e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 23:34:36 2009 +0000

    Fix these asserts to check the invariant that the code actually
    depends on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 612ae24984fcce968041a2f3f379505d8e007a83
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 23:13:31 2009 +0000

    Update this comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91356 91177308-0d34-0410-b5e6-96231b3b80d8

commit a34782d2b71b5fd6b3b32fa4943de1fc89d47115
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 23:08:09 2009 +0000

    Fix this to properly clear the FastISel debug location. Thanks to
    Bill for spotting this!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91355 91177308-0d34-0410-b5e6-96231b3b80d8

commit becf334c8d194b1f6c21db915ba3c22c451ab42a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Dec 14 22:44:22 2009 +0000

    Rearrange rules to add missing dependency and allow parallel makes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fdbe657ebacf9e1bdb1e2cebfe82a9549d86d3e
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Dec 14 21:51:34 2009 +0000

    Add encoding bits "let Inst{11-4} = 0b00000000;" to BR_JTr to disambiguate
    between BR_JTr and STREXD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32b48e95922e730032f188c313cdd2e50c63cbc9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 14 21:49:44 2009 +0000

    The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
    but we need it to actually be 4-bytes in the FDE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91337 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba16e07fc539e23bb604defb021187e64c04702a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 21:33:32 2009 +0000

    v6 sync insn copy/paste error

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91333 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6eee903ab286e1a0093c5091bb30fc35e00cd86b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 21:24:16 2009 +0000

    Add ARMv6 memory and sync barrier instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91329 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ac1d378d72ad45806ab86d316bd50ca5e7f861c
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Dec 14 21:01:46 2009 +0000

    Fixed encoding bits typo of ldrexd/strexd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b595cd6311d7b9670268b69096b55dd1a384d35
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 20:14:59 2009 +0000

    Thumb2 atomic operations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95218a2eb2163a644a1ff5d419ef0b581a60eb39
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 19:55:22 2009 +0000

    Add svn:ignore entries for the Disassembler files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91320 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6e3c7b1e4283ee072c8115244515c145ef6d072
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 19:43:09 2009 +0000

    Move several function bodies which are rarely inlined out of line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91319 91177308-0d34-0410-b5e6-96231b3b80d8

commit a850594e8be4f3a3cb7c4d404b8434dfb3844ec8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 14 19:34:32 2009 +0000

    fix an obvious bug found by clang++ and collapse a redundant if.

    Here's the diagnostic from clang:

    /Volumes/Data/dgregor/Projects/llvm/lib/Target/CppBackend/CPPBackend.cpp:989:23: warning: 'gv' is always NULL in this context
            printConstant(gv);
                          ^
    1 diagnostic generated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5dbe26aa8326068823cb9481972426dca151c3cc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 19:32:31 2009 +0000

    Micro-optimize these functions in the case where they are not inlined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d6e24935ebc8902bd9b22f73ba02fa31d60f8bb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 19:24:11 2009 +0000

    correct selection requirements for thumb2 vs. arm versions of the barrier intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91313 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fc99a1a87b457f994c5e8e0d12206b9b2e02bb4
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Dec 14 19:07:25 2009 +0000

    Add radar fixed in comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91312 91177308-0d34-0410-b5e6-96231b3b80d8

commit efbc1f057fd24bd540ab94dfcac298d6762aa3bd
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 18:56:47 2009 +0000

    add Thumb2 atomic and memory barrier instruction definitions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31b2740914c8fec8580a8dc1000e3b5295309dfb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 18:36:32 2009 +0000

    whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63437d96828f86ca3833c58964c4a5d4b142aa07
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 18:31:20 2009 +0000

    ARM memory barrier instructions are not predicable

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91305 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49da09d50ecde9dcaacb4bc57807b9fe0fd31005
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Dec 14 17:58:33 2009 +0000

    NNT: Use [e]grep -a when scanning logs, its possibly they will have non-text
    characters in them, in which case the grep will just return 'Binary file
    matches' and the whole thing falls over.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91302 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cef3baf8abe8446367182510bb5410247c99a8e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Dec 14 17:58:27 2009 +0000

    NNT: Always create the -sentdata.txt file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91301 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d6c29ba56ae19b4d81f8a8f7abf04aa356403fb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:35:17 2009 +0000

    Clear the Processed set when it is no longer used, and clear the
    IVUses list in releaseMemory().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f4122b67d3bd31a6d3544f319527949f2d1cf4e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:31:01 2009 +0000

    Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so the
    condition was inverted when the code was converted to contains().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91295 91177308-0d34-0410-b5e6-96231b3b80d8

commit b937cf58556a1fea130dae4d42e49489b308edc5
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:19:06 2009 +0000

    Remove unnecessary #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34b9035f2aa2e072afa2da175e47a86de9c723ce
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:14:32 2009 +0000

    Make the IVUses member private.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c5b238c82b464d9993971757204b347a18ed86e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:12:51 2009 +0000

    Instead of having a ScalarEvolution pointer member in BasedUser, just pass
    the ScalarEvolution pointer into the functions which need it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91289 91177308-0d34-0410-b5e6-96231b3b80d8

commit e48b5a49457a7976192930b8503e889383e7c0e7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:10:44 2009 +0000

    Don't bother cleaning up if there's nothing to clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91288 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7366d992d0c8f3d840085a41c04be370a3cfe95
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:08:09 2009 +0000

    Delete an unused variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91287 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1e30e458078b78f37abe8ca738d50df8b3cfae8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:06:50 2009 +0000

    Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. The
    former was just exposing a LoopInfoBase implementation detail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91286 91177308-0d34-0410-b5e6-96231b3b80d8

commit c83030d61279ac68b9532896fea512ae408387de
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 17:02:55 2009 +0000

    add ldrexd/strexd instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1d6f3708a558575396f8c066b9d9575889f8642
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 17:02:34 2009 +0000

    LSR itself doesn't need LoopInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91283 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01c63bf35c8b7ff7775bc83a02a39fc2efcfe3f8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 16:57:08 2009 +0000

    LSR itself doesn't need DominatorTree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ad7ae23378a83d55d836338cf33935a4a6829b9
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 16:52:55 2009 +0000

    Remove the code in LSR that manually hoists expansions out of loops;
    SCEVExpander does this automatically.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91281 91177308-0d34-0410-b5e6-96231b3b80d8

commit c476702d130b84050a146b9e8a602709bbdc3e2e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 14 16:37:29 2009 +0000

    Minor code cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 814a12c5353afed59395f62dc082aca10b93c3dd
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Dec 14 16:18:45 2009 +0000

    Use DW_AT_specification to point to DIE describing function declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99e265ce64bf952da29d01da65438a96984819fe
Author: Shantonu Sen <ssen@apple.com>
Date:   Mon Dec 14 14:15:15 2009 +0000

    Remove empty file completely

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91277 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8da34e01191c9d3819aa1b52fdbc6fe1d544095
Author: Edwin Török <edwintorok@gmail.com>
Date:   Mon Dec 14 12:38:18 2009 +0000

    Add "generic" fallback.

    gcc warned that the function may not have a return value, indeed
    for non-intel and non-amd X86 CPUs it is right (VIA, etc.).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91276 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76d8399d2044c4af7ef6b723f2905e4ad6cbbbf3
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Dec 14 07:43:25 2009 +0000

    Added CalcSpillWeights to CMakeLists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8233240e96cc3df533f37641d17df9ae2d15af12
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Dec 14 06:51:19 2009 +0000

    Whitespace changes, comment clarification. No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f49e0f7a619ff4a98eae831896636e8fa9051a4
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Dec 14 06:49:42 2009 +0000

    Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91273 91177308-0d34-0410-b5e6-96231b3b80d8

commit edf3f1eff2ea650086482a564fe3a649801a17fe
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 14 05:11:02 2009 +0000

    revert r91184, because it causes a crash on a .bc file I just
    sent to Bob.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91268 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7e4ddcbcad547e5513dfd7eefe8c1ae97e84485
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Dec 14 04:22:04 2009 +0000

    atomic binary operations up to 32-bits wide.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15874c1fc1d911bfe2ff73e4a66d500d2c07e6f6
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 14 04:06:38 2009 +0000

    Add a test for the 'init' option property.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fe6f87162f412660039e41bc96d1ac96d107176
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Dec 13 20:30:32 2009 +0000

    Reinstate r91208 to fix available_externally linkage for globals, with
    nlewycky's fix to add -rdynamic so the JIT can look symbols up in Linux builds
    of the JITTests binary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91250 91177308-0d34-0410-b5e6-96231b3b80d8

commit eae8d0465c69874badfcb83312d374d1ba668962
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sun Dec 13 08:59:40 2009 +0000

    Using _MSC_VER there was wrong, better just use the already existing ifdefs for
    x86 CPU detection for the X86 getHostCPUName too, and create a simple
    getHostCPUName that returns "generic" for all else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87a4e6c0cb18756f3d55ec0f1b5cb86c4c88e068
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sun Dec 13 07:04:45 2009 +0000

    Don't leave pointers uninitialized in the default constructor. GCC complains
    about the potential use of these uninitialized members under certain conditions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c29ae320a827facfbcc32b91d6d98c6b06e44ea
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Dec 13 01:00:59 2009 +0000

    Fix weird typo which leads to unallocated memory access for nodes with 4 results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91233 91177308-0d34-0410-b5e6-96231b3b80d8

commit efb9350360fe13284f9162fec884d16590da206a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Dec 13 01:00:32 2009 +0000

    Do not allow uninitialize access during debug printing

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 993eb83df375e2fa7d3fb2c1519690402c27b460
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Dec 12 23:23:43 2009 +0000

    More info on this transformation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91230 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3a131a8c63dc9768694c87d74109afefb021cfb
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Sat Dec 12 21:41:48 2009 +0000

    Remove some stuff that's already implemented.  Also, remove the note about
    merging x >u 5 and x <s 20 because it's impossible to implement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91228 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee30369f778aaece9f0f70dc482331c6ed8cb326
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Dec 12 21:17:54 2009 +0000

    Update install-clang target for clang-cc removal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8597901e12c0caa1cf841472e12df422c1d2c02b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Dec 12 20:03:14 2009 +0000

    Disable r91104 for x86. It causes partial register stall which pessimize code in 32-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d987ea7542f0face7c2a3e98cfa4d8f31ab5e9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Dec 12 18:55:37 2009 +0000

    Implement variable-width shifts.
    No testcase yet - it seems we're exposing generic codegen bugs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91221 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9357ab4ddb97c2a6606ba0ee9f859b9c93b364b7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Dec 12 18:55:26 2009 +0000

    Add comment about potential partial register stall.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91220 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca348204499380bc590165f8467f8dccdc3f414a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Dec 12 18:51:56 2009 +0000

    Fix an obvious bug. No test case since LEA16r is not being used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91219 91177308-0d34-0410-b5e6-96231b3b80d8

commit d50b1dd026feed23280c98d75ec3465627424725
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sat Dec 12 12:42:31 2009 +0000

    Enable CPU detection when using MS VS 2k8 too.
    MSVS2k8 doesn't define __i386__, hence all the CPU detection code was disabled.
    Enable it by looking for _MSC_VER.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 14:28:14 +02:00
Török Edvin
d58f4f0a0f Update to LLVM upstream SVN r91214.
Squashed commit of the following:

commit 2fdb8cfc44fb50a50bda26ac7774692a15c00412
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Dec 12 09:25:50 2009 +0000

    Fix some CHECK lines which were ignored by accident.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91214 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbfd1ed3c3d611d3d36d6853b99f6d615eaf96f1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Dec 12 06:18:46 2009 +0000

    Revert r91208.  Something on Linux prevents the JIT from looking up a symbol
    defined in the test, and I don't have time tonight to figure it out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91209 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcfc5e88a362367990b85c708d9656c9e9150f5e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Dec 12 05:58:14 2009 +0000

    Fix available_externally linkage for globals.  It's probably still not
    supported by emitGlobals, but I don't have a test case for that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37fa76624c9c11ec6745b5b609a8b537f0cd8425
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Dec 12 04:08:32 2009 +0000

    Make it easier to use the llvm_unreachable and DEBUG macros without "using
    namespace llvm" by qualifying their implementations with ::llvm::.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 241896971376c9bf4b5856c44c65084c8bf6e3cb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Dec 12 01:40:06 2009 +0000

    Framework for atomic binary operations. The emitter for the pseudo instructions
    just issues an error for the moment. The front end won't yet generate these
    intrinsics for ARM, so this is behind the scenes until complete.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91200 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4407a9dd3a5829f2385c49b2cdbe96c33076c384
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 11 23:47:40 2009 +0000

    Revise scalar replacement to be more flexible about handle bitcasts and GEPs.
    While scanning through the uses of an alloca, keep track of the current offset
    relative to the start of the alloca, and check memory references to see if
    the offset & size correspond to a component within the alloca.  This has the
    nice benefit of unifying much of the code from isSafeUseOfAllocation,
    isSafeElementUse, and isSafeUseOfBitCastedAllocation.  The code to rewrite
    the uses of a promoted alloca, after it is determined to be safe, is
    reorganized in the same way.

    Also, when rewriting GEP instructions, mark them as "in-bounds" since all the
    indices are known to be safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 552423de4ce3985cee3e44d2b34afc81aef5b5b4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 11 23:26:08 2009 +0000

    Delete an unnecessary line. The VTSDNode on a SIGN_EXTEND_REG is never
    a vector type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91181 91177308-0d34-0410-b5e6-96231b3b80d8

commit f40cec0ee6d37ccce844d771f177f33c929a4b86
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Dec 11 23:01:29 2009 +0000

    Lower setcc branchless, if this is profitable.
    Based on the patch by Brian Lucas!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dd8cadf857bd134ef24aebb48aa22278cedaff1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 11 21:47:36 2009 +0000

    Don't try to move a MBB into the fall-through position if it's a landing pad or
    branches only to a landing pad. Without this check, the compiler would go into
    an infinite loop because the branch to a landing pad is an "abnormal" edge which
    wasn't being taken into account.

    This is the meat of that fix:

      if (!PrevBB.canFallThrough() && !MBB->BranchesToLandingPad(MBB)) {

    The other stuff is simplification of the "branches to a landing pad" code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91161 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9f2c6bf74e416fb21026ef9c779c6c4cdbce9d4
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Dec 11 21:37:07 2009 +0000

    Construct CompileUnits lazily.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d501bd6024424a0d85836f2e61a5fcd3f717d23
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 11 21:31:27 2009 +0000

    Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91158 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6095894e7cd3c7144575ba6e2596bb5a3d3adc0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Dec 11 20:29:53 2009 +0000

    memory barrier instructions by definition have side effects. This prevents the post-RA scheduler from moving them around.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 432c8afd5e7ab193fbf348436da8c4d88a780f93
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 11 20:09:21 2009 +0000

    Change this to the correct PR number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10ef46f126972755ae7dac376fc98f26ddd31dfc
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 11 20:05:23 2009 +0000

    Make getUniqueExitBlocks's precondition assert more precise, to
    avoid spurious failures. This fixes PR5758.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c4c4dc0dc9c48f7ec593798916cab05c68ec44b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 11 19:50:50 2009 +0000

    Fix the result type of SELECT nodes lowered from Select instructions with
    aggregate return values. This fixes PR5754.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7767af5f34dccb5d093cd46004f2f2687095019c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Dec 11 19:39:55 2009 +0000

    Honour setHasCalls() set from isel.
    This is used in some weird cases like general dynamic TLS model.
    This fixes PR5723

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e6324988a184400c4a79d684746f91c3c5bfad3
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Fri Dec 11 19:37:26 2009 +0000

    Store Register Exclusive should leave the source register Inst{3-0} unspecified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7853967b2bec37e6093fa595cc42aabbad964059
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Dec 11 18:52:41 2009 +0000

    Update properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91140 91177308-0d34-0410-b5e6-96231b3b80d8

commit efa9046e1673863e2b091556e5c92b834cc4bdf5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Dec 11 15:30:07 2009 +0000

    Simplify this class by removing the result cache.

    This change removes the DefaultConstructible
    and CopyAssignable constraints on the template
    parameter T (the first one).

    The second template parameter (R) is defaulted to be
    identical to the first and controls the result type.
    By specifying it to be (const T&) additionally the
    CopyConstructible constraint on T can be removed.

    This allows to use StringSwitch e.g. for llvm::Constant
    instances.

    Regarding the other review feedback regarding performance
    because of taking pointers, this class should be completely
    optimizable like before, since all methods are inline and
    the pointer dereferencing and result value caching should be
    possible behind the scenes by the "as-if" rule.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91123 91177308-0d34-0410-b5e6-96231b3b80d8

commit 624ebdda54ecb7db70ffb105148e68dd34940f8e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 11 10:43:41 2009 +0000

    Revert part of r91101 which was causing an infinite loop in the self-hosting
    build bots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9039ae61fdf29b92f04b84e85c13d0119fa39268
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Dec 11 08:36:17 2009 +0000

    Add utility method for determining whether a function argument
    has the 'nest' attribute.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91109 91177308-0d34-0410-b5e6-96231b3b80d8

commit b880e97295cce0cffac154c7643945435cede34d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 11 06:02:21 2009 +0000

    Tests for 91103 and 91104.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91105 91177308-0d34-0410-b5e6-96231b3b80d8

commit f031da831176f05449c6c0dd32f45f2fca403f2d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 11 06:01:48 2009 +0000

    Add support to 3-addressify 16-bit instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91104 91177308-0d34-0410-b5e6-96231b3b80d8

commit f486334d5c3e5d686f35f5fb9594842a76596496
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 11 06:01:00 2009 +0000

    Coalesce insert_subreg undef, x first to avoid phase ordering issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d2fd87d90f53f74faab9b231809bad929ffdf28
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 11 03:14:18 2009 +0000

    Address comments on last patch:

    - Loosen the restrictions when checking of it branches to a landing pad.
    - Make the loop more efficient by checking the '.insert' return value.
    - Do cheaper checks first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 573d1d59306f14c74a519b77e1d677e9a6df3a65
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 11 01:49:14 2009 +0000

    A machine basic block may end in an unconditional branch, however it may have
    more than one successor. Normally, these extra successors are dead. However,
    some of them may branch to exception handling landing pads. If we remove those
    successors, then the landing pads could go away if all predecessors to it are
    removed. Before, it was checking if the direct successor was the landing
    pad. But it could be the result of jumping through multiple basic blocks to get
    to it. If we were to only check for the existence of an EH_LABEL in the basic
    block and not remove successors if it's in there, then it could stop actually
    dead basic blocks from being removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91092 91177308-0d34-0410-b5e6-96231b3b80d8

commit 437d699dc2b7e690254435cb93d7bbd21bb88217
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Dec 11 01:42:04 2009 +0000

    Rough first pass at compare_and_swap atomic builtins for ARM mode. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91090 91177308-0d34-0410-b5e6-96231b3b80d8

commit 307e718947561a527c51e03e38cd77ca1efc6998
Author: Anders Carlsson <andersca@mac.com>
Date:   Fri Dec 11 01:04:42 2009 +0000

    Add qualifiers for calls to member functions in dependent bases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91087 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d47963bc2b99fc828e706072d94b4faab5c6703
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Dec 10 23:25:41 2009 +0000

    If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91077 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcd3705bd25d9e1406adc67a11b200f8454d840e
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Dec 10 21:11:40 2009 +0000

    Add a test for the fix in revision 91009.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91062 91177308-0d34-0410-b5e6-96231b3b80d8

commit fda100228c44e2ce87a2059d879c3da7f6cf043d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 10 20:59:45 2009 +0000

    It's not safe to coalesce a move where src and dst registers have different subregister indices. e.g.:
    %reg16404:1<def> = MOV8rr %reg16412:2<kill>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91061 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d73e4308d9773535794f2f00ea213981310a6ba
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Dec 10 19:52:22 2009 +0000

    Remove a broken, unused header

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a8f9a8322f0de194328f3ab2cbf941504015f5f
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Dec 10 19:14:49 2009 +0000

    Refactor code that finds context for a given die.
    Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91055 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37582c3385a5259c279f4da155b7659f4272ff71
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Dec 10 18:35:32 2009 +0000

    Add instruction encoding for DMB/DSB

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91053 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f139c19245027f4f367bf09db322e16ceca76f5
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Dec 10 18:05:33 2009 +0000

    Refactor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91051 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0f793a956a6aeff1386647a714c627102bfdc88
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Dec 10 17:48:32 2009 +0000

    Also attempt trivial coalescing for live intervals that end in a copy.

    The coalescer is supposed to clean these up, but when setting up parameters
    for a function call, there may be copies to physregs. If the defining
    instruction has been LICM'ed far away, the coalescer won't touch it.

    The register allocation hint does not always work - when the register
    allocator is backtracking, it clears the hints.

    This patch is more conservative than r90502, and does not break
    483.xalancbmk/i686. It still breaks the PowerPC bootstrap, so it is disabled
    by default, and can be enabled with the -trivial-coalesce-ends option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d9ba4b1d7364823556c97a78142ecd28048e3a3
Author: Edwin Török <edwintorok@gmail.com>
Date:   Thu Dec 10 10:01:47 2009 +0000

    Comparing std::string with NULL is a bad idea, so just check whether its empty.

    This code was crashing always with oprofile enabled, since it tried to create a StringRef
    out of NULL, which run strlen on NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91046 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4ea68be726443c35446332dbdeff00f42f7e48b
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Dec 10 00:25:41 2009 +0000

    Make sure the immediate dominator isn't NULL through iterations
    of the loop. We could get to this condition via indirect
    branches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91009 91177308-0d34-0410-b5e6-96231b3b80d8

commit c97c9a0f7c7aa3572a819aef0315a6ddb7a2dfe8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 10 00:11:45 2009 +0000

    Fix PR5744, a case where we were getting the pointer size instead of the
    value size.  This only manifested when memdep inprecisely returns clobber,
    which is do to a caching issue in the PR5744 testcase.  We can 'efficiently
    emulate' this by using '-no-aa'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91004 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba744f662e83517b2b940145a24d6cbb453f52f9
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Dec 10 00:11:09 2009 +0000

    Add memory barrier intrinsic support for ARM. Moving towards adding the atomic operations intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91003 91177308-0d34-0410-b5e6-96231b3b80d8

commit e559e790ba60791726da785535d194ca71f47dee
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 10 00:04:46 2009 +0000

    allow this to build when the #if 0's are enabled.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90999 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ab68f2d2516ed58e49016dfca15e2ad4bc865e6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Dec 9 22:55:01 2009 +0000

    Dereference loopHeader after checking for null rather than before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5252e89c88fc55ce4b4842b600031f6ca536dc5d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 22:24:42 2009 +0000

    Fix test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90988 91177308-0d34-0410-b5e6-96231b3b80d8

commit e31a26af8b770854d3a630081e74ee52899482b4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 21:00:30 2009 +0000

    Optimize splat of a scalar load into a shuffle of a vector load when it's legal. e.g.
    vector_shuffle (scalar_to_vector (i32 load (ptr + 4))), undef, <0, 0, 0, 0>
    =>
    vector_shuffle (v4i32 load ptr), undef, <1, 1, 1, 1>

    iff ptr is 16-byte aligned (or can be made into 16-byte aligned).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90984 91177308-0d34-0410-b5e6-96231b3b80d8

commit eef9c8f43d719d072f7f027510125f45a0e02956
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Dec 9 18:48:53 2009 +0000

    Reuse the Threshold value to size these containers because it's
    currently somewhat convenient for them to have the same value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90980 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe0be137457e5a2fe51000ed2844f888e9e19b64
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Dec 9 18:24:21 2009 +0000

    Reapply r90858, a cleanup patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 091a1d20fcf979b5f266fa2b085215bc3bfe2d46
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 18:21:46 2009 +0000

    fix hte last remaining known (by me) phi translation bug.  When we reanalyze
    clobbers to forward pieces of large stores to small loads, we need to consider
    the properly phi translated pointer in the store block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90978 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2737cb4b2a2a648f07f3272d932ba564a03a368a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 18:13:28 2009 +0000

    change GetStoreValueForLoad to use IRBuilder, which is cleaner and
    implicitly constant folds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39d7706d74c6237258b9a78a4aaf841f28c58a1d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Dec 9 18:05:27 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90975 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e4661381e82fb4d6ba33d57155dcda400280d3a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 17:27:45 2009 +0000

    Add a minor optimization: if we haven't changed the operands of an
    add, there is no need to scan the world to find the same add again.
    This invalidates the previous testcase, which wasn't wonderful anyway,
    because it needed a run of instcombine to permute the use-lists in
    just the right way to before GVN was run (so it was really fragile).
    Not a big loss.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90973 91177308-0d34-0410-b5e6-96231b3b80d8

commit de76e8dccddd7578a9d52dd04bcf9ca36da417d8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Dec 9 17:26:02 2009 +0000

    Add note about loadable modules on windows.
    Patch by Gregory Petrosyan!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13c6e945a6f59aca2d21b46c036521c59d1f61bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 17:18:49 2009 +0000

    fix PR5733, a case where we'd replace an add with a lexically identical
    binary operator that wasn't an add.  In this case, a xor.  Whoops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b4ae24a6d11afa1453e2cfce2c702316ad7e093
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Dec 9 17:18:22 2009 +0000

    <rdar://problem/7453528>. Track only physical registers that are valid for the target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90970 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1ab6f944f31f5db68788036bb48cc6fef160be6
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 17:17:26 2009 +0000

    merge crash-2.ll into crash.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 179201113b146232ba8ed6cc32c3b7c1b0cdd481
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Dec 9 08:29:32 2009 +0000

    Silence conversion warning from 64 to 32-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90962 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd9feaabf12a8dd559794b5a779d12c9a5e9dfa3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 07:37:07 2009 +0000

    change AnalyzeLoadFromClobberingMemInst/AnalyzeLoadFromClobberingStore
    to require the load ty/ptr to be passed in, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90960 91177308-0d34-0410-b5e6-96231b3b80d8

commit 598abfd68824c718b392e6da1ff78a278b390bdf
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 07:34:10 2009 +0000

    change AnalyzeLoadFromClobberingWrite and clients to pass in type
    and pointer instead of the load.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90959 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca02fc16abf5caf64bf21a3efdad9b52368591c5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 07:31:04 2009 +0000

    enhance NonLocalDepEntry to keep the per-block phi translated address
    of the query.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90958 91177308-0d34-0410-b5e6-96231b3b80d8

commit c831c64f16749af9b1a782ace983aee600d59c43
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 9 07:19:48 2009 +0000

    DeltaAlgorithm: Add a virtual destructor and home.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a957967ec0e908f69717c8887d427eeaee8e5fc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 07:08:01 2009 +0000

    change NonLocalDepEntry from being a typedef for an std::pair to be its
    own small class.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75730ab628f309e281beab31cb081b7487579f6e
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Dec 9 05:39:12 2009 +0000

    Added a new "splitting" spiller.

    When a call is placed to spill an interval this spiller will first try to
    break the interval up into its component values. Single value intervals and
    intervals which have already been split (or are the result of previous splits)
    are spilled by the default spiller.

    Splitting intervals as described above may improve the performance of generated
    code in some circumstances. This work is experimental however, and it still
    miscompiles many benchmarks. It's not recommended for general use yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22a458ae9214261c3e420910fb22ee81c358395d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 9 03:26:33 2009 +0000

    Remove spurious extern.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90937 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd96f3416558738874517ad53b30b0fa13fac75f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Dec 9 02:58:09 2009 +0000

    Remove unneeded ';' and a class/struct mismatch (noticed by clang).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 521f16433f6a3ae9e35a47efc577dcb9162a01ef
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 02:43:05 2009 +0000

    the code in GVN that tries to forward large loads to small
    stores is not phi translating, thus it miscompiles really
    crazy testcases.  This is from inspection, I haven't seen
    this in the wild.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c61909de5f6f6a721080017aa11ab846b24bdfb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 02:41:54 2009 +0000

    add some aborts to #if 0's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90929 91177308-0d34-0410-b5e6-96231b3b80d8

commit efff322bd17b640f544a1d28c580b59499a28ff8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 01:59:31 2009 +0000

    Switch GVN and memdep to use PHITransAddr, which correctly handles
    phi translation of complex expressions like &A[i+1].  This has the
    following benefits:

    1. The phi translation logic is all contained in its own class with
       a strong interface and verification that it is self consistent.

    2. The logic is more correct than before.  Previously, if intermediate
       expressions got PHI translated, we'd miss the update and scan for
       the wrong pointers in predecessor blocks.  @phi_trans2 is a testcase
       for this.

    3. We have a lot less code in memdep.

    We can handle phi translation across blocks of things like @phi_trans3,
    which is pretty insane :).

    This patch should fix the miscompiles of 255.vortex, and I tested it
    with a bootstrap of llvm-gcc, llvm-test and dejagnu of course.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76ebe86e74ce108a129259fb52663edb0483da9d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 01:53:58 2009 +0000

    Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 isl lowering code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90925 91177308-0d34-0410-b5e6-96231b3b80d8

commit ada03e86adc6f39bc024e7e147f4e8a84929c6b2
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Dec 9 01:46:00 2009 +0000

    Remove tests that are not suitable anymore. Plus they are not testing the original bugfixes anymore. These tests were inserted to check bug fixes in code that handled debug info intrinsics. These intrinsics are no longer used and now llvm parser simply ignores old .dbg intrinsics from these dead tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a029cbee8f0bb7d1798aa474bdc46f017ba1871
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 01:36:00 2009 +0000

    Move isConsecutiveLoad to SelectionDAG. It's not target dependent and it's primary used by selectdag passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b1d6462fe599fc9e17811b2d6bc8fad77183647
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 01:19:16 2009 +0000

    fix a nasty variable that was shadowing the real CurBB but with the wrong value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90920 91177308-0d34-0410-b5e6-96231b3b80d8

commit a711e2664a880bc4b941d2690371cf811167bf95
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 01:17:24 2009 +0000

    Infer alignment for non-fixed stack object.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90919 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3caa135e4a12b56cf586dc4d2a3d89d821b2f46
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 01:10:37 2009 +0000

    Add const qualifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90918 91177308-0d34-0410-b5e6-96231b3b80d8

commit 684647dabc65cd039ddd73daf25112d1b6a98072
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 9 01:04:59 2009 +0000

    Refactor InferAlignment out of DAGCombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90917 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3d7e0b6f0723224cf9db5b12d41d0bc82948782
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 00:56:14 2009 +0000

    fix many input tracking bugs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90915 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb8c775db77dfe0194a6169f437342eacaa46792
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 00:41:28 2009 +0000

    when opt crashes, print its command line arguments as a pretty stack trace.
    Somehow opt was missed when this was added.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90912 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa30b76c39c82f6e0973d597511c9a6980a914d4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Dec 9 00:28:42 2009 +0000

    Fix a typo in a comment, and adjust SmallSet and SmallVector sizes,
    that Chris noticed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 604d78539ab4276a96f99287599fe6b341707dc0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 00:18:13 2009 +0000

    fix PHI  translation to take the PHI out of the instinputs set and add
    the translated value back to it if an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67f80492b9822f893a83641bb204d81e916f8d3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 00:10:55 2009 +0000

    instructions defined in CurBB may be intermediate nodes of the computation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bc7cb6375e49b89417a44bddad4300ec5b2c5ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 9 00:01:00 2009 +0000

    add dumping and sanity checking support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 096cad10650493a4addf69d3bdf81f2e2c38d943
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 8 23:59:12 2009 +0000

    Put a threshold on the number of users PointerMayBeCaptured
    examines; fall back to a conservative answer if there are
    more. This works around some several compile time problems
    resulting from BasicAliasAnalysis calling PointerMayBeCaptured.

    The value has been chosen arbitrarily.

    This fixes rdar://7438917 and may partially address PR5708.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90905 91177308-0d34-0410-b5e6-96231b3b80d8

commit c88612dd681daa28178107881b0526b5ad4b0d1c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 8 23:42:51 2009 +0000

    make sure that PHITransAddr keeps its 'InstInputs' list up to
    date when instsimplify kicks in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90901 91177308-0d34-0410-b5e6-96231b3b80d8

commit de2d3688d9711628c15ee2b8410fa3e936ca698c
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 8 23:21:45 2009 +0000

    Revert 90858 90875 and 90805 for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e5c8a8cdfc3a0267b026851bf08a9507474578e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 8 23:06:22 2009 +0000

    - Support inline asm 'w' constraint for 128-bit vector types.
    - Also support the 'q' NEON registers asm code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d9aeda1a20c306e7639e6df6613d570e793ab00
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 8 19:49:30 2009 +0000

    lit: Prevent crash-on-invalid (when run on directory which has no test suite).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90871 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb331cbe3eb64ba46f885189aa8797c3027a69ea
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 8 19:48:01 2009 +0000

    Set svn:ignore on tools/clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58c778873ae2dac1a1c615bf4cab3cd788ec4db9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 8 19:47:36 2009 +0000

    CMake/lit: Add llvm_{unit_,}site_config parameters, and always pass them when running tests from the project files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e56790b2a9d8fbdbbcba5750f646488f1073d9f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 8 19:34:53 2009 +0000

    Revert 90789 for now. It caused massive compile time regression. Post-ra scheduler slowed down dramatically with this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90868 91177308-0d34-0410-b5e6-96231b3b80d8

commit d11c2b3c143afb32f32fcc203190454a63fdd0c1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Dec 8 18:27:03 2009 +0000

    Some superficial cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90866 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb4b0d5499b3b7095b560734f1b47d26187ce644
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Dec 8 18:22:03 2009 +0000

    Clean up dead operands left around after SROA replaces a mem intrinsic.
    I'm not aware that this does anything significant on its own, but it's
    needed for another patch that I'm working on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b294d7538f15995e446a6a2dd17965813133cc0
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 8 15:31:31 2009 +0000

    Cleanup.
    There is no need to supply ModuleCU to addType() as a parameter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23a55d34fc5a37cc60122ac3db057177f91e2528
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 8 15:01:35 2009 +0000

    Do not try to push dead variable's debug info into namespace info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8bbaf864380c3d5ea1c21d4fade7cb22fcced25
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Dec 8 13:07:38 2009 +0000

    Remove useless calls to c_str().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90855 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35138e397b334bffa8f1c9121fa97f9129880d09
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Dec 8 10:10:20 2009 +0000

    Teach GlobalOpt to delete aliases with internal linkage (after
    forwarding any uses).  GlobalDCE can also do this, but is only
    run at -O3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3147011bdf615c47e44b7ffbc5e94263d42aa6ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 8 06:06:26 2009 +0000

    fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not
    side-effect the current object.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90837 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54518e654b0b98ffeefec0b0958500883ba2832a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Dec 8 05:45:41 2009 +0000

    Remove unnecessary #include "llvm/LLVMContext.h".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48df1cc8234d91de705451688bb54bbbe161d51a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 8 05:31:46 2009 +0000

    whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90834 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62d57ae9ef18b9cfaa8c3a977db1ed31694a03d5
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Dec 8 02:49:54 2009 +0000

    Removed VC++ compatibility code from DataTypes.h.in.

    This header file is not used on VC++ builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90829 91177308-0d34-0410-b5e6-96231b3b80d8

commit da3ef8a038a93fa4b4879fd203abd2f9377ab977
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Dec 8 02:40:09 2009 +0000

    For VC++, define the ?INT*_C macros only it they are not yet defined.

    Some compatibility updates like the Boost TR1 compatibility headers
    define them.

    Patch contributed by OvermindDL1!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3caef71dd23157310e52ed947a2fb44579f79db3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Dec 8 01:03:04 2009 +0000

    Reduce (cmp 0, and_su (foo, bar)) into (bit foo, bar). This saves extra instruction. Patch inspired by Brian Lucas!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9688c52873170b7096ec6f7e13ddea8cb13ca6d8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 7 23:11:03 2009 +0000

    Watch out for duplicated PHI instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90816 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb900da68f1eef3242a89e4f3f2078bbccb093b3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 7 23:10:34 2009 +0000

    Follow up to 90488. Turn a check into an assertion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90815 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5d28ebb4b6d5cf3f6b15f0a1be3e3e82816b03b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Dec 7 22:32:38 2009 +0000

    Fix the OProfileJITEventListener for StringRef being returned from debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90813 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a8b457e8247f989a5d6d19468fc23e7e48a7118
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Dec 7 21:54:43 2009 +0000

    Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 641f820036ddf1823bf6b175f4bab0034749b537
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Dec 7 21:41:32 2009 +0000

    Add support to emit debug info for c++ style namespaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03cbedef57d2f8bba7823df2f17ffc29e089ba43
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 7 21:19:33 2009 +0000

    Delete code accidentally left behind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90804 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0f617ce7b174a87c19e6f21bcadecc68654ff38
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 7 19:52:57 2009 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78a0c48a34b4ae0f766bc94e841018cd9d3557ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 7 19:45:30 2009 +0000

    add accessor, improve comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ef78de4b1c6169cbee2671bbe2a4291d21231cf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 7 19:42:22 2009 +0000

    Test case for 90787.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90791 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef778032ceda17e7b5209045d28761c5190b5730
Author: David Greene <greened@obbligato.org>
Date:   Mon Dec 7 19:40:26 2009 +0000

    Use FileCheck and set nounwind on calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 654f5abad31952e2e447a598635ba9ce3a582a45
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 7 19:38:26 2009 +0000

    Apply Pekka Jääskeläinen's patch to raise the first virtual register
    number in order to accomodate targets with more than 1024 registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90789 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2379900d4ebb0568cc18e7102f1d3567f2fabea
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Dec 7 19:36:34 2009 +0000

    Introduce the "@llvm.dbg.value" debug intrinsic.

    The semantics of llvm.dbg.value are that starting from where it is executed, an offset into the specified user source variable is specified to get a new value.

    An example:
      call void @llvm.dbg.value(metadata !{ i32 7 }, i64 0, metadata !2)
    Here the user source variable associated with metadata #2 gets the value "i32 7" at offset 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fc593ad30a6640abdcd0e27aefcfae35eb874f5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 19:16:13 2009 +0000

    Simplify a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43f5c616b9938842aebaa8de4451aca52c408f04
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 19:15:57 2009 +0000

    Throw 'const char*' instead of 'std::string'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 726e81006a54d5ee21372b593b6d0aebed32eade
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 7 19:04:49 2009 +0000

    add support for phi translation and incorpation of new expression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90782 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad1cc9c85c6ebd136855b133cfa0397741c2dcbf
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Dec 7 19:04:31 2009 +0000

    Don't enable the post-RA scheduler on x86 except at -O3. In its
    current form, it is too expensive in compile time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90781 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3fce13cb0bd4c4afcf1c28f788a398df6a560dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Dec 7 18:36:53 2009 +0000

    checkpoint of the new PHITransAddr code, still not done and not used by
    anything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90779 91177308-0d34-0410-b5e6-96231b3b80d8

commit e420496fa6dc7f2aa0cbec0a37f61197e5b402bc
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 18:26:24 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90776 91177308-0d34-0410-b5e6-96231b3b80d8

commit b045d745c550cdd03ae35f9ea4a9e325cbd50bbb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 18:26:11 2009 +0000

    Documentation update.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b292727d8198ca5f85d501a741cb9e69f611038
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 18:25:54 2009 +0000

    Deprecate 'unpack_values'.

    Use 'forward_values' + 'comma_separated' instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b6e9d258dcb26f889bfd4c5c0139bfea7421b19
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 17:03:21 2009 +0000

    Pass '-msse' and friends to llc as '-mattr=+/-'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90771 91177308-0d34-0410-b5e6-96231b3b80d8

commit f77867899cf80b436831429e58bac1f6a1ae66a1
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 17:03:05 2009 +0000

    Implement 'forward_value' and 'forward_transformed_value'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d52e693236fe83a47e438438a186d337f149ab0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Dec 7 10:51:55 2009 +0000

    Refactoring, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90764 91177308-0d34-0410-b5e6-96231b3b80d8

commit c02f3dca734ac6709bf51d5768ed7b3f97b4a9e7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 7 10:15:19 2009 +0000

    Pre-regalloc tale duplication. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 768358c2b996a799013fb0caa691ffe3b4f6e950
Author: John Mosby <ojomojo@gmail.com>
Date:   Mon Dec 7 09:06:37 2009 +0000

    fixed some typos in method comments, reworded some comments for clarity

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90754 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4aafc85f5a94802c121050ec113973249e295577
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Dec 7 05:29:59 2009 +0000

    Fixes the Atomic implementation if compiled by MSVC compiler.

    sys::cas_flag should be long on this platform, InterlockedAdd() is
    defined only for the Itanium architecture (according to MSDN).

    Patch by Michael Beck!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18552eb96f80811caa9f48141219ebeb2eadc5b3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Dec 7 03:07:01 2009 +0000

    If BB is empty, insert PHI before end() instead of front().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90744 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7fb83a04b4c05856465db53ad0981a8db72265c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 7 02:28:41 2009 +0000

    Some pretty-printing

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90742 91177308-0d34-0410-b5e6-96231b3b80d8

commit c15c59e7601f48d83728faa47d5bf676ad084383
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 7 02:28:26 2009 +0000

    Truncate the arguments of llvm.frameaddress / llvm.returnaddress intrinsics from i32 to platform's largest native type

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71169a722a14e9f381d61253aa8ebafd28f3e5d9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 7 02:28:10 2009 +0000

    Add lowering of returnaddr and frameaddr intrinsics. Shamelessly stolen from x86 :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a39d69350dc6cdf4088ee6b1864070e619ef6d3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 7 02:27:53 2009 +0000

    Initial codegen support for MSP430 ISRs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56998002fed819fcf5d9dc28c49287454425506f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 7 02:27:35 2009 +0000

    Add MSP430 interrupt calling conv. No functionality change yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57f67276b60064d0bf4c97ad459241377dff7e08
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Dec 7 02:27:08 2009 +0000

    Add ability to select hw multiplier mode and select appropriate libcalls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7363a6e009625b257d01c6c1a64653e17e2676cc
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Dec 7 00:27:35 2009 +0000

    Fix typos. Thanks to John Tytgat for noticing it!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90728 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7374f702cd95402ff597457c8b3772cf3770ecf
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Dec 6 22:39:50 2009 +0000

    Dynamic stack realignment use of sp register as source/dest register
    in "bic sp, sp, #15" leads to unpredicatble behaviour in Thumb2 mode.
    Emit the following code instead:
    mov r4, sp
    bic r4, r4, #15
    mov sp, r4

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cbb985ccdaaf5bc818e25d941a6e31d611deca4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 17:17:23 2009 +0000

    fix PR5698

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90708 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae4038f66b81c6a6017cac78817aa1c8dadd37d8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 16:58:41 2009 +0000

    remove extraneous comma clang warns about

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bb632ff31a7a273cd8c7411319b27dd5b532f9f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 05:29:56 2009 +0000

    constant fold loads from memcpy's from global constants.  This is important
    because clang lowers nontrivial automatic struct/array inits to memcpy from
    a global array.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90698 91177308-0d34-0410-b5e6-96231b3b80d8

commit a96e53ae92d46707d04f238679ecb012ff07df99
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 04:54:31 2009 +0000

    add support for forwarding mem intrinsic values to non-local loads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90697 91177308-0d34-0410-b5e6-96231b3b80d8

commit d59cb5d5442025e89d4b6c16bf685a6f770d7add
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 04:16:05 2009 +0000

    gvn is optimizing this better now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90696 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb00f73e99d788c3cb30168d32e46f6970c93d48
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 01:57:02 2009 +0000

    Handle forwarding local memsets to loads.  For example, we optimize this:

    short x(short *A) {
      memset(A, 1, sizeof(*A)*100);
      return A[42];
    }

    to 'return 257' instead of doing the load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e77e9b0238cff581abc86626cd153f726478804
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 01:56:22 2009 +0000

    Add helper methods for forming shift operations with a constant
    shift amount.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e1e701a5bb2515de949ee95e457d208cbd36d19
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Dec 6 01:47:24 2009 +0000

    merge two tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46999ba6514604c021f8ec30df15e47568840c85
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Dec 6 00:06:33 2009 +0000

    CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90685 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac88a7eecd22b24ede69845dd74cae286ff14816
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sat Dec 5 23:19:33 2009 +0000

    Fix for atomic intrinsics detection when using MSVC.

    Patch by Michael Beck!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90683 91177308-0d34-0410-b5e6-96231b3b80d8

commit a182b3f8ba53a7b042461fd206a0807697ae6e85
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 17:56:26 2009 +0000

    Remove old DBG_LABEL code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90669 91177308-0d34-0410-b5e6-96231b3b80d8

commit 955748e8b311172018ee5ab478e84b1f663d6547
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 17:51:33 2009 +0000

    Remove the unused DisableLegalizeTypes option and related code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90668 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5b718ce82f52d669b9657ec5534f5b37a152637
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Dec 5 07:59:04 2009 +0000

    Calling InvalidateEntry during the refinement was breaking the bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90656 91177308-0d34-0410-b5e6-96231b3b80d8

commit b347993aa457ca3c18247735eb301388d1fe2e71
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Dec 5 07:46:49 2009 +0000

    Final cleanups:

    - Privatize a typedef.
    - Call the InvalidateEntry when refining a type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27cae32667e68db30ebfdee6fa4727696895967f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Dec 5 07:30:23 2009 +0000

    Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c9f6a6c8f5226419d4b0bac7c0cd5cf3f8d644d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Dec 5 06:37:52 2009 +0000

    Document that memory use intrinsics may also return Def results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90651 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea2236d55ea9e19aaedb6e4402a3be714aed7efd
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Dec 5 06:37:24 2009 +0000

    Fix indentation in switch statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b7bc81e5026c1c950667f0d96f499edc671e49c
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Dec 5 05:00:00 2009 +0000

    Generalize this optimization to work on equality comparisons between any two
    integers that are constant except for a single bit (the same n-th bit in each).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90646 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1151bf0deb01cc4fd87b8a394196f1123c78566
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Dec 5 02:46:03 2009 +0000

    More updates to objectsize intrinsic docs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1792bc68d2991042dceaa55f508a1c6c6a43b58a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 02:00:34 2009 +0000

    Don't print a space before the : between the file name and line number.
    And separate the directory and file name with a '/'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ea7e173d2eb27dc6a36b0c93c3e48ebea5da821
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Dec 5 01:46:01 2009 +0000

    Inline methods which are called only once.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ce8b25281afb6b4b39f9e8442275007de6ef920
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Dec 5 01:43:33 2009 +0000

    Refactor some code. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90639 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfca6e367887ec0820cf5c664eec4c0714166980
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 01:42:34 2009 +0000

    Print newlines after printing labels for debug info, so that the output
    isn't cluttered with things like "Llabel47:Llabel48:  movq  (%rsi), %xmm3"

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5b50fbff2c7d0f0e5f225da1c2f3f58299b35da
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 01:29:04 2009 +0000

    Don't blindly set the debug location for PHI node copies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 581cdf90ade3d318dedde0c645d478ffede09e0d
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 01:27:58 2009 +0000

    Make TargetSelectInstruction protected and called from FastISel.cpp
    instead of SelectionDAGISel.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01696988ff3c98744cce105372803d4ed903f988
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:44:40 2009 +0000

    Remove the target hook TargetInstrInfo::BlockHasNoFallThrough in favor of
    MachineBasicBlock::canFallThrough(), which is target-independent and more
    thorough.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90634 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc18967dc5cbda59461d704cc1543b4fbd57f592
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:32:59 2009 +0000

    Simplify this code: don't call AnalyzeBranch before doing simpler checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ca1ac3967582cd4c02a12054b927adc1e111e52
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:27:08 2009 +0000

    The debug information for an LLVM Instruction applies to that Instruction
    and that Instruction only. Implement this by setting the "current debug position"
    back to Unknown after processing each instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90632 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4698bab134cd68e41ae098168d9fd78e64b69904
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:23:29 2009 +0000

    Fix this code to use DIScope instead of DICompileUnit, as in r90181.
    Don't print "SrcLine"; just print the filename and line number, which
    is obvious enough and more informative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef92a646d90a7dc618598e7b836638f96238f245
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:20:51 2009 +0000

    Don't print the debug directory; it's often long and uninteresting. Omit
    the column number if it is not known. Handle the case of a missing filename
    better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90630 91177308-0d34-0410-b5e6-96231b3b80d8

commit a45e4926a3f8191749e5796b1829387c729a8a41
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:05:43 2009 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1db628b4bc909ddc0d17ac0b2930cbf00a61191a
Author: David Greene <greened@obbligato.org>
Date:   Sat Dec 5 00:03:24 2009 +0000

    Remove an unneeded include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b62af25fd3f6b7b9efd33f31c2db6c806b5cb6c
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Dec 5 00:02:37 2009 +0000

    Remove now-redundant llvm-as invocations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90626 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2b73bd6b0f0b3271a9d63a9933bafbcba2555fe
Author: David Greene <greened@obbligato.org>
Date:   Fri Dec 4 23:55:07 2009 +0000

    Remove an unneeded include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 546f68a11248be2f32331f07c5baccf8d9ebb00d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 4 23:29:57 2009 +0000

    Add testcase for PR4262.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90623 91177308-0d34-0410-b5e6-96231b3b80d8

commit e26680ba1f829b15338f0f128855432c5bfd7210
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Dec 4 23:19:55 2009 +0000

    Print a space between the comment character and the text.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6329f4f55dcdfb70f68498843c88b5a73dcd4c03
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 4 23:16:56 2009 +0000

    Temporarily revert r72620 because r72619 was reverted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90619 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3df6974d831cc29b86026ce3ee3467eb489ea7f
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Dec 4 23:10:24 2009 +0000

    In TAG_subrange_type, uppder bound is zero indexed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90617 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef682b7fdd6c1fc93490a01b7ba4093e4c935771
Author: David Greene <greened@obbligato.org>
Date:   Fri Dec 4 23:08:02 2009 +0000

    Fix a bad merge.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 989d418a4e80243a7c1ef377b24129218ba99cd5
Author: David Greene <greened@obbligato.org>
Date:   Fri Dec 4 23:00:50 2009 +0000

    Update the TargetInstrInfo interfaces so hasLoad/StoreFrom/ToStackSlot
    can return a MachineMemOperand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ef2d0921f1b88f1be8eb8c3380b4e17aee82bae
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 4 22:46:47 2009 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11a046f10f723cac2c598dd0a626383c43aecba2
Author: David Greene <greened@obbligato.org>
Date:   Fri Dec 4 22:46:04 2009 +0000

    Use new interfaces to print spill size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 647636ff709918827317acb14e19f1f78731d140
Author: David Greene <greened@obbligato.org>
Date:   Fri Dec 4 22:38:46 2009 +0000

    Have hasLoad/StoreFrom/ToStackSlot return the relevant MachineMemOperand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90608 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17bd7fec405d4836c56e7f36d46c89d7a19dc25f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 4 21:57:37 2009 +0000

    Fix up some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90603 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcb8eeed72b0f2838ccf134e814aad2feb254192
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 4 21:51:35 2009 +0000

    Fix 80-column violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90601 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfd40e5a54cf4299c3ec340152e1ae0350530b37
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Dec 4 21:41:24 2009 +0000

    OptParser: Emit HelpText field for option groups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90599 91177308-0d34-0410-b5e6-96231b3b80d8

commit c461971d6dea16b5a464a801979b133746016d2f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Dec 4 21:03:02 2009 +0000

    Some code cleanup. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90588 91177308-0d34-0410-b5e6-96231b3b80d8

commit deb54c890a835d61f87054cd0f0fd89929fd7207
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Dec 4 20:07:10 2009 +0000

    Avoid creating a metadata slot for all metadata that contains an instruction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99298f61d3a280ade30c73faee24fd72e0cdc228
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 4 19:09:10 2009 +0000

    Handle recursive PHI's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90575 91177308-0d34-0410-b5e6-96231b3b80d8

commit abf657c53cc476649c440c08edc622f71cbc61ba
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Dec 4 18:29:23 2009 +0000

    Fix crasher when N->getElement(n) is NULL

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 371fcef75743c634263720bcd3a61a1615b90163
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 4 09:42:45 2009 +0000

    Add a pre-regalloc tail duplication pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6941493d76d1aaaffb2d5d505eef249f9145d07b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 4 09:23:37 2009 +0000

    Don't try to be cute with undef optimization here. Let ProcessImplicitDefs handle it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90566 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4c88cfd8ee8bff54a68d0642d671ea778782e6d
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Dec 4 08:42:17 2009 +0000

    Add note about a subtle bug in this code.  Does not effect the main
    architectures that LLVM targets, because they don't use this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f27b6231b04b85963be239e4b4e38a4ca4ad282
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Dec 4 08:17:07 2009 +0000

    Fix typo and add missing include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 078fc85321a73e8e62dac97c35361306ffd0205c
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Dec 4 06:58:24 2009 +0000

    Added debug output for inherited passes that are invalidated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90553 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14d122d1e12cccd89611132195c0c884ff20f08c
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Dec 4 06:38:45 2009 +0000

    Forward -m32/-m64 to the linker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90548 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6244a12df638a1e891969f5d98c39061a4afedb
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Dec 4 06:38:28 2009 +0000

    Support -march/-mtune/-mcpu.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90547 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9c1d1c0c9628ce3b99e16e610ec41affcbaf614
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Dec 4 06:29:29 2009 +0000

    Fix PR5551 by not ignoring the top level constantexpr when
    folding a load from constant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90545 91177308-0d34-0410-b5e6-96231b3b80d8

commit 264a3832a12498c4cf895d43ca3642faea987617
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Dec 4 04:15:36 2009 +0000

    add to cmake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90539 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3271997b64f2881fbfb1152031ed2e14337ecba
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Dec 4 02:12:12 2009 +0000

    Small and carefully crafted testcase showing a miscompilation by GVN
    that I'm working on.  This is manifesting as a miscompile of 255.vortex
    on some targets.  No check lines yet because it fails.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9003793e8d154cb9b14cc2391c46c68f97e2182c
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Dec 4 02:10:16 2009 +0000

    add the start of a class used to handle phi translation in memdep and
    gvn (this is just a skeleton so far).  This will ultimately be used
    to fix a nasty miscompilation with GVN.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1358217bcbc89fe174040d453fbb63f4a2ca79d5
Author: Mike Stump <mrs@apple.com>
Date:   Fri Dec 4 01:53:15 2009 +0000

    Create yet another helper for Invoke.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90514 91177308-0d34-0410-b5e6-96231b3b80d8

commit 634753dbd76b1db3ed7a48af1d1fbc94da3daa93
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Dec 4 01:35:02 2009 +0000

    Teach AsmWriter to write inline (not via a global metadata slot) metadata that contains an instruction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90512 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0c7dd2577afbb02d62879c8b6ac4ecd6d372d62
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Dec 4 01:33:04 2009 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90511 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdbf27b90f3018b6bb3b66b3f58db960d445ef59
Author: Mike Stump <mrs@apple.com>
Date:   Fri Dec 4 01:26:26 2009 +0000

    Add some helpers for Invoke to mirror CreateCall helpers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bf11742990180e29ca58bbe8f1149773ec6090a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Dec 4 01:03:32 2009 +0000

    add an assert to make it really clear what this is doing.  Return singularval as
    a compile time perf optimization to avoid a load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88d11c3a214da464deb05eb17922d633e5af77a1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Dec 4 00:16:04 2009 +0000

    Also attempt trivial coalescing for live intervals that end in a copy.

    The coalescer is supposed to clean these up, but when setting up parameters
    for a function call, there may be copies to physregs. If the defining
    instruction has been LICM'ed far away, the coalescer won't touch it.

    The register allocation hint does not always work - when the register
    allocator is backtracking, it clears the hints.

    This patch takes care of a few more cases that r90163 missed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 723be602ecdfde30a50c3afe1780575fdf8f0f56
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Dec 4 00:09:05 2009 +0000

    - If the reaching definition is an undef and the use is a PHI, add the implicit_def to the end of the source block.
    - When reaching value is replaced with another, update the cache as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4285ddbfd5fd218038058a6fdb2366ae3247a99d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Dec 3 23:46:57 2009 +0000

    Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 223c7146f919727a834a1fa5471f25ce169ab2a6
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Dec 3 23:40:58 2009 +0000

    Add ParseInlineMetadata() which can parses metadata that refers to an instruction.  Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90497 91177308-0d34-0410-b5e6-96231b3b80d8

commit d003075f1b3921f20ac9da8e0310afa4cd9b2f04
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Dec 3 21:55:01 2009 +0000

    remove out of date FIXME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21d9a013924f79957deaa9dac748d722cc40b40a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 3 21:51:55 2009 +0000

    Handle undef values properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 886ea36230307f67689a2f318adf47ec80dd8be4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 3 21:50:58 2009 +0000

    Watch out for PHI instruction with no source operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 505f207509d2814d54c957bd9324c59b332f35ba
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Dec 3 21:47:07 2009 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90487 91177308-0d34-0410-b5e6-96231b3b80d8

commit b956e74994c0d0e41f2862e79d96ec699de782de
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Dec 3 21:37:32 2009 +0000

    Fix ExpandShiftWithUnknownAmountBit, which was completely bogus.
    Pointed out by Javier Martinez (who also provided a patch).  Since
    this logic is not used on (for example) x86, I guess nobody noticed.
    Tested by generating SHL, SRL, SRA on various choices of i64 for all
    possible shift amounts, and comparing with gcc.  Since I did this on
    x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit.
    What I'm saying here is that I don't have a testcase I can add to the
    repository.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90482 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0afa909ad8d1b108b4ad6925ca6b3a5de2817e2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Dec 3 20:49:10 2009 +0000

    Clean up some loop logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 188c85dc4247e23ddaa63e055972253de3901fdb
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Dec 3 19:11:07 2009 +0000

    Add support to emit debug info for virtual functions and virtual base classes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96d7b188600be74e1936f6ed871b1d83d017bbf8
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Dec 3 19:03:18 2009 +0000

    Print a newline after the Args: line so that unrelated errs() output doesn't
    end up on the same line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90473 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e1265d554b730da926b3fee830c38e5dd9eefae
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Dec 3 13:23:03 2009 +0000

    Fix MSVC build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90454 91177308-0d34-0410-b5e6-96231b3b80d8

commit e047045d670b654099260d18939e7c997ef382b6
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Dec 3 12:55:57 2009 +0000

    Convert ProfileVerifier to template so it can be used for different types of ProfileInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90451 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2aee46c884e3f2ef217f9c923eeb1f9b303f784
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Dec 3 12:41:14 2009 +0000

    Do not create negative edge weights in ProfileEstimator.
    Use integer values for weights to prevent rounding errors.
    Make ProfileEstimator more robust in general CFGs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90449 91177308-0d34-0410-b5e6-96231b3b80d8

commit eee658317491fb9c16588d9490a953cbe099099c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Dec 3 11:12:42 2009 +0000

    Add an implementation of the delta debugging algorithm.
     - This is a pretty slow / memory intensive implementation, and I will likely
       change it to an iterative model, but it works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90447 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86f33f89980cab23051ee961585883bb3627d7a8
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Dec 3 11:00:37 2009 +0000

    Use ProfileInfo-API in ProfileInfo Loader and do more assertions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c3770a68b8978d3b7ab6abe6176590b8bbbe59e
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Dec 3 09:30:12 2009 +0000

    Converted ProfileInfo to template, added more API for ProfileInfo-preserving.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90445 91177308-0d34-0410-b5e6-96231b3b80d8

commit e83c9b214205978873745b7368df84cf9f117996
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 3 08:43:53 2009 +0000

    Teach tail duplication to update SSA form. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 112929ef9a90dece270087545a7b173e64dc6245
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 07:43:46 2009 +0000

    expand note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90429 91177308-0d34-0410-b5e6-96231b3b80d8

commit dddb3a3b9e782e72a9568a31639ede110cf05131
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 07:41:54 2009 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90428 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea5d5940df6894c2efc4c6ac76700922df97d8b2
Author: Nate Begeman <natebegeman@mac.com>
Date:   Thu Dec 3 07:11:29 2009 +0000

    Don't pull vector sext through both hands of a logical operation, since doing so prevents the fusion of vector sext and setcc into vsetcc.
    Add a testcase for the above transformation.
    Fix a bogus use of APInt noticed while tracking this down.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12fac174a70da350938ffa425d60e5f314ca5a8d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 06:58:32 2009 +0000

    fix a build problem with VC++, PR5664, patch by Alp Toker!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 171422980d99d7689b2cac01504b981e87b61905
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Dec 3 06:40:55 2009 +0000

    Recognize canonical forms of vector shuffles where the same vector is used for
    both source operands.  In the canonical form, the 2nd operand is changed to an
    undef and the shuffle mask is adjusted to only reference elements from the 1st
    operand.  Radar 7434842.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ac6732b47ec36df1b6d990a62d21da02fddee2b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Dec 3 05:15:35 2009 +0000

    Don't call getValueType() on a null SDValue

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c405b9b2073b226155ef3e928ffa4f07e69607d
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Dec 3 03:43:29 2009 +0000

    Fix this crasher, and add a FIXME for a missed optimization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 615cc8769c570cab6cb910255c0fab10256cf272
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Dec 3 02:31:43 2009 +0000

    Fill out codegen SSA updater. It's not yet tested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90395 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff1f7f7ab396cf2f68d64a7bc54d04f7dde178ae
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Dec 3 01:54:07 2009 +0000

    Revert r90371. It was causing build failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26f2fb73faa4634ef52b931f6581f127c79bc2f2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Dec 3 01:49:56 2009 +0000

    Don't hang on to pointers or references after vector::push_back.

    The MO reference to a MachineOperand can be invalidated by
    MachineInstr::addOperand. Don't even use it for debugging.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c17063f8a9795289eee9454110f066e225a72bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 01:46:18 2009 +0000

    add a failing testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90380 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1df879dbd07bb4d63e7cc6358ed73263c631c12
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Dec 3 01:25:38 2009 +0000

    Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07af48541ca53034b99a5290bca9b8d45849860c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Dec 3 01:15:46 2009 +0000

    Further improvements: refactoring code that does the same thing into one
    function, converting "dyn_cast" to "cast", asserting the correct things, and
    other general cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90371 91177308-0d34-0410-b5e6-96231b3b80d8

commit 610e0bd83840b8254dbc2ad0a4ba352eca16a720
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 01:10:05 2009 +0000

    yay for case insensitive file systems (?)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56de6c29b3028dc1d6e5dc203292de7bb44275d5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 01:05:45 2009 +0000

    fix PR5673 by being more careful about pointers to functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90369 91177308-0d34-0410-b5e6-96231b3b80d8

commit a262eaa4f9eb214d28918a397c07a80b6158bf0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 00:55:04 2009 +0000

    remove some dead std::ostream using code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90366 91177308-0d34-0410-b5e6-96231b3b80d8

commit b44b429549bc4c4f950d56d4f6fa0ba486856cc6
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Dec 3 00:50:42 2009 +0000

    improve portability to avoid conflicting with std::next in c++'0x.
    Patch by Howard Hinnant!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56eb10842f19c43f3970f6f6ba2d8b7dbf4807e9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Dec 3 00:17:12 2009 +0000

    This initial code is meant to convert TargetData to use an AbstractTypesUser so
    that it doesn't have dangling pointers when abstract types are resolved. This
    modifies it somewhat to address comments: making the "StructLayoutMap" an
    anonymous structure, calling "removeAbstractTypeUser" when appropriate, and
    adding asserts where helpful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33221d9fcccbb6f41d5664fd0b89c9e6f71a0875
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Dec 2 22:19:31 2009 +0000

    Fix CMake makefiles

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 023a88ee8ad038b8e7686187cee877299cdefbca
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Dec 2 22:02:52 2009 +0000

    Skeleton for MachineInstr level SSA updater.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90353 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd6fa9f3032a0781be6c8b4acd8aba62d5b96285
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Dec 2 22:02:20 2009 +0000

    Remove unnecessary check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90352 91177308-0d34-0410-b5e6-96231b3b80d8

commit dee452ff502feea9a09247af651d25107748bc0e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Dec 2 19:31:07 2009 +0000

    Add MaxStackAlignment.cpp to CMake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d20ee6d9a35d9498ad170c55ba714b346237a55
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Dec 2 19:30:24 2009 +0000

    Factor the stack alignment calculations out into a target independent pass.
    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5eb5f091ab381b612c271a1683e6e0870394d0c4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Dec 2 17:15:24 2009 +0000

    Don't count PHI instructions toward the limit for tail duplicating a block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3168d8c736130382a1c7b92a452f3707cc69783a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Dec 2 17:06:45 2009 +0000

    Move EliminateDuplicatePHINodes() from SimplifyCFG.cpp to Local.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00e637ba6ff6e9749f67cbed852462839d14241b
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Dec 2 15:57:15 2009 +0000

    Cheap, mostly strict, stable sorting.

    This is necessary for tests so the results are comparable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90320 91177308-0d34-0410-b5e6-96231b3b80d8

commit aca44457101e481c0efc60e9e3f8a0c5a53e45aa
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Dec 2 15:33:44 2009 +0000

    Silence compiler warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90319 91177308-0d34-0410-b5e6-96231b3b80d8

commit df0f215750690b1c58f76b72f751d5a5c4da46d8
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Dec 2 15:25:16 2009 +0000

    Clarify that DIEString does not keep a copy of the string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90318 91177308-0d34-0410-b5e6-96231b3b80d8

commit f187daf03250b0e1763bf07437d5048f6320789c
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Dec 2 07:35:19 2009 +0000

    Cleanup/remove some parts of the lifetime region handling code in memdep and GVN,
    per Chris' comments.  Adjust testcases to match.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90304 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc6fccc2682a75a1dcbf8904334bc3b137fdc213
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 2 06:44:58 2009 +0000

    factor some code better.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90299 91177308-0d34-0410-b5e6-96231b3b80d8

commit 648dc5a2106ef92818f54ef831ac051f7d238264
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 2 06:35:55 2009 +0000

    formatting cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90298 91177308-0d34-0410-b5e6-96231b3b80d8

commit 262590904ae923498bc704da374110de14289a2a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 2 06:05:42 2009 +0000

    tidy up, remove dependence on order of evaluation of function args from EmitMemCpy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53f9966b7a5454affde814ceb105c7f26f330617
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 2 05:34:35 2009 +0000

    merge sext-2 into sext.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f7fc4e0d23f3c2feb72d872843465c572774479
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 2 05:32:33 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79e59484e54d1fb722525de5f7e23101e128e1b8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Dec 2 05:32:16 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3adb22982168a536036386dc27dd0522f0839658
Author: Mon P Wang <wangmp@apple.com>
Date:   Wed Dec 2 04:59:58 2009 +0000

    Fixed an assertion failure for tracking sext of a vector of integers

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69668fe63a3e714b363c251307dc34e243b1d101
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 1 23:09:02 2009 +0000

    Add utility routine to create subprogram definition entry from subprogram declaration entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 920ffac27e66522138cddf6aac63f4965c8103dd
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 1 23:07:59 2009 +0000

    Reuse existing subprogram DIE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90281 91177308-0d34-0410-b5e6-96231b3b80d8

commit b05c79891c16cf8f9b86fc0a35e496f398ec5ebb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 22:51:41 2009 +0000

    return more useful error messages by using strerror to format errno
    instead of returning an ambiguous reason.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90275 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad60d2d9e46713fde0421b91ebcd0a1369b142e5
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Dec 1 22:28:41 2009 +0000

    Update per Bill's comments. Work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 578f3231d6c9ba6d6bd8c683033748cf4d68b623
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 1 22:25:00 2009 +0000

    Fix PR5391: support early clobber physical register def tied with a use (ewwww)
    - A valno should be set HasRedefByEC if there is an early clobber def in the middle of its live ranges. It should not be set if the def of the valno is defined by an early clobber.
    - If a physical register def is tied to an use and it's an early clobber, it just means the HasRedefByEC is set since it's still one continuous live range.
    - Add a couple of missing checks for HasRedefByEC in the coalescer. In general, it should not coalesce a vr with a physical register if the physical register has a early clobber def somewhere. This is overly conservative but that's the price for using such a nasty inline asm "feature".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79affd8fb46d75087c98aa4095dfc207c820d9f1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Dec 1 21:53:51 2009 +0000

    test case for IV-Users simplification loop improvement

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 536fff516dd00816acf36d0b118e391a119e182b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 21:16:01 2009 +0000

    rename some variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90258 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39380bfcb91f84d404d5adbf38e4b3916769cd82
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 21:15:15 2009 +0000

    tidy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69be7878c045ac40c9c847fe8d04f44e51663c04
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 1 19:20:00 2009 +0000

    Add edge source labels to SelectionDAG graphs, now that the graph printing
    framework omits differentiated edge sources in the case where the labels
    are empty strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cb3747a8bb51ba03b38cf87e606e2bb33032d6e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 1 19:16:15 2009 +0000

    Minor cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90253 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bf95848e06bdfa04ec8a28cc22730ae139b9786
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 1 19:13:27 2009 +0000

    Trim an unnecessary #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 584f5f5e52830802e809b1c03c48de7dcdf87c4a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Dec 1 19:11:36 2009 +0000

    Don't default warnings to ON on MSVC, the spew is enough to triple the build time. :/

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67533ab25e3fd9b66779dee173f5cb3cfb93cb99
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 1 18:13:48 2009 +0000

    Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90247 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0fb7c4e1ae9b7c87037bc6a72adce439d23484c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Dec 1 18:10:36 2009 +0000

    Thumb1 exception handling setjmp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e1b1ad3abeb24f6da12afe63ac7a1074c1e3dbf
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Dec 1 17:37:06 2009 +0000

    For VLDM/VSTM (Advanced SIMD), set encoding bits Inst{11-8} to 0b1011.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90243 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a929cf5ff12aac2838d89389e1a90fceb731437
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 1 17:13:31 2009 +0000

    Move PHIElimination::isLiveOut method to LiveVariables.

    We want LiveVariables clients to use methods rather than accessing the
    getVarInfo data structure directly. That way it will be possible to change the
    LiveVariables representation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90240 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdb7736af562a153a1a3821737ec86876f0a817e
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Dec 1 15:53:33 2009 +0000

    typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90236 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3798876dfe29818e97cff43cba6785648253867
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Dec 1 12:53:56 2009 +0000

    demonstrate usage of Cases() mapping several strings to the same value; remove trailing spaces

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90230 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24dd55c3e41c2d655eefe760c446d9e24e44c287
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 1 09:47:11 2009 +0000

    Add relocation model options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90222 91177308-0d34-0410-b5e6-96231b3b80d8

commit 977dffe8fde833b6c312d14b40d619e33d6ba866
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 1 09:19:09 2009 +0000

    Typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90221 91177308-0d34-0410-b5e6-96231b3b80d8

commit 825f4e1e87f1afff90a026ffe0876eff313bcf56
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Tue Dec 1 08:43:33 2009 +0000

    Fix copy paste bug

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90220 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf50d21c781661a1637c48dbe4e2a412764729f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 07:33:32 2009 +0000

    fix 255.vortex again, third time's the charm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90217 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39e844369d0a07edab15cf20037d6da328f8bd6c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 07:30:01 2009 +0000

    minimize this a bit more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 488fe85c61807145b2d052a9104ceca80e17df74
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 1 06:51:30 2009 +0000

    Forward -save-temps to llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90214 91177308-0d34-0410-b5e6-96231b3b80d8

commit 333b7e1d9e904eff9b98e20984cbd8439b86282f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 06:22:10 2009 +0000

    merge 2009-11-29-ReverseMap.ll into crash.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90212 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0cb431faf56460af265f0d9b92b7d7e49eb75b4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 06:04:43 2009 +0000

    fix PR5640 by tracking whether a block is the header of a loop more
    precisely, which prevents us from infinitely peeling the loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90211 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a25c251af8588b170f76e7e479cdc947ca924e5
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Dec 1 05:59:55 2009 +0000

    Support -[weak_]framework and -F in llvmc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90210 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cb75ac35fdf87efaf27010947a6b19fae785ff4
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Dec 1 03:18:26 2009 +0000

    Remove the gcc builtins from the intrinsics, we'll lower them
    explicitly so we can check arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90199 91177308-0d34-0410-b5e6-96231b3b80d8

commit c79abe2ba9e6bd0909b9a00eddb54a8d500ec11c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Dec 1 03:03:00 2009 +0000

    Use CFG connectedness as a secondary sort key when deciding the order of copy coalescing.

    This means that well connected blocks are copy coalesced before the less connected blocks. Connected blocks are more difficult to
    coalesce because intervals are more complicated, so handling them first gives a greater chance of success.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b958caea8cf2cd06c543188b32fd3f17bcd5652
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Dec 1 02:26:01 2009 +0000

    Add a soft link so that in an apple style build we can find libLTO.dylib.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b581b33c31386a16bd1ae4ff121b0908e43c64a
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Dec 1 02:21:51 2009 +0000

    Add two CMake flags LLVM_ENABLE_PEDANTIC and LLVM_ENABLE_WERROR,
    PEDANTIC defaults to ON and WERROR default to off.

    Also add MSVC warnings. To disable warnings add the flags
    LLVM_ENABLE_WARNINGS (default on).

    Patch by Tobias Grosser!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90188 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8bceade9b026d229b621399e196e8376396d0b7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Dec 1 01:56:27 2009 +0000

    fix PR5649 by making fib use the JIT instead of the interpreter, patch by Perry Lorier!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90186 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7aaf7b998d0006b775c3e494ea4b6d614f3ef81
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 1 01:38:10 2009 +0000

    Add a comment about A[i+(j+1)].

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05837cdf183324700fbe8231a655e9f7101057c6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 1 00:59:58 2009 +0000

    Remove some validation errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90184 91177308-0d34-0410-b5e6-96231b3b80d8

commit d90060edfdeaadf4563de2521221c201924e1790
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Dec 1 00:53:11 2009 +0000

    Some formatting and spelling fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90182 91177308-0d34-0410-b5e6-96231b3b80d8

commit af20e7cfb5d44c7a0caad3a152978fcca1f4b438
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Dec 1 00:45:56 2009 +0000

    Devang pointed out that this code should use DIScope instead of
    DICompileUnit. This code now prints debug filenames successfully.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e99614c66e92b4f6c26531b8c84e0f42a35c902
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Dec 1 00:44:45 2009 +0000

    Fix PR5614: parts of a physical register def may be killed the rest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90180 91177308-0d34-0410-b5e6-96231b3b80d8

commit de4b5d00385da6273b0902e9385928b99aeda670
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Dec 1 00:13:06 2009 +0000

    Test case for r90175.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90176 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf4fad276042adc440ff0d119b9fb67a94814ccf
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Dec 1 00:02:02 2009 +0000

    For VMOV (immediate), make some of the encoding bits (cmode and op) unspecified.
    For VMOVv*i[16,32], op bit is don't care, and some cmode bits vary depending on
    the immediate values.

    Ref: Table A7-15 Modified immediate values for Advanced SIMD instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90173 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76b806763b89ea64337bd967614662a72f237191
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Nov 30 23:56:56 2009 +0000

    If pointer type has a name then do not ignore the name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63c90f69fe61ee5b0ff0ee8acf73274452da933e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 30 23:50:14 2009 +0000

    * CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90170 91177308-0d34-0410-b5e6-96231b3b80d8

commit a86f9f058bf09127b7cf306770c353a6ffc41b3f
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 30 23:48:51 2009 +0000

    * cmake/modules/LLVMLibDeps.cmake: Updated library dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90169 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26219b78e2e252a08c7c59aceb05a86751cdf20e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 30 23:33:53 2009 +0000

    Minor whitespace fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90166 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66fe2bca32f043bf5bd15c732c80627621d7abb7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 30 23:33:37 2009 +0000

    Fix a minor inconsistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90165 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ff03c6950bb5ed48831ad9cd6b53fcd9fe7dfa8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 30 23:30:43 2009 +0000

    Fix typos in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90164 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6e14f94aae2689841a94bc7aa059a8771e53867
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Nov 30 22:55:54 2009 +0000

    New virtual registers created for spill intervals should inherit allocation hints from the original register.

    This helps us avoid silly copies when rematting values that are copied to a physical register:

    leaq	_.str44(%rip), %rcx
    movq	%rcx, %rsi
    call	_strcmp

    becomes:

    leaq	_.str44(%rip), %rsi
    call	_strcmp

    The coalescer will not touch the movq because that would tie down the physical register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 180e3e4b507427ba5d81408a064adc5a3055557f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Nov 30 22:23:29 2009 +0000

    Debug info is disabled on PPC Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d0daa24dde6984c75c7fe1933653429169418f4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 30 18:56:45 2009 +0000

    Reprioritize tests for tail duplication to be aggressive about indirect
    branches even when optimizing for code size.  Unless we find evidence to the
    contrary in the future, the special treatment for indirect branches does not
    have a significant effect on code size, and performance still matters with -Os.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90868102bf6144cae08570ddcb96099d9d63c06d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 30 18:35:03 2009 +0000

    Remove isProfitableToDuplicateIndirectBranch target hook.  It is profitable
    for all the processors where I have tried it, and even when it might not help
    performance, the cost is quite low.  The opportunities for duplicating
    indirect branches are limited by other factors so code size does not change
    much due to tail duplicating indirect branches aggressively.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bff42e81121019af3ba61a13f087bba6ed37c54
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 30 17:47:19 2009 +0000

    Fix some more ARM unified syntax warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49462255e92b03de36a013dd23845d9c8e35821c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Nov 30 15:52:29 2009 +0000

    Fix odd declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90138 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf4ea99c2887e55d18206e093bccdc43636c9b1b
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 13:34:51 2009 +0000

    Fix last DOTGraphTraits problems in CompilationGraph.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90136 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b1114ae03b624deb0ed6e6d1bb26cc2cd2685e
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 13:14:13 2009 +0000

    Remove forgotten ShortNames in Trie and CompilationGraph

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 810b18c4cc8b022f79f0dd886cc9092a3e4f6d2c
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 12:38:47 2009 +0000

    Remove ShortNames from getNodeLabel in DOTGraphTraits

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90134 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2c3aec2cf16ee6ea233d3ec13a83e71e21523b9
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 12:38:13 2009 +0000

    Instantiate DefaultDOTGraphTraits

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90133 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd748c9df057cd33fe255b9ff81e720518f82cb3
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 12:37:39 2009 +0000

    Do not point edge heads to source labels

    If no destination label is available, just point to the node itself
    instead of pointing to some source label. Source and destination labels are
    not related in any way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 989dd8528652afdfcf5125f7d206bc0f075861e7
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 12:24:40 2009 +0000

    Only print edgeSourceLabels if they are not empty

    Graphviz can layout the graphs better if a node does not contain source
    ports. Therefore only print the ports if the source ports are useful,
    that means are not labeled with the empty string "".
    This patch also simplifies graphs without any edgeSourceLabels e.g. the
    dominance trees.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d6054ab3ef09773025dbcee2b923913a73a919d
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 12:06:37 2009 +0000

    Small PostDominatorTree improvements

     * Do not SEGFAULT if tree entryNode() is NULL
     * Print function names in dotty printer

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90130 91177308-0d34-0410-b5e6-96231b3b80d8

commit e148e0b0e803768e12df1884159f143bf08f6e40
Author: Tobias Grosser <grosser@fim.uni-passau.de>
Date:   Mon Nov 30 11:55:24 2009 +0000

    Remove ":" after BB name in -view-cfg-only

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90129 91177308-0d34-0410-b5e6-96231b3b80d8

commit 767a372b1df0e26fbbe0dd8d3667e85d98c91109
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Nov 30 08:03:53 2009 +0000

    First pass at llvm.objectsize documentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90116 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9ae7435b67e6375d2e72cb4bd43955c0a58edad
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 30 07:05:51 2009 +0000

    Revert r90107, fixing test/Transforms/GVN/2009-11-29-ReverseMap.ll and the
    llvm-gcc build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30a3e84e9b7aca47aaee2ed11bc20cf6336bd189
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 30 07:02:18 2009 +0000

    Add a testcase for the current llvm-gcc build failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90112 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21c4cada89c23d0c6c943d7044d045c279804c05
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 30 04:23:17 2009 +0000

    Remove the 'simple jit' tutorial as it wasn't really being maintained and its
    material is covered by the Kaleidoscope tutorial.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90111 91177308-0d34-0410-b5e6-96231b3b80d8

commit f950eb5454f482bc93a1d58b179f3e9be707e686
Author: Mon P Wang <wangmp@apple.com>
Date:   Mon Nov 30 02:42:27 2009 +0000

    Add test case for r90108

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90109 91177308-0d34-0410-b5e6-96231b3b80d8

commit c707f3ff7cdb427155b7ca707a3efd2c8b34bcd1
Author: Mon P Wang <wangmp@apple.com>
Date:   Mon Nov 30 02:42:02 2009 +0000

    Added support to allow clients to custom widen. For X86, custom widen vectors for
    divide/remainder since these operations can trap by unroll them and adding undefs
    for the resulting vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90108 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1f454174e8ad32da74193471ca079a12c2bb18d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 30 02:26:29 2009 +0000

    reapply r90093 with an addition of keeping the forward
    and reverse nonlocal memdep maps in synch, this should
    fix 255.vortex.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90107 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfd72282b887511b8d0859777a6ca9851e062a85
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 30 02:23:57 2009 +0000

    Fix this test on 64-bit systems which seem to use i64 for gep indices sometimes
    while 32-bit gcc uses i32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90106 91177308-0d34-0410-b5e6-96231b3b80d8

commit f215dece88649838a64b0d7740184713c487cf54
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 30 00:38:56 2009 +0000

    Commit r90099 made LLVM simplify one of these constant expressions a little
    more. Update the syntax we're checking for and filecheckize it too.

    This will fix the selfhost buildbots but will 'break' the others (sigh) because
    they're still linked against older LLVM which is emitting less optimized IR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0425dc773b82135ec8b6e5e6a5140c06de86c6ce
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 29 21:40:55 2009 +0000

    Teach ConstantFolding to do a better job when folding gep(bitcast).

    This permits the devirtualization of llvm.org/PR3100#c9 when compiled by clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90099 91177308-0d34-0410-b5e6-96231b3b80d8

commit c04f8adbc1539eb593879d8e0f8977ac5155e605
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Nov 29 21:17:48 2009 +0000

    Revert r90089 for now, it's breaking selfhost.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b4ba06f907aac7ef1991e339ff4c262a301047f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 21:14:59 2009 +0000

    revert this patch for now, it causes failures of:
        LLVM::Transforms/GVN/2009-02-17-LoadPRECrash.ll
        LLVM::Transforms/GVN/2009-06-17-InvalidPRE.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90096 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02507fdead4d86a04c1c914549b2d2ab295c47c7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 21:09:36 2009 +0000

    Fix a really nasty caching bug I introduced in memdep.  An entry
    was being added to the Result vector, but not being put in the
    cache.  This means that if the cache was reused wholesale for a
    later query that it would be missing this entry and we'd do an
    incorrect load elimination.

    Unfortunately, it's not really possible to write a useful
    testcase for this, but this unbreaks 255.vortex.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7719b59199b6920ada130675f658bf3ec8521cd6
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Nov 29 20:29:30 2009 +0000

    Fix two FIXMEs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90089 91177308-0d34-0410-b5e6-96231b3b80d8

commit eac76e8c39d2f6370692677fdfc59c7d62e29e07
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 29 18:10:39 2009 +0000

    Detabify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e73b69d560efe55408748561f294bfed36d7079
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Nov 29 17:42:58 2009 +0000

    Remove dead returns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90083 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfd64f93fe4a893fe6ffda056c825d0a9e3f272a
Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
Date:   Sun Nov 29 17:19:48 2009 +0000

    This patch ensures that Path::GetMainExecutable is able to handle the
    case where realpath() fails. When this occurs we segfault trying to
    create a std::string from a NULL pointer.

    Fixes PR5635.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7143f3420c2832c342182ec8e5b87a4e5a19f99c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 29 08:30:24 2009 +0000

    Fix FileCheck crash when fuzzy scanning starting at the end of the file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90065 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbbf1b238bc38c26fc4f7b53a26e0d0538880d8a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 02:57:29 2009 +0000

    add testcases for the foo_with_overflow op xforms added recently and
    fix bugs exposed by the tests.  Testcases from Alastair Lynn!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 565b96428b6e7af0b87275a81471c5395fcbdc16
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 02:44:33 2009 +0000

    mark all the 'foo with overflow' intrinsics as readnone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90055 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8aa4c019b5bb50ba9a3a5e2188a64081beb2f02b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 02:19:52 2009 +0000

    update and consolidate the load pre notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6756dffb3a4685abfaa0455078c4d8f4c33ddc28
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 01:28:58 2009 +0000

    add PR#

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90049 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea7509881f1e6d5efaa80638b0a5ab5290c77651
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 01:15:43 2009 +0000

    Add a testcase for:

    void test(int N, double* G) {
      long j;
      for (j = 1; j < N - 1; j++)
          G[j] = G[j] + G[j+1] + G[j-1];
    }

    which we now compile to one load in the loop:

    LBB1_2:                                                     ## %bb
    	movsd	16(%rsi,%rax,8), %xmm2
    	incq	%rdx
    	addsd	%xmm2, %xmm1
    	addsd	%xmm1, %xmm0
    	movapd	%xmm2, %xmm1
    	movsd	%xmm0, 8(%rsi,%rax,8)
    	incq	%rax
    	cmpq	%rcx, %rax
    	jne	LBB1_2

    instead of:

    LBB1_2:                                                     ## %bb
    	movsd	8(%rsi,%rax,8), %xmm0
    	addsd	16(%rsi,%rax,8), %xmm0
    	addsd	(%rsi,%rax,8), %xmm0
    	movsd	%xmm0, 8(%rsi,%rax,8)
    	incq	%rax
    	cmpq	%rcx, %rax
    	jne	LBB1_2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96bd9d9931be198b46c3197b67ed02aefc734bd4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 01:04:40 2009 +0000

    add a testcase for

    void test9(int N, double* G) {
      long j;
      for (j = 1; j < N - 1; j++)
          G[j+1] = G[j] + G[j+1];
    }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 163e6ab29947e801b555e688e19af8460c8c7903
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 29 00:51:17 2009 +0000

    Implement PR5634.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2dbc3f24619726bb5def46ed36116ed5bbb2ac85
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 28 21:27:49 2009 +0000

    Teach memdep to look for memory use intrinsics during dependency queries. Fixes
    PR5574.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90045 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80c535b9194e1ce2927ca9b55d010a8fcb5833b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 28 16:08:18 2009 +0000

    reenable load address insertion in load pre.  This allows us to
    handle cases like this:
    void test(int N, double* G) {
      long j;
      for (j = 1; j < N - 1; j++)
          G[j+1] = G[j] + G[j+1];
    }

    where G[1] isn't live into the loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c2de2bd49cd56c50c9251f22727a126dea78f43
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 28 15:39:14 2009 +0000

    Enhance InsertPHITranslatedPointer to be able to return a list of newly
    inserted instructions.  No functionality change until someone starts using it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90039 91177308-0d34-0410-b5e6-96231b3b80d8

commit c343983d722c5552dea693c85bf62406217dc097
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 28 15:12:41 2009 +0000

    implement a FIXME: limit the depth that DecomposeGEPExpression goes the same
    way that getUnderlyingObject does it.

    This fixes the 'DecomposeGEPExpression and getUnderlyingObject disagree!'
    assertion on sqlite3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90038 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed81875b336e7ec36612a2ae49fbbdf7867f08d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 28 14:54:10 2009 +0000

    enable code to handle un-phi-translatable cases more aggressively:
    if we don't have an address expression available in a predecessor,
    then model this as the value being clobbered at the end of the pred
    block instead of being modeled as a complete phi translation failure.
    This is important for PRE of loads because we want to see that the
    load is available in all but this predecessor, and complete phi
    translation failure results in not getting any information about
    predecessors.

    This doesn't do anything until I renable code insertion since PRE
    now sees that it is available in all but one predecessors, but can't
    insert the addressing in the predecessor that is missing it to
    eliminate the redundancy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90037 91177308-0d34-0410-b5e6-96231b3b80d8

commit de0b030de1873764c1f3571b75b5f75125ac35f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 22:50:07 2009 +0000

    disable value insertion for now, I need to figure out how
    to inform GVN about the newly inserted values.  This fixes
    PR5631.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90022 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5bef157088fc71eeb2a968272d270cb94169524
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 22:05:15 2009 +0000

    Rework InsertPHITranslatedPointer to handle the recursive case, this
    fixes PR5630 and sets the stage for the next phase of goodness (testcase
    pending).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3037e0ade3201ff57bc4f486e7dfacc6b7459d47
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 20:25:30 2009 +0000

    recursively phi translate bitcast operands too, for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90016 91177308-0d34-0410-b5e6-96231b3b80d8

commit e386372015e237a1e98f843920cf8d6449e0b444
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Nov 27 19:57:53 2009 +0000

    Oops! Fix bug introduced in my recent cleanup change. Thanks to Tobias Grosser
    for pointing this out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c40e546d78a7f0cb9e42588afcd8a664a816108
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 19:56:00 2009 +0000

    I accidentally implemented this :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90014 91177308-0d34-0410-b5e6-96231b3b80d8

commit d91a9144369b73ed3e066695ad922abc76b5f7de
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 19:11:31 2009 +0000

    add support for recursive phi translation and phi
    translation of add with immediate.  This allows us
    to optimize this function:

    void test(int N, double* G) {
      long j;
      G[1] = 1;
        for (j = 1; j < N - 1; j++)
            G[j+1] = G[j] + G[j+1];
    }

    to only do one load every iteration of the loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90013 91177308-0d34-0410-b5e6-96231b3b80d8

commit f198db016d5b8c1fb5f225f644efb5f5198c2471
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 18:08:30 2009 +0000

    add two simple test cases we now optimize (to one load in the loop each) and one we don't (corresponding to the fixme I added yesterday).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96076f73dbddf62f2bed35458afc5fbd5628a5e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 17:42:22 2009 +0000

    factor some logic out of instcombine into a new SimplifyAddInst method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15aec3314b05e3d68f73fcc95b88fd4b9baad6b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 17:12:30 2009 +0000

    add a deadargelim note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d147914a609049f7cda4a5c5ee8ee8abbde4782
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 16:53:57 2009 +0000

    This testcase is actually only partially redundant, and requires
    the FIXME I added yesterday to be implemented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c800c00ef9a6054218b11e5e1d65205b1297115
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 16:37:41 2009 +0000

    fix PR5436 by making the 'simple' case of SRoA not promote out of range
    array indexes.  The "complex" case of SRoA still handles them, and correctly.

    This fixes a weirdness where we'd correctly avoid transforming A[0][42] if
    the 42 was too large, but we'd only do it if it was one gep, not two separate
    ones.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ad93b0636e31b90c74c658673130d1b6a4ffd8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 16:31:59 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1da9984b8f8bec04ec77e96ea4b9e1b358f9f4a2
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Nov 27 16:04:14 2009 +0000

    While this test is testing a problem in the generic part of codegen,
    the problem only shows for msp430 and pic16 which is why it specifies
    them using -march.  But it is wrong to put such tests in CodeGen/Generic,
    since not everyone builds these targets.  Put a copy of the test in each
    of the target test directories.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90005 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87598b02a90f8027b59afb1433ae3e828e19c72a
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Nov 27 13:38:03 2009 +0000

    Vector types are no longer required to have a power-of-two length.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90004 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59b538afbdb86d62b1caa0f549401cb1583101fa
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Nov 27 12:33:22 2009 +0000

    These code generator limitations have been removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90003 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-12 15:14:39 +02:00
Török Edvin
5518b7d41f Merge LLVM upstream r90002
Squashed commit of the following:

commit 9dbc06e034aaee26c33551a84ca04d9e114124de
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 08:40:14 2009 +0000

    add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90002 91177308-0d34-0410-b5e6-96231b3b80d8

commit a722fabf41a89cb27561345640d46479af4d5baa
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 08:37:22 2009 +0000

    reduce nesting, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e065c4ce2614aec3c57122de80b601fe8349033
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 08:32:52 2009 +0000

    limit the recursion depth of GetLinearExpression.  This
    fixes a crash analyzing consumer-lame, which had an "%X = add %X, 1"
    in unreachable code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 248818e2c5a71ebc4b393506a52f1e78293799f2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 08:25:10 2009 +0000

    teach GVN's load PRE to insert computations of the address in predecessors
    where it is not available.  It's unclear how to get this inserted
    computation into GVN's scalar availability sets, Owen, help? :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36063d789bb3ffd23e346b1d32f0aace6f8c1bce
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 06:42:42 2009 +0000

    add some tests for memdep phi translation + PRE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89996 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8eeda9fd32714cf5a68346369d22343ce80e0dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 06:36:28 2009 +0000

    this test is failing, and is expected to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05d7bd8ed8e65d45f92c44f9c1b3ea9a40fe9713
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 06:33:09 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89994 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc06fec923d4e2a8f22e45b040615b8bc8473459
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 06:31:55 2009 +0000

    rename test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6766b8a852dd9de4781976cf2df532abceba70a5
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 06:31:14 2009 +0000

    Fix phi translation in load PRE to agree with the phi
    translation done by memdep, and reenable gep translation
    again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 295a27f1fb3e5ef271e1120bc8ebe18bdc5e1e70
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 05:53:01 2009 +0000

    redisable this, my bootstrap worked because it wasn't an optimized build, whoops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2be6441fdb29f9e5d79e8319a8477c5df22ef780
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 05:19:56 2009 +0000

    try again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cc37e033917c220f8a163d124312f923631abdf
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 01:52:22 2009 +0000

    this is causing buildbot failures, disable for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89985 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdfa6e8e96177aac789502e20f297081863a91aa
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 00:35:04 2009 +0000

    this (and probably several others) are now done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97791a78617fc5c90d62de15894ac6a2f3e4651b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 00:34:38 2009 +0000

    teach phi translation of GEPs to simplify geps like 'gep x, 0'.
    This allows us to compile the example from PR5313 into:

    LBB1_2:                                                     ## %bb
    	incl	%ecx
    	movb	%al, (%rsi)
    	movslq	%ecx, %rax
    	movb	(%rdi,%rax), %al
    	testb	%al, %al
    	jne	LBB1_2

    instead of:

    LBB1_2:                                                     ## %bb
    	movslq	%eax, %rcx
    	incl	%eax
    	movb	(%rdi,%rcx), %cl
    	movb	%cl, (%rsi)
    	movslq	%eax, %rcx
    	cmpb	$0, (%rdi,%rcx)
    	jne	LBB1_2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5594a48160450e0a82a5dc59633edc9e862c46d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 00:29:05 2009 +0000

    factor some instcombine simplifications for getelementptr out to a new
    SimplifyGEPInst method in InstructionSimplify.h.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e4b727624fd4aa595f6bec77bb83e73a189119a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 27 00:07:37 2009 +0000

    teach memdep to do trivial PHI translation of GEPs.  More to
    come.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21b2340ceefa352a63357ae1b26f0a74303e4246
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 23:41:07 2009 +0000

    Teach memdep to phi translate bitcasts.  This allows us to compile
    the example in GCC PR16799 to:

    LBB1_2:                                                     ## %bb1
    	movl	%eax, %eax
    	subq	%rax, %rdi
    	movq	%rdi, (%rcx)
    	movl	(%rdi), %eax
    	testl	%eax, %eax
    	je	LBB1_2

    instead of:

    LBB1_2:                                                     ## %bb1
    	movl	(%rdi), %ecx
    	subq	%rcx, %rdi
    	movq	%rdi, (%rax)
    	cmpl	$0, (%rdi)
    	je	LBB1_2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89978 91177308-0d34-0410-b5e6-96231b3b80d8

commit 514f5e5b9e56069ce04c8d2aa9fda599591010b2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 23:32:59 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89977 91177308-0d34-0410-b5e6-96231b3b80d8

commit c957c54b4e8307fa2498d55e7f6cbb457ad2da73
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Nov 26 23:19:05 2009 +0000

    Fix typo spotted by Gabor Greif.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89976 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66c2c4ebf1c0520ceabf1c3be9d26129ae4ffc97
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 23:18:49 2009 +0000

    factor some code out into some helper functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89975 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9012af4c975acf28f6c88d23d33e5842d6a416ec
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Nov 26 22:54:26 2009 +0000

    Clean up file, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89974 91177308-0d34-0410-b5e6-96231b3b80d8

commit b068994837ad30a810301e0bcf5cb249e3cc68e5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 22:48:23 2009 +0000

    Add a hack for PR5601, a crash on obsolete syntax that we plan to
    remove in LLVM 3.0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65e3484a37d5db9be72ee1f9b6df0b38174b9465
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 22:08:06 2009 +0000

    fix crash on Transforms/InstCombine/intrinsics.ll introduced by r89970

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89972 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa787569976fb0cd260c333246f3ec08a202ee1b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 22:04:42 2009 +0000

    Fix PR5471 by removing an instcombine xform.  Some pieces of the code
    generates store to undef and some generates store to null as the idiom
    for undefined behavior.  Since simplifycfg zaps both, don't remove the
    undefined behavior in instcombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b45226d223a0527b42841a3579a3477b160339a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 21:42:47 2009 +0000

    implement a bunch of xforms for overflow intrinsics, based on a patch
    by Alastair Lynn.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89970 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2204a60625dec63703edbdebe4cf5f90460db2e5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Nov 26 21:38:41 2009 +0000

    Rename new TailDuplicationPass to avoid name conflict with the old one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89968 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10211456369f3b23084bcbca76eb3ca54074105f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 19:25:46 2009 +0000

    @test9 is a testcase for r89958.  Before 89958, we misanalyzed the
    first expression as P+4+4*i which we considered to possibly alias
    P+4*j.  Now we correctly analyze the former one as P+1+4*i.

    @test10 is a sanity test that verfies that we know that P+4+4*i != P+4*i.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89960 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d00688def6b7c358a78b578d0dfd398238512bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 18:53:33 2009 +0000

    Implement PR1143 (at -m64) by making basicaa look through extensions.  We
    previously already handled it at -m32 because there were no i32->i64
    extensions for addressing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89959 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4fb3a8361062e7f26cf2a3e63243f8e790cc3f0
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 18:35:46 2009 +0000

    fix two transposed lines duncan caught and add an explanatory comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89958 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8836c5fe676c088a0f9f0600eeaf44e18924471
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 17:14:10 2009 +0000

    this todo is resolved.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89957 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd824f5233a7a96e416ed36f05b59d997ed92926
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 17:12:50 2009 +0000

    move DecomposeGEPExpression out into ValueTracking.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1692755c9b104b0ac1209c89dfb549842adb15e8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 17:00:01 2009 +0000

    teach GetLinearExpression to be a bit more aggressive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d6d362e41018fa2a787a3fe04d1596bfd8610e7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 16:52:32 2009 +0000

    resolve a fixme.  I haven't figured out how to write a testcase
    to exercise this though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89954 91177308-0d34-0410-b5e6-96231b3b80d8

commit c29d0d5eb1077c274b2c7186c0096201c8bac87c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 16:42:00 2009 +0000

    update status of this.  basicaa is much improved now,
    only missing the one form (in this testcase).  Dan, do you
    consider this example to be important?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89953 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd7537176664464b5ef0a4aa121f0c7bedfac16a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 16:26:43 2009 +0000

    Teach basicaa that x|c == x+c when the c bits of x are clear.  This
    allows us to compile the example in readme.txt into:

    LBB1_1:                                                     ## %bb
    	movl	4(%rdx,%rax), %ecx
    	movl	%ecx, %esi
    	imull	(%rdx,%rax), %esi
    	imull	%esi, %ecx
    	movl	%esi, 8(%rdx,%rax)
    	imull	%ecx, %esi
    	movl	%ecx, 12(%rdx,%rax)
    	movl	%esi, 16(%rdx,%rax)
    	imull	%ecx, %esi
    	movl	%esi, 20(%rdx,%rax)
    	addq	$16, %rax
    	cmpq	$4000, %rax
    	jne	LBB1_1

    instead of:

    LBB1_1:
    	movl	(%rdx,%rax), %ecx
    	imull	4(%rdx,%rax), %ecx
    	movl	%ecx, 8(%rdx,%rax)
    	imull	4(%rdx,%rax), %ecx
    	movl	%ecx, 12(%rdx,%rax)
    	imull	8(%rdx,%rax), %ecx
    	movl	%ecx, 16(%rdx,%rax)
    	imull	12(%rdx,%rax), %ecx
    	movl	%ecx, 20(%rdx,%rax)
    	addq	$16, %rax
    	cmpq	$4000, %rax
    	jne	LBB1_1

    GCC (4.2) doesn't seem to be able to eliminate the loads in this
    testcase either, it generates:

    L2:
    	movl	(%rdx), %eax
    	imull	4(%rdx), %eax
    	movl	%eax, 8(%rdx)
    	imull	4(%rdx), %eax
    	movl	%eax, 12(%rdx)
    	imull	8(%rdx), %eax
    	movl	%eax, 16(%rdx)
    	imull	12(%rdx), %eax
    	movl	%eax, 20(%rdx)
    	addl	$4, %ecx
    	addq	$16, %rdx
    	cmpl	$1002, %ecx
    	jne	L2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f2c591e34adfbedadd2276f16f29203b75bc305
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 16:18:10 2009 +0000

    teach basicaa that A[i] != A[i+1].

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3124e22ade9d96af8e2cb3b1708ae9da9bee9636
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 16:08:41 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89950 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8200930b6b24a8625e2a49b84e6df1e293c107ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 02:17:34 2009 +0000

    Change the other half of aliasGEP (which handles GEP differencing) to use DecomposeGEPExpression.  This dramatically simplifies and shrinks the code by eliminating the horrible CheckGEPInstructions method, fixes a miscompilation (@test3) and makes the code more aggressive.  In particular, we now handle the @test4 case, which is reduced from the SmallPtrSet constructor.  Missing this caused us to emit a variable length memset instead of a fixed size one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01526336b664739e81f2e14d8a6792dee2e2f619
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 02:16:28 2009 +0000

    add a new random feature test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c689d61206a26a2ec7e5f8ba5ca4d8f67f411e8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 02:14:59 2009 +0000

    Generalize DecomposeGEPExpression to exactly handle what Value::getUnderlyingObject does (when TD is around).  This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check we care about passes, speedup up BasicAA a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8334e9b223221e05f9c12eb3f1122032f1edc7c2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 02:13:03 2009 +0000

    Implement a new DecomposeGEPExpression method, which decomposes a GEP into a list of scaled offsets.  Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*'s were non-zero, but strange constant express could be zero).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d8f955b656d9743fa32c087848ee9c26338e6c2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 02:11:08 2009 +0000

    Use GEPOperator more pervasively to simplify code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41ec62554fd2b914d230c270963c3da30047be28
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 01:51:18 2009 +0000

    update some notes slightly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89913 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69272603d447a590a78832283bc8c67b1793acaf
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 26 01:50:12 2009 +0000

    remove some redundant braces

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72524f2dc0f78d922c585c29e1d0947822e0db25
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 26 00:35:01 2009 +0000

    Test for 89905.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b563ac33aadc7fa11ddc7e28b7e2e067436fa00
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 26 00:32:36 2009 +0000

    When all defs of a vr are implicit_def, delete all of the defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89905 91177308-0d34-0410-b5e6-96231b3b80d8

commit 810ced7daebe78a8d84b94fac07e320a02cecb71
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Nov 26 00:32:21 2009 +0000

    Split tail duplication into a separate pass.  This is needed to avoid
    running tail duplication when doing branch folding for if-conversion, and
    we also want to be able to run tail duplication earlier to fix some
    reg alloc problems.  Move the CanFallThrough function from BranchFolding
    to MachineBasicBlock so that it can be shared by TailDuplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97658f0fa49d6a3d8fd5f14010589e53474d2ba4
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Nov 25 23:50:09 2009 +0000

    Test for llvm-gcc checkin 89898.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89899 91177308-0d34-0410-b5e6-96231b3b80d8

commit cacef07c20f9dbeb8568426a4e84d8e45c14fa21
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 25 23:28:01 2009 +0000

    Update to reflect recent debugging information encoding changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5214e0d77ee3b90decf455cea0509ac32286e1a0
Author: Viktor Kutuzov <vkutuzov@accesssoftek.com>
Date:   Wed Nov 25 22:44:18 2009 +0000

    Rollback changes r89516: Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89893 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae719525ee29c8611887e5fe0153b81d1f0b56b7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 25 21:13:39 2009 +0000

    ProcessImplicitDefs should watch out for invalidated iterator and extra implicit operands on copies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89880 91177308-0d34-0410-b5e6-96231b3b80d8

commit aea35a5ebae86ac620ec0ebfe5ee152b46c343f2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 25 19:57:14 2009 +0000

    Tail duplicate indirect branches for PowerPC, too.
    With the testcase for pr3120, the "threaded interpreter" runtime decreases
    from 1788 to 1413 with this change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89877 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62b818848c2415d32c82957322cba81948b7f409
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Nov 25 18:26:09 2009 +0000

    Avoid some possibly unsafe uses of StringRef::data().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f75bbe16505f364edb9e7bc96ed6e44694e8723
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 25 17:36:49 2009 +0000

    Use StringRef (again) in DebugInfo interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8

commit c46ed7f495edb1c8cf3bbf7603c78d06835f0d7d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 25 17:27:53 2009 +0000

    Based on the testcase for pr3120, running on my MacPro with Xeon processors,
    it is definitely profitable to tail duplicate indirect branches for x86.
    This is likely to be true to various degrees for all modern x86 processors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89865 91177308-0d34-0410-b5e6-96231b3b80d8

commit eba44ceacbbaa1cdbeb45ac660b50c024a3d1b9c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Nov 25 12:17:58 2009 +0000

    Support PIC loading of constant pool entries

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89863 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ee5871e40d328473ec5b7733968eee6e80dc528
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Nov 25 12:00:34 2009 +0000

    Adjust comments to new semantics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89862 91177308-0d34-0410-b5e6-96231b3b80d8

commit caa136e3c783ed03e83cb951e799614209c53b55
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 25 06:53:08 2009 +0000

    Sketch structure for X86 disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89850 91177308-0d34-0410-b5e6-96231b3b80d8

commit df5801320dfcdbb02d66d110e91e59590e39ee5d
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Nov 25 06:32:19 2009 +0000

    API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89848 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58f610eff4cf913a5e6026283fe899bd6c6c1f33
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Nov 25 06:04:18 2009 +0000

    Perform explicit instantiations in the proper namespace, since Clang diagnoses this ill-formity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89846 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4a14e453252f061df2bf35dbe5d216161b378cb
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Nov 25 05:38:41 2009 +0000

    Reverting patch in revision 89758, initial attempt at fixing PR5373 has proven to be bogus.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89844 91177308-0d34-0410-b5e6-96231b3b80d8

commit d262856c12f952f5c258f8b33c09009e09f0153f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 25 04:46:58 2009 +0000

    Add the rest of the build system logic for optional target disassemblers

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e18f26816cf75f2f3173ed51f44b708762414a4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 25 04:37:28 2009 +0000

    Regenerate configure

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89840 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b0b0e476d4b9d5e4ffc502962b6057454c1f99d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 25 04:30:13 2009 +0000

    Add CMake and configure logic to create llvm/Config/Disassemblers.defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89839 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d494001c9402f321ee3b539408c82e94771870f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 25 02:13:23 2009 +0000

    Sketch TableGen disassembler emitter, based on patch by Sean Callanan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89833 91177308-0d34-0410-b5e6-96231b3b80d8

commit 421b70020c09398a185cec1bebbcc524ea5fb167
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Nov 25 01:05:25 2009 +0000

    Use endianess dependent offsets for load/store of doubles when
    using two swc/lwc instead of sdc/ldc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65ee191f8d37af9b2c9c44487804b7e71cd7fa94
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Nov 25 00:58:21 2009 +0000

    Fix compiler warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 649dcac5e84130548fd46c239c12c3f531d64309
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Nov 25 00:47:43 2009 +0000

    Only include in the callee saved regs the sub registers to avoid
    unnecessary save/restore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15b39c364d7acaab815964e8bb37f4f1883278ee
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Nov 25 00:36:00 2009 +0000

    Add proper emission of load/store double to stack slots for mips1 targets!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89821 91177308-0d34-0410-b5e6-96231b3b80d8

commit acdb878fcc4d19f3158b205f0acf2ff1660fc1d5
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 25 00:31:13 2009 +0000

    Revert r89803.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68722a84a011e2e2a8be3b3c6a09a2bbb477d390
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 24 23:35:49 2009 +0000

    Refactor target hook for tail duplication as requested by Chris.
    Make tail duplication of indirect branches much more aggressive (for targets
    that indicate that it is profitable), based on further experience with
    this transformation.  I compiled 3 large applications with and without
    this more aggressive tail duplication and measured minimal changes in code
    size.  ("size" on Darwin seems to round the text size up to the nearest
    page boundary, so I can only say that any code size increase was less than
    one 4k page.) Radar 7421267.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9902d09e04bc3d2c1389e4fdabe5efbf14efc9ec
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Nov 24 22:59:02 2009 +0000

    Do not store R31 into the caller's link area on PPC.
    This violates the ABI (that area is "reserved"), and
    while it is safe if all code is generated with current
    compilers, there is some very old code around that uses
    that slot for something else, and breaks if it is stored
    into.  Adjust testcases looking for current behavior.
    I've verified that the stack frame size is right in all
    testcases, whether it changed or not.  7311323.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89811 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0eba4bdd3c9fa5a2f5a82b907439dafe0411358
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 24 21:38:54 2009 +0000

    Enable debug info for ppc-darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89803 91177308-0d34-0410-b5e6-96231b3b80d8

commit c10337d20080fca89c19acd69ae11f4a28e61cc8
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 24 19:42:17 2009 +0000

    Use StringRef instead of std::string in DIEString.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89793 91177308-0d34-0410-b5e6-96231b3b80d8

commit 815c35cdb070cb876d01f3837f56b4d73b87f036
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 24 19:37:07 2009 +0000

    Remove DebugLabelFolder pass. It is not used by dwarf writer anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f2bdd58f2cee41a5de62fe5515642d0371fecf8
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 24 19:18:41 2009 +0000

    Swith to pubtypes section before emitting pub types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89787 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bb856794be3bbdc21e72ea90f8226efce096ebe
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 24 19:03:33 2009 +0000

    Remove bogus error handling code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89786 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6901c962de266a478d056a8c5be5c8901ca0896e
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Tue Nov 24 16:29:23 2009 +0000

    Fix comments as pre-post review for rev.89765.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89770 91177308-0d34-0410-b5e6-96231b3b80d8

commit f21c0e1a6da8926d0cadc61320c0931485f765ee
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Tue Nov 24 15:19:10 2009 +0000

    Provide Path::isSpecialFile interface for PR5568.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89765 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4016f5de54742c18653294b490c28ae55688d15
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Tue Nov 24 11:51:52 2009 +0000

    Fix for PR5373, Credit to Jakub Staszak.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b2b23a3569d8cefb165601454cc1dede80d30d6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 24 08:06:15 2009 +0000

    Enable predication of NEON instructions in Thumb2 mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89748 91177308-0d34-0410-b5e6-96231b3b80d8

commit de17b23e8ab96fee43298f52d643383476994e96
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Nov 24 02:11:14 2009 +0000

    Oops. Re-disable JITTest.NoStubs on ARM and PPC since they still use stubs to
    make far calls work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89733 91177308-0d34-0410-b5e6-96231b3b80d8

commit 003f9445a475809f93a5141770aa871eb1c548b2
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 24 01:48:15 2009 +0000

    Delete some dead and non-obvious code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89729 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec13b4fffb1742d8acd6e07a388b1e54dfd7c1c9
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 24 01:14:22 2009 +0000

    Emit pubtypes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8

commit b21c0db31a04aacc19787dd6767983e91f007114
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Nov 24 01:09:07 2009 +0000

    Make capitalization of names starting "is" more consistent.
    No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f433ab362f406dc8336ae2445bcfebbd133a8a1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 24 01:05:23 2009 +0000

    Data type suffix must come after predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 115a53c6df56d2befe8c19e602e31ffc2515b93a
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Nov 24 00:59:08 2009 +0000

    <rdar://problem/6721894>. Allow multiple registers to be renamed together (super and sub) if necessary to break an anti-dependence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89722 91177308-0d34-0410-b5e6-96231b3b80d8

commit a414f36ad4dca3554e1313a4715b3856ac4066b9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 24 00:44:37 2009 +0000

    Materialize global addresses via movt/movw pair, this is always better
    than doing the same via constpool:
    1. Load from constpool costs 3 cycles on A9, movt/movw pair - just 2.
    2. Load from constpool might stall up to 300 cycles due to cache miss.
    3. Movt/movw does not use load/store unit.
    4. Less constpool entries => better compiler performance.

    This is only enabled on ELF systems, since darwin does not have needed
    relocations (yet).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71465ac298b594109d9f6e9c8b4fc97051840a8b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 24 00:20:27 2009 +0000

    80 column violations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89718 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8f9acf65f39634e24604568f1cab3cca14ff18b
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Nov 23 23:35:19 2009 +0000

    * Move stub allocation inside the JITEmitter, instead of exposing a
    way for each TargetJITInfo subclass to allocate its own stubs. This
    means stubs aren't as exactly-sized anymore, but it lets us get rid of
    TargetJITInfo::emitFunctionStubAtAddr(), which lets ARM and PPC
    support the eager JIT, fixing http://llvm.org/PR4816.

    * Rename the JITEmitter's stub creation functions to describe the kind
    of stub they create. So far, all of them create lazy-compilation
    stubs, but they sometimes get used when far-call stubs are needed.
    Fixing http://llvm.org/PR5201 will involve fixing this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89715 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf095c3301eabc23c9be57bd86209f98afc4fd13
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 23 23:25:54 2009 +0000

    enable iv-users simplification by default

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89713 91177308-0d34-0410-b5e6-96231b3b80d8

commit c61b56c8b54d3abdf197464c00ea9b3613aa5889
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 23:20:51 2009 +0000

    Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.
    Note that "hasDotLocAndDotFile"-style debug info was already broken;
    people wanting this functionality should implement it in the
    AsmPrinter/DwarfWriter code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89acd2fc3e3c28cedeb8f5b5d5d378425b6d2f49
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Nov 23 22:49:00 2009 +0000

    Allow more than one stub to be being generated at the same time.

    It's probably better in the long run to replace the
    indirect-GlobalVariable system. That'll be done after a subsequent
    patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89708 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09c61b35e2c8a6cf9bcdf42f8d07a8ac26238eac
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 23 21:57:23 2009 +0000

    Massive refactoring of NEON instructions. Separate opcode from data size specifier suffix, move \t up stream to instruction format, and fix more 80 column violations.
    This fixes the NEON asm printing so the "predicate" field is printed between the opcode and the data type suffix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d34f97d8b78e04cad93ab4fb27f19963c0b2f70
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 21:30:55 2009 +0000

    Simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a271d8ee93e2de1277abaa40fe3614c458905be
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 21:29:08 2009 +0000

    Print the debug info line and column in MachineInstr::print even when there's
    no filename. This situation is apparently fairly common right now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d450b25083d0f488b2e797e79eb92172eb2c48d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 23 21:08:25 2009 +0000

    move fconst[sd] to UAL. <rdar://7414913>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ee642f0b2272dab1086aa3421d1958e63a066f6
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Nov 23 21:00:43 2009 +0000

    Partially revert r84730 by removing N2VDup from ARMInstrFormats.td and modifying
    VDUPLND and VDUPLNQ to derive from N2V instead of N2VDup.  VDUPLND and VDUPLNQ
    now expect op19_18 and op17_16 as the first two args.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b7663763bdc058d678f7d459dfa49cc97d6f4c6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 23 20:39:53 2009 +0000

    update test for 89694

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66e70cdbb4097df5f9f9341663441fc431015307
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 23 20:35:53 2009 +0000

    fold immediate of a + Const into the user as a subtract if it can fit as a negated two-part immediate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c6fa9a41918f91b9ea6765cfc0eb566e68b2de0
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Nov 23 20:09:13 2009 +0000

    Revert r84572 by removing N3VImm from ARMInstrFormats.td now that we can specify
    {?,?,?,?} as op11_8 for VEXTd and VEXTq.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89693 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3201132cadd122f71500f6cbc88130cfa912af3
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Nov 23 19:11:20 2009 +0000

    Add CreateLocation varinat that accepts MDNode (with a default value).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89689 91177308-0d34-0410-b5e6-96231b3b80d8

commit b125c6e04f2a851b4ed6a361a705816d0374ce4b
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Nov 23 18:43:37 2009 +0000

    Revert r89487.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89686 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46f784e7a92f51878af9c6c0cdb8312b2d188303
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Nov 23 18:16:16 2009 +0000

    Partially revert r89377 by removing NLdStLN class definition from
    ARMInstrFormats.td and fixing VLD[234]LN* and VST[234]LN* to derive from NLdSt
    instead of NLdStLN.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d3b3e40e16069bbc07c2acb20594cfffe406572
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 18:12:11 2009 +0000

    Move CopyCatchInfo into FunctionLoweringInfo.cpp too, for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89683 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ec2051989d074e3ffef5fe74fed228d61b5f428
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 18:04:58 2009 +0000

    Rename SelectionDAGLowering to SelectionDAGBuilder, and rename
    SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89681 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c1d2c1183243d983ee60d2fa0e30c1aef4981f4
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Nov 23 17:48:17 2009 +0000

    Make it clear that the index bit(s) of Vector Get Lane and Vector Set Lane
    should be left unspecified now that Bob Wilson has fixed pr5470.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89676 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78105759c1482cdea69c13d7bedcd1867c40efad
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 17:46:23 2009 +0000

    Move RegsForValue to an anonymous namespace, since it is only used
    in this file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89675 91177308-0d34-0410-b5e6-96231b3b80d8

commit c073abf312a796da1dd5c567aa92affe77f62e1b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 17:42:46 2009 +0000

    Move some more code out of SelectionDAGBuild.cpp and into
    FunctionLoweringInfo.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89674 91177308-0d34-0410-b5e6-96231b3b80d8

commit dfaea1cb45cae9e1ca8dd6b3398ab39dbab074d3
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Nov 23 17:34:12 2009 +0000

    Minor itinerary fixes for FP instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89672 91177308-0d34-0410-b5e6-96231b3b80d8

commit ead611c1b544ed84281bfb255c2677ad58d63494
Author: Ted Kremenek <kremenek@apple.com>
Date:   Mon Nov 23 17:26:04 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89671 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39a0cdff39ccce6633deb6ca4427a96796fef1b3
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 17:16:22 2009 +0000

    Move the FunctionLoweringInfo class and some related utility functions out
    of SelectionDAGBuild.h/cpp into its own files, to help separate
    general lowering logic from SelectionDAG-specific lowering logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4abfe40a9e41146760e8fdc2270abf60540b1e90
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 23 17:07:35 2009 +0000

    fix comment, thanks all :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89666 91177308-0d34-0410-b5e6-96231b3b80d8

commit 913c8adf87bf3584d4c9d2fd7ad8beb19e3fcf11
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 23 16:46:41 2009 +0000

    use the new isNoAlias method to simplify some code, only do an escaping check if
    we have a non-constant pointer.  Constant pointers can't be local.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89665 91177308-0d34-0410-b5e6-96231b3b80d8

commit 042c6856f5af58f684d6cf7b692b87be1bf36f0a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 23 16:45:27 2009 +0000

    whitespace cleanup, tidying

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ed47b7960f240169bcb847c7cde0b52096a1c2c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 23 16:44:43 2009 +0000

    speed up BasicAA a bit by implementing a long-standing TODO.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03c010bff7008ca11acd4576c058b690d8bc6a03
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 23 16:38:54 2009 +0000

    add a helper

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68761bbb60a826ebd53c006ee75d90dea55fea88
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 16:24:18 2009 +0000

    Move FunctionPassManagerImpl's dumpArguments and dumpPasses calls
    out of its run function and into its doInitialization method, so
    that it does the dump once instead of once per function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89660 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f77c3e8551139a6bf4b6460794a9ef6b312ef52
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 16:22:21 2009 +0000

    Make ConstantFoldConstantExpression recursively visit the entire
    ConstantExpr, not just the top-level operator. This allows it to
    fold many more constants.

    Also, make GlobalOpt call ConstantFoldConstantExpression on
    GlobalVariable initializers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d97a63506213bf48ad9e942b9f689fb78f5eeb0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 23 16:13:39 2009 +0000

    Fix a use of an invalidated iterator in the case where there are multiple
    adjacent uses of a dead basic block from the same user. This fixes PR5596.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89658 91177308-0d34-0410-b5e6-96231b3b80d8

commit d301b553c36bae9bdd8d41b768f093760cb3f7e9
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Nov 23 10:49:03 2009 +0000

    I forgot to update the prototype for LLVMBuildIntCast when correcting
    the body to not pass the name for the isSigned parameter.  However it
    seems that changing prototypes is a big-no-no, so here I revert the
    previous change and pass "true" for isSigned, meaning this always does
    a signed cast, which was the previous behaviour assuming the name was
    not NULL!  Some other C function needs to be introduced for the general
    case of signed or unsigned casts.  This hopefully unbreaks the ocaml
    binding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 951cb61e2fc34e1f6c2324b9613985191e87fe49
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 23 04:52:00 2009 +0000

    Start catching LLVMContext misuse in the verifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89646 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1df6ea033855b9c8ff66bdfc5f479fe8d2afb272
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 23 03:50:44 2009 +0000

    Pull LLVMContext out of PromoteMemToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89645 91177308-0d34-0410-b5e6-96231b3b80d8

commit c11ad4295ebbb1add9f5ab4c406a2c73851341a4
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 23 03:34:29 2009 +0000

    Remove LLVMContext and its include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e8bc9ccd4e6d8c9a7f6e4f4ae1a664abcb076a5
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 23 03:29:18 2009 +0000

    Remove unused LLVMContext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89642 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1d0c185a48ffd53cbd5b671008738447d878bc9
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 23 03:26:09 2009 +0000

    Remove dead LLVMContext argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89641 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef61f69747de3b32a7edb82ea753091baf605683
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Nov 23 03:17:33 2009 +0000

    Reapply r88830 with a bugfix: this transform only applies to icmp eq/ne. This
    fixes part of PR5438.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89639 91177308-0d34-0410-b5e6-96231b3b80d8

commit b01c8c362988e5a59116d31764300a3abc8982d4
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 23 00:40:39 2009 +0000

    CMake: Updated library dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 760e1e5f52d218629214db44d60494f612918086
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 23 00:32:42 2009 +0000

    CMake: Do not try to install a target before it is defined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89636 91177308-0d34-0410-b5e6-96231b3b80d8

commit d59ab13c1166497b768f8c05522f4d7abf117deb
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 23 00:21:43 2009 +0000

    CMake: generate targets for tools and examples even when
    LLVM_BUILD_TOOLS or LLVM_BUILD_EXAMPLES are OFF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89635 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca55327ca9c480c28037c6a1a19b72e224ca5604
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 22 22:59:26 2009 +0000

    FileCheck, PR5239: Try to find the intended match on failures, but looking for a
    good nearby fuzzy match. Frequently the input is nearly correct, and just
    showing the user the a nearby sensible match is enough to diagnose the problem.
     - The "fuzzyness" is pretty simple and arbitrary, but worked on my three test
       cases. If you encounter problems, or places you think FileCheck should have
       guessed but didn't, please add test cases to PR5239.

    For example, previously FileCheck would report this:
    --
    t.cpp:21:55: error: expected string not found in input
    // CHECK: define void @_Z2f25f2_s1([[i64_i64_ty]] %a0)
                                                          ^
    <stdin>:19:30: note: scanning from here
    define void @_Z2f15f1_s1(%1) nounwind {
                                 ^
    <stdin>:19:30: note: with variable "i64_i64_ty" equal to "%0"
    --

    and now it also reports this:
    --
    <stdin>:27:1: note: possible intended match here
    define void @_Z2f25f2_s1(%0) nounwind {
    ^
    --

    which makes it clear that the CHECK just has an extra ' %a0' in it, without
    having to check the input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89631 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2e397d1b44bc0eee6ee27bc578e1f54f9bfb599
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 22 22:08:06 2009 +0000

    FileCheck: When a string using variable references fails to match, print
    additional information about the current definitions of the variables used in
    the string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89628 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd5bbc12814ad7b8c6273e2f0f321e160ee98894
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 22 22:08:00 2009 +0000

    SourceMgr: Add ShowLine argument to PrintMessage, to allow suppressing the source line output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 716aea013d24f2b814ced60e799a636f4037ce5f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 22 22:07:50 2009 +0000

    Allow '_' in FileCheck variable names, it is nice to have at least one
    separate character.
     - Chris, OK?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 587d488cbfbfdba6a5e9cebff4f6b614856fde58
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 22 20:14:00 2009 +0000

    Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to
    tell debug info which base register to use to reference a frame index on a
    per-index basis. This is useful, for example, in the presence of dynamic
    stack realignment when local variables are indexed via the stack pointer and
    stack-based arguments via the frame pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89620 91177308-0d34-0410-b5e6-96231b3b80d8

commit afc3436c0a1089f70f879e539a464a6ac281ba21
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 22 20:05:32 2009 +0000

    Move default FrameReg val to getFrameIndexReference(). Otherwise, debug info can get bogus values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89618 91177308-0d34-0410-b5e6-96231b3b80d8

commit b23f242b6ee5ec88e39ef0d58f7165eed9df7a8c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 22 19:20:36 2009 +0000

    80-column cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89612 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed9ebc2d93025f3fed6be267258d1f2abbd7f892
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Nov 22 18:28:04 2009 +0000

    Teach MachineBasicBlock::updateTerminator() to handle a failing TII->ReverseBranchCondition(Cond) call.

    This fixes the MallocBench/cfrac test case regression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89608 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecc701d1f6585ff576317af22c2f9363865177bd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 22 18:27:51 2009 +0000

    Update doc re: LLVM_BUILD_EXAMPLES.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1790623d43a92b20bff15ed6d9a4edd44c44ff32
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 22 18:27:43 2009 +0000

    Use ExtractElementInst::Create instead of new; patch by Artur Pietrek!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89606 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1017a6d8e59599dad4c0d4f8d34c0fcf3e5b1cd2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 22 16:16:48 2009 +0000

    add fixme for dubious code.  Duncan, what do you think?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89602 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a639bf8ac9a22b5ed969ac3530cb931ffaf78cc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 22 16:15:59 2009 +0000

    remove a silly condition that doesn't make a lot of sense anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fda168358ac665f2756201cfd7598b6367d7f2e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 22 16:05:05 2009 +0000

    reduce indentation, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b803758388cc969c52e12e968f22f00eecdc1fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 22 16:01:44 2009 +0000

    Remove the AliasAnalysis::getMustAliases method, which is dead.

    The hasNoModRefInfoForCalls isn't worth it as a filter because
    basicaa provides m/r info and everything chains to it, so remove
    it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89599 91177308-0d34-0410-b5e6-96231b3b80d8

commit 194cfb2c761c1c7c943527d5e843a070d580fa94
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 22 15:35:28 2009 +0000

    Miss two, PR5307.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89596 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5a7ee56626c6c3b0fa8b4393e3c4cf214a5ea50
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 22 15:18:27 2009 +0000

    Convert Thumb2 tests to FileCheck for PR5307.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89595 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6ddf7961a5dc35af0202a9877a5c03dfc13509f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Nov 22 15:15:52 2009 +0000

    Turns out stuff gets allocated to different registers depending on the subtarget.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89594 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16f1ecc2ab9b1bda31da4ec0900b1d80bf075dc8
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 22 14:23:33 2009 +0000

    Convert ARM tests to FileCheck for PR5307.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89593 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bbb84f365f9104e8091e45ac2e11513ef0c09f8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Nov 22 13:16:36 2009 +0000

    Convert test to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89589 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79b7b8a06d35cf5ea601dbd7d2c2ddd6a832bf70
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 22 13:09:48 2009 +0000

    Forgot to alter RUN line when converting to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89588 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba92a65cdc5c316f94576e321b19ebf7902420d8
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 22 12:50:05 2009 +0000

    Fix for bad FileCheck converts in revision 89584.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89586 91177308-0d34-0410-b5e6-96231b3b80d8

commit bebe181781a0f6464328ab66838e92814345c318
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 22 11:45:44 2009 +0000

    Convert a few tests to FileCheck for PR5307.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89584 91177308-0d34-0410-b5e6-96231b3b80d8

commit 537fe619ae0e817ea0c88a00e034f0228be147c2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun Nov 22 04:24:42 2009 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e9a4bc4dc27a5bb203c14e98ce78df5a8ccd63b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sun Nov 22 03:58:57 2009 +0000

    Fix pr5470. Tablegen handles template arguments by temporarily setting their
    values, resolving references to them, and then removing the definitions.
    If a template argument is set to an undefined value, we need to resolve
    references to that argument to an explicit undefined value.  The current code
    leaves the reference to the template argument as it is, which causes an
    assertion failure later when the definition of the template argument is
    removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00b4eef951eedc4b234dd466069a54430b4d1bb8
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 22 02:38:11 2009 +0000

    Remove dead code. While there, also turn a few 'T* ' into 'T *' to match the
    rest of the file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5902f6d18693f3a787615a98e7d3e36b8888ce62
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 22 02:32:29 2009 +0000

    Generate more correct debug info for frame indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89576 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3aa832bd08262d07a332f8f69359f5d6f8368a08
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 22 01:14:08 2009 +0000

    Minor optimization: when doing eq/ne comparions and RHS is a constant - swap operands, this will allow us to fold imm into comparison.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89574 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef4818da6ffd4f013694072800db48b72b7cf9d4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 22 01:13:54 2009 +0000

    Drop unsupported imm operands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e56869809bfe5bcfaa3e6bcf7200a228d239007
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 22 01:13:39 2009 +0000

    Use 2-byte alignment for functions. 4 bytes are clear overkill here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16cbc57dbb8113d45d2b600c549bb43655a1d9d8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 22 01:12:49 2009 +0000

    Use semicolon as assembler comment string

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89571 91177308-0d34-0410-b5e6-96231b3b80d8

commit eee8617c0f283222d9f2f0d9b24c9ff0b2eb7d9e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 21 23:34:09 2009 +0000

    Revert 89562. We're being sneakier than I was giving us credit for, and this
    isn't necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 652b7433b68fdc0371902b0211be5030d56056be
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 21 23:12:12 2009 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38a5cd273053ce399fc980317f25fc5b33e4a73a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Nov 21 22:44:20 2009 +0000

    Fix some spelling in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d18aab483a2b6bb199a9476c1bf4ae2c14a5768
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Nov 21 22:39:27 2009 +0000

    Avoid a redundant assertion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3af6d702411a66e6d02ebfc566083fb78336d5e3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 21 21:40:08 2009 +0000

    Darwin requires a frame pointer for all non-leaf functions to support correct
    backtraces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67abceccf77faa1bbaab2e22c4d7e173927ee12e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 21 06:21:52 2009 +0000

    Add predicate operand to NEON instructions. Fix lots (but not all) 80 col violations in ARMInstrNEON.td.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76fe98917d56fbbc1087c2275d3ab3a8ee4abd2b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 21 06:20:26 2009 +0000

    Allow target to disable if-converting predicable instructions. e.g. NEON instructions under ARM mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89541 91177308-0d34-0410-b5e6-96231b3b80d8

commit c50078e7edda4caf0443225ffde587ae36e1a5ad
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Nov 21 02:48:08 2009 +0000

    Cosmetic changes, which were long overdue, in DwarfDebug.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89537 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1432b62b04c33ad89f4249ef73f2e73740db18c7
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Nov 21 02:46:55 2009 +0000

    We are not using DBG_STOPPOINT anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89536 91177308-0d34-0410-b5e6-96231b3b80d8

commit c591f900f958babf2e8043084a60f91d4b043836
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 21 02:32:35 2009 +0000

    Maintain stylistic consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89535 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8aaa272391a7f5aae92ecf3f64bd94365a57f7a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Nov 21 02:05:31 2009 +0000

    Don't leave temporary files in the test directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89531 91177308-0d34-0410-b5e6-96231b3b80d8

commit e79ff41f7b22dc50740c3c87d0e6801e5fae5924
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Nov 21 02:05:21 2009 +0000

    Be more clever about calculating live variables through new basic blocks.

    When splitting a critical edge, the registers live through the edge are:

    - Used in a PHI instruction, or
    - Live out from the predecessor, and
    - Live in to the successor.

    This allows the coalescer to eliminate even more phi joins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 543b8df69c6e1c707e4f16a28665befd53b78da7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 21 02:01:24 2009 +0000

    Allow SmallString to implicitly convert to StringRef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4473796bf84fc8f009c250ba74f18c5f54712a48
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Nov 21 01:01:30 2009 +0000

    Add more optimizations for object size checking, enable handling of
    object size intrinsic and verify return type is correct. Collect various
    code in one place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89523 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76c1a107d9e2fb6eec90a3fffc8a39c11a4b0317
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Nov 21 00:54:03 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89522 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa1ce6a3b1b8d9f6ee587449741239c59f2b107e
Author: Dale Johannesen <dalej@apple.com>
Date:   Sat Nov 21 00:53:23 2009 +0000

    When generating a vector the really slow way, via loads
    and stores, handle the case where the element size is not
    a valid target type correctly (PPC).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1233f91cb593d825c7efebcb8b3571a502976f23
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Nov 21 00:31:03 2009 +0000

    There is no need to use FoldingSet to unique DIEs.
    DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1718fe60e36c17d72fa7b96dcb381fe8586cab0e
Author: Viktor Kutuzov <vkutuzov@accesssoftek.com>
Date:   Sat Nov 21 00:00:02 2009 +0000

    Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2737ee18866f4e52cc1cd1411d2273d76794374a
Author: David Goodwin <david_goodwin@apple.com>
Date:   Fri Nov 20 23:33:54 2009 +0000

    Restructure code to allow renaming of multiple-register groups for anti-dep breaking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89511 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1004f9502ae653e8a4752e606c9136060c218068
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 20 23:31:34 2009 +0000

    Enable hoisting load from constant memories.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89510 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffb50c1d0c2d0c999082f02c746a3e6ae3030fcd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 23:30:32 2009 +0000

    Fix a thinko that caused spurious @GOTOFFs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b9d2a5f2053a53da30f4bc42f18df77646ca3a9
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 23:21:00 2009 +0000

    Update for new getBlockAddress signature.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 885793baaed110c848ccfdfb460bbc91774d8981
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 23:18:13 2009 +0000

    Target-independent support for TargetFlags on BlockAddress operands,
    and support for blockaddresses in x86-32 PIC mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8

commit b02aec51b2ea2206de1d61e7f9abd59b18daac1c
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Nov 20 22:28:42 2009 +0000

    Recommitting PALIGNR shift width fixes.
    Thanks to Daniel Dunbar for fixing clang intrinsics:
      http://llvm.org/viewvc/llvm-project?view=rev&revision=89499

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56187db10c250ffe39acb633bdf719c8fe66a273
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Nov 20 22:16:40 2009 +0000

    Remove an incorrect overaggressive optimization
    (PPC specific).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89496 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7c408162231566c5eff408a28585063f152ca27
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Nov 20 22:09:28 2009 +0000

    Reverting PALIGNR fix until I figure out how this
    broke the Clang testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89495 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2dbcba3aae7f29b61b6e778d01936f1e99e94ec
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Nov 20 21:40:28 2009 +0000

    Fixed PALIGNR to take 8-bit rotations in all cases.
    Also fixed the corresponding testcase, and the PALIGNR
      intrinsic (tested for correctness with llvm-gcc).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89491 91177308-0d34-0410-b5e6-96231b3b80d8

commit d90672c248edda0cab8f84db6f9b16fe8fe4b281
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 20 21:37:22 2009 +0000

    Do not hold on to a map slot while new entries may be inserted into the map.
    Use ValueMap, instead of std::map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 197e2fcd5b2b0a4d391208380dbe71dbcee48e04
Author: David Greene <greened@obbligato.org>
Date:   Fri Nov 20 21:13:27 2009 +0000

    Cleanups.

    Make things a little more efficient as suggested by Evan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8268f72bb23ff56e4e72260fa1e6575941f46c15
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 20 21:05:37 2009 +0000

    There is no need to emit source location info for DW_TAG_pointer_type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0379c26c10c7e3090ec806a8333f6d3b5ebf8822
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 20:51:18 2009 +0000

    Make Loop::getLoopLatch() work on loops which don't have preheaders, as
    it may be used in contexts where preheader insertion may have failed due
    to an indirectbr.

    Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in
    the case that it would require splitting an indirectbr edge.

    These fix PR5502.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 082f11b74a4bc1ed1434757aa57582a4232e8f29
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 20:19:14 2009 +0000

    Fix IPSCCP's code for deleting dead blocks to tolerate outstanding
    blockaddress users. This fixes PR5569.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d5e4247ca66b21f37c9417c865bd715e93ba960
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 20 20:17:30 2009 +0000

    Revert "Add some rough optimizations for checking routines.", it buildeth not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89482 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92b73c9b0c67894b541ad7e8aaebb663c73f9864
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Nov 20 19:57:37 2009 +0000

    Add some rough optimizations for checking routines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f6bfd4a20638089c8d00a40c2f4cd9e8b63e691
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 20 19:57:15 2009 +0000

    Remat VLDRD from constpool. Clean up some instruction property specifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89478 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffd15dce5570f5c05754fc4dd7962ffe27faaac6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 20 19:55:37 2009 +0000

    Add option -licm-const-load to hoist all loads from constant memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89477 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3de86391c62a6519caa0d6ea12197326efbb793
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Nov 20 19:37:38 2009 +0000

    The verify() call of CPEIsInRange() isn't right for the assertion check of
    constant pool ranges, as CPEIsInRange() makes conservative assumptions about
    the potential alignment changes from branch adjustments. The verification,
    on the other hand, runs after those branch adjustments are made, so the
    effects on alignment are known and already taken into account. The sanity
    check in verify should check the range directly instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89473 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58bb6d922787ef2477a325c7106c95367d034af9
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 19:33:16 2009 +0000

    Use stripPointerCasts(). Thanks Duncan!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89472 91177308-0d34-0410-b5e6-96231b3b80d8

commit d34903a350e0bb37ab31d6cb8449b419535bfe8a
Author: David Goodwin <david_goodwin@apple.com>
Date:   Fri Nov 20 19:32:48 2009 +0000

    Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89471 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff47428dd421e3fa20990dcb4a26a1b8b287ac3b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Nov 20 18:54:59 2009 +0000

    More consistent labelling of basic blocks in debug output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89470 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd91143935f6fc55ba9af90054f1d6dc4d4fcff3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 17:50:21 2009 +0000

    Revert the rule that considers comparisons between two pointers in the
    same object to be a non-capture; Duncan pointed out a way that such
    a comparison could be a capture.

    Make the rule that considers a comparison against null more specific,
    and only consider noalias return values compared against null. This
    still supports test/Transforms/GVN/nonescaping-malloc.ll, and is not
    susceptible to the problem Duncan pointed out with noalias arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89468 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8cb0d95e6125d2c62c76e822e3edf09c6891aae
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Nov 20 17:23:17 2009 +0000

    Move the handling of CommaSeparated options into ProvideOption.

    Makes '--comma-separated val1,val2' mean the same thing as
    '--comma-separated=val1,val2' (that is, 'val1' and 'val2' are not lumped
    together as 'val1,val2'). Also declutters the main loop a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89463 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7f89b0b44347e999695b1cafe8ac0d363cb2ba2
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Nov 20 13:19:51 2009 +0000

    Fix PR5563, an expensive checks failure when running on
    tests/Transforms/InstCombine/shufflemask-undef.ll.  If
    anyone cares, the use of 2*e here (and the equivalent
    all over the place in instcombine) seems wrong, though
    harmless: it should really be twice the length of the
    input vector.  I think shufflevector used to require
    that the mask have the same length as the input, but I
    don't think that's true any more.  I don't care enough
    about vectors to do anything about this...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6888fe797e7b7ee3cd9028cbc8d54aa67a878147
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Nov 20 10:45:10 2009 +0000

    Fix PR5558, which was caused by a wrong fix for PR3393 (see commit 63048),
    which was an expensive checks failure due to a bug in the checking.  This
    patch in essence reverts the original fix for PR3393, and refixes it by a
    tweak to the way expensive checking is done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89454 91177308-0d34-0410-b5e6-96231b3b80d8

commit edb2ded475aba1a45d5bc80ded559e9d91bf6f8a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Nov 20 09:53:25 2009 +0000

    Try to work around grep's "Binary file (standard input) matches" complaints seen
    on ppc buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b6aa45f821c6991b616a8deb340171a83a6bc0a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 20 02:52:08 2009 +0000

    Fix -march= name for x86-64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40b0a2e6bb0787bc7c36a8fc79910a33e1a58965
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 02:51:26 2009 +0000

    Fix fast-isel to avoid selecting the return instruction if a
    tail call has been encountered.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 871fc2c9d35287f0feaeb077f4ce892da9436d06
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Nov 20 02:32:06 2009 +0000

    Remove verifySizes() since it's not adding much value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89443 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef4c5b2c4971e741cd583f5c351e8328e72e93fa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 20 02:10:27 2009 +0000

    Also CSE non-pic load from constant pools.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89440 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0bb0ae7d0154008e836e31d8f8cf77fa2ebb726
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 02:03:44 2009 +0000

    Add an experimental option to run gep-splitting and no-load GVN
    just before codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a958d37a1ed34b2160bbdc7371b1d15641acb2d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 01:34:03 2009 +0000

    Simplify this code; it's not necessary to check isIdentifiedObject here
    because if the results from getUnderlyingObject match, the values must
    be from the same underlying object, even if we don't know what that
    object is.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 222f68489f8cf17fa316ad1028c285326d830214
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Nov 20 01:17:03 2009 +0000

    Add MachineBasicBlock::getName, and use it in place of getBasicBlock()->getName.

    Fix debug code that assumes getBasicBlock never returns NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89428 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1b77e7c3e5adb80863c97c4d24aa598c5fc1515
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 01:09:34 2009 +0000

    Teach getSmallConstantTripMultiple about Shl operators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69aaa0084163fa280cdae34786d3dd67695753c9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 20 00:54:03 2009 +0000

    Fix codegen of conditional move of immediates. We were not making use of the immediate forms of cmov instructions at all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89423 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7c28c8c5c1de49d0b0413f6ff4fada2b80c1ec0
Author: Lang Hames <lhames@gmail.com>
Date:   Fri Nov 20 00:53:30 2009 +0000

    Removed references to LiveStacks from Spiller.* . They're no longer needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e927d7b1f0097ad715d2a4375b2bd7e40dd3c89
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 00:50:47 2009 +0000

    Refine the capture tracking rules for comparisons to be more
    careful about crazy methods of capturing pointers using comparisons.
    Comparisons of identified objects with null in the default address
    space are not captures. And, comparisons of two pointers within the
    same identified object are not captures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f2b0e7a5096767455d0dd6591e2085c518c72c2
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 20 00:43:11 2009 +0000

    Use isVoidTy().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2aef1e6b29c5d584bfdb1a1bc1d674f986108771
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Nov 20 00:40:21 2009 +0000

    Specify proper arch and triple for 64-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89418 91177308-0d34-0410-b5e6-96231b3b80d8

commit d45acc97e4b6a2854810c0a8076df3907e7be6e7
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Nov 20 00:32:16 2009 +0000

    Testcase for r89415.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fbd6ad19b836a8138007e82176581755e206c7f
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Nov 20 00:21:55 2009 +0000

    Update comment to reflect instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ac1d868496cea420332f07cde2d57cf3d9744eb
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 19 23:53:49 2009 +0000

    Refine this to only apply to null in the default address space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89411 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef7c365276e64d3ec8f3f8b2b251057186c73bc4
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Nov 19 23:42:58 2009 +0000

    Try to fix JITTest.FarCallToKnownFunction on ARM and PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89410 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5619db5fa424bd31f0fb1f4647ef479585a1aba
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Nov 19 23:21:43 2009 +0000

    Use CMAKE_DL_LIBS instead of raw library name. Fixes bug 5536.

    Patch by Tobias Grosser!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89406 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25d6435df004aa2890aee502e67242b158c744e7
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Nov 19 23:12:37 2009 +0000

    Fix a couple of problems with maintaining liveness information for antidep breaking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89404 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca890b1973ef53d6c7ece027c037f6de1260cb4b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 19 23:10:28 2009 +0000

    When placing constant islands and adjusting for alignment padding, inline
    assembly can confuse things utterly, as it's assumed that instructions in
    inline assembly are 4 bytes wide. For Thumb mode, that's often not true,
    so the calculations for when alignment padding will be present get thrown off,
    ultimately leading to out of range constant pool entry references. Making
    more conservative assumptions that padding may be necessary when inline asm
    is present avoids this situation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89403 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4f555a862e61afbb08604327f70ced9f9e6b934
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 19 21:57:48 2009 +0000

    Extend CaptureTracking to indicate when a value is never stored, even
    if it is not ultimately captured. Teach BasicAliasAnalysis that a
    local object address which does not escape and is never stored does
    not alias with a value resulting from a load.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3327e8265b77a0ddf6d59dfb891cd311c571ac91
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 19 21:45:22 2009 +0000

    Refactor cmov selection code out to a separate function. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 907856d48f376196e91573fa1d9c5c5e87d86d0b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 19 21:34:07 2009 +0000

    Comparing a pointer with null is not a capture.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89389 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba2f80467ebfd343f8fdbe28745d92a5dd9447f3
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Nov 19 20:48:14 2009 +0000

    Only run this mutex test if threading is enabled.  This
    fixes PR5395.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89385 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9cd9bd206387e98c2897c47b29fd4d31df2f223
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Nov 19 19:42:16 2009 +0000

    Place new basic blocks immediately after their predecessor when splitting
    critical edges in PHIElimination.

    This has a huge impact on regalloc performance, and we recover almost all of
    the 10% compile time regression that edge splitting introduced.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89381 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0e65b8d3493b044f266aa620cead7a1c91b3ccf
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Nov 19 19:21:09 2009 +0000

    Reverting the EH table patches.

    $ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r89279 into '.':
    U    lib/CodeGen/AsmPrinter/DwarfException.cpp
    U    lib/Target/TargetLoweringObjectFile.cpp
    $ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk
    --- Reverse-merging r89270 into '.':
    G    lib/CodeGen/AsmPrinter/DwarfException.cpp
    G    lib/Target/TargetLoweringObjectFile.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a5dc8bb0dbc4fab3b9594c9a94edcb82e5f6eac
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Nov 19 19:20:17 2009 +0000

    Added NLdStLN which is similar to NLdSt with the exception that op7_4 is not
    fully specified at this level.  Subclasses of NLdStLN can specify selective
    bit(s) for Inst{7-4}, as is done for VLD[234]LN* and VST[234]LN* inside
    ARMInstrNEON.td.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89377 91177308-0d34-0410-b5e6-96231b3b80d8

commit af9a21d1a69f3b3ef222674d760309001f4827b7
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 19 19:09:39 2009 +0000

    Fix a small bug.

    Fix one case we missed to make sure we reserve registers from
    allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f74e9c0b2a9ca331220ef8d8dd377e46c7a1ee8
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 19 19:00:10 2009 +0000

    Enable hoisting of loads from constant memory by default. In cases where
    they are lowered to instruction sequences more complex than a simple
    load, such that CodeGen cannot rematerialize them, a reload from a
    spill slot is likely to be cheaper than the complex sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89374 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6bb9ad2a7a5486e4f375e35d537f1cd45ce3015
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 19 18:53:18 2009 +0000

    Use StringRef::min instead of std::min.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49f755b9ed789fa5088c1340e5c9d7b026c89263
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 19 18:23:19 2009 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cc0fd2839a6b5f01cf103317e7dd9cef1058617
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 19 18:22:16 2009 +0000

    TableGen/OptParser: When ordering options, make "sentinel" options appear before
    everything else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89368 91177308-0d34-0410-b5e6-96231b3b80d8

commit 766a36de6e28e0113a56aa51ab00268de0203e42
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Nov 19 17:29:36 2009 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89364 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6c09a5fec44233d337ac34910f2f3e5df2f9939
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Nov 19 17:29:25 2009 +0000

    Make example/Hello compile again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a5f981b1c49eeaa6698480c1b90d6e9382b9568
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 19 16:35:11 2009 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86f092e5f20940eae910c4e60608406134a48831
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 19 16:08:04 2009 +0000

    cstdlib is not automatically included with StringRef anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89359 91177308-0d34-0410-b5e6-96231b3b80d8

commit f42d3bbff53b7c8de06a0e23eebaf4a9aac2ff00
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 19 16:04:41 2009 +0000

    Reenable Split2 StringRef test with Apple gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89357 91177308-0d34-0410-b5e6-96231b3b80d8

commit c71d1f03e0c46be0eee00263f6b1609fd84bd235
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 19 15:55:49 2009 +0000

    Add support for spreading register allocation.

    Add a -linearscan-skip-count argument (default to 0) that tells the
    allocator to remember the last N registers it allocated and skip them
    when looking for a register candidate.  This tends to spread out
    register usage and free up post-allocation scheduling at the cost of
    slightly more register pressure.  The primary benefit is the ability
    to backschedule reloads.

    This is turned off by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89356 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd629ec8b36ef375f35386a190c4c301dda09f44
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 19 15:48:14 2009 +0000

    Remove the now obsolete algorithm include from StringRef.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 449529d5cfab41b1899d04273a326065c4420223
Author: Edwin Török <edwintorok@gmail.com>
Date:   Thu Nov 19 15:39:50 2009 +0000

    Workaround PR5482, because all the gcc versions that I had were miscompiling StringRef:
    4.2.4, 4.3.4, 4.4.2.
    The workaround is to use a local min/max implementation that takes an integer
    param, and not a reference to integer param (like std::min does).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02cec4c48f3c3daf922ee0d8aae5621c12ea3e81
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 19 12:17:31 2009 +0000

    Unbreak x64 MSVC build. Patch by Nicolas Capens!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d446e5cc22993e05211b803cea43f09299d7f96
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Thu Nov 19 11:59:00 2009 +0000

    Add PS3 Triple class, Credit to John Thompson.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89339 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc7bfb11acd970d4cd4da36ae281065b22be5123
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 19 08:16:50 2009 +0000

    80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89337 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ea6a674a73ae8fdb75e15d692c90a048d7af1e0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 19 07:18:49 2009 +0000

    Unbreak test, Bruno please check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89329 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91fd9e4f6f0cd25369fafa3a81312fba451519cc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 19 06:57:41 2009 +0000

    More consistent thumb1 asm printing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89328 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ec49859a25324df48adf6b899d26b679e7a6ab2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 19 06:32:27 2009 +0000

    Shrink ldr / str [sp, imm0-1024] to 16-bit instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 462517808063f450416dd5693adbc31293e9ba9a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 19 06:31:26 2009 +0000

    Eliminate more * 4 in Thumb1 asm printing for consistency sake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59b2354e6b6079cc6bd912770ad84a681d3082e0
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Nov 19 06:06:13 2009 +0000

    - Add sugregister logic to handle f64=(f32,f32).
    - Support mips1 like load/store of doubles:

    Instead of:
      sdc $f0, X($3)
    Generate:
      swc $f0, X($3)
      swc $f1, X+4($3)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31a8a8c2a44d05f0f6d79f2ff57eb06ed02f6952
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Nov 19 05:28:18 2009 +0000

    Only use small sections for non linux targets!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e105d8389347468aaa57d612d4d20c0168464ec
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Nov 19 04:15:33 2009 +0000

    Added a new Spiller implementation which wraps LiveIntervals::addIntervalsForSpills.
    All spiller calls in RegAllocLinearScan now go through the new Spiller interface.
    The "-new-spill-framework" command line option has been removed. To use the trivial in-place spiller you should now pass "-spiller=trivial -rewriter=trivial".
    (Note the trivial spiller/rewriter are only meant to serve as examples of the new in-place modification work. Enabling them will yield terrible, though hopefully functional, code).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c00995baf288899fa940756099b2e5710702841
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Thu Nov 19 02:25:50 2009 +0000

    autoconf config.* claims to not know about auroraux triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89301 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51d2daf6108cda81a81f3c59e44a836a3f4cc8b7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 19 02:05:44 2009 +0000

    Teach IVUsers to keep things simpler and track loop-invariant strides only
    for uses inside the loop. This works better with LSR. Disabled behind
    -simplify-iv-users while benchmarking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89299 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6b28c2ca5ac9fa8b911e5b68fe07ee47bf054ce
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 19 02:03:18 2009 +0000

    Eliminate duplicate phi nodes in loops. Loop rotation, for example, can introduce these, and it's beneficial to later passes to clean them up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89298 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba8e8e58a471dd3252b5f7e3da42501e2508f17f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 19 02:02:10 2009 +0000

    Make EliminateDuplicatePHINodes() available as a utility function

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73fb12e94ad66fee4f8a56049b18113f604cee36
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Nov 19 01:33:57 2009 +0000

    Test from Dhrystone to make sure that we're not emitting an aligned load for a
    string that's aligned at 8-bytes instead of 16-bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b6a195cbe09d455be646027b83b039c7fa6b06d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 19 00:14:53 2009 +0000

    Add TOOLALIAS makefile variable; this defines an alternate name for a program
    which the makefiles will create by symlinking the actual tool to.
     - For use by clang, where we want to make 'clang++' and alias for clang (which
       enables C++ support in the driver)

     - Not sure this is the best approach, alternative suggestions welcome!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 121e71656e195b7fe04fcc6416b69393cf0ef33e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Nov 19 00:09:14 2009 +0000

    The "ReadOnlyWithRel" enum seems to apply more to what Darwin does with the EH
    exception table than DataRel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89279 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc0de436deae8197ed48639ff40595e9fa4e55b3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 19 00:04:43 2009 +0000

    Twine: Stores kinds as uchar instead of bitfield to be friendlier to the
    optimizer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89278 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7a62cc10ff8a5d40b15d2750b62b1f66e507779
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 23:48:57 2009 +0000

    There should be no need to keep renumbering blocks during tail duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89275 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac2a6d3db6062f0f5d4908c62d354981bc75378f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 23:30:38 2009 +0000

    Fix buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89274 91177308-0d34-0410-b5e6-96231b3b80d8

commit c40a1de1e088f0e0c8d854cf53247e41bfa6075c
Author: Richard Osborne <richard@xmos.com>
Date:   Wed Nov 18 23:20:42 2009 +0000

    Add XCore support for indirectbr / blockaddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89273 91177308-0d34-0410-b5e6-96231b3b80d8

commit eede1cfd80ead986dea190267a853c00eeff63a1
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Nov 18 23:20:09 2009 +0000

    De-bork CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89272 91177308-0d34-0410-b5e6-96231b3b80d8

commit da739ea07a1f130adcc9ad3d51e9c895af374dc6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 18 23:18:46 2009 +0000

    Attempt #2:

    Place the EH table in the __TEXT section on MachO. It saves space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a57a12064094766ae271d09fe365c882d48468b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 22:52:37 2009 +0000

    Tail duplication still needs to iterate.  Duplicating new instructions onto
    the tail of a block may make that block a new candidate for duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fda037ed8e65b25550b1b439af1153b40df0739
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 22:12:31 2009 +0000

    Add another statistic to measure code size due to tail duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0359a09551cd3dee071945a565def98fa61b48e3
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Nov 18 22:04:44 2009 +0000

    Remove spurious @verbatim.  Patch by Timo Juhani Lindfors!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89252 91177308-0d34-0410-b5e6-96231b3b80d8

commit d69a01fbd2dcea207cdb20c28de1031556cc4681
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 18 21:54:13 2009 +0000

    Not all ASM has # for comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 678387e294c678f1cdc602864e5f590ad6fdf65a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 18 21:33:35 2009 +0000

    Fix PR5300.

    When TwoAddressInstructionPass deletes a dead instruction, make sure that all
    register kills are accounted for. The 2-addr register does not get special
    treatment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e906a43ec271475b7d5c33ea8c354a29e14b92e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 18 21:29:51 2009 +0000

    TableGen: Add initial backend for clang Driver's option parsing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89245 91177308-0d34-0410-b5e6-96231b3b80d8

commit 390afed1012b60baf06eac8904fb72af3ccaedaa
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 18 20:36:57 2009 +0000

    Allow the machine verifier to be run outside the PassManager.

    Verify LiveVariables information when present.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89241 91177308-0d34-0410-b5e6-96231b3b80d8

commit c272c74658d1f521d0a67ccdf8155d4566380f75
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 18 20:36:47 2009 +0000

    Remove the -early-coalescing option

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ec5663bc8a70b50a0b7b5e08140577ee1f3957f
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Nov 18 20:31:20 2009 +0000

    Fixed the in-place spiller and trivial rewriter, which had been broken by the recent SlotIndexes work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89238 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07fce117258e85a921db78e5656c4039f48829fc
Author: Viktor Kutuzov <vkutuzov@accesssoftek.com>
Date:   Wed Nov 18 20:20:05 2009 +0000

    Added getDefaultSubtargetFeatures method to SubtargetFeatures class which returns a correct feature string for given triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89236 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec816259573936142fdc922b8c8fa98e77a3c998
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 19:29:37 2009 +0000

    Add statistics for tail duplication.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89225 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb368aa30f54a1388c341e6f443c9c6f96216fdc
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Nov 18 18:39:57 2009 +0000

    Add ARMv6 itineraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89218 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecce4b7c8a9afdf9ca01e9c017871492a406ebfe
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 18:10:35 2009 +0000

    Fix a few places that were missed when we converted to unified syntax.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89214 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1a48f57d4a251f639165b4fa8f5b25de598e6c2
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 18 18:01:35 2009 +0000

    Don't require LiveVariables for PHIElimination. Enable critical edge splitting
    when LiveVariables is available.

    The -split-phi-edges is now gone, and so is the hack to disable it when using
    the local register allocator. The PHIElimination pass no longer has
    LiveVariables as a prerequisite - that is what broke the local allocator.
    Instead we do critical edge splitting when possible - that is when
    LiveVariables is available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82262041840cecaa4a3d015d124d166a7b87a995
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 18 17:42:22 2009 +0000

    Turn LLVM_BUILD_EXAMPLES off by default in CMake builds, to match Makefiles &
    Clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89211 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b3f26dbec6c2ca5a680f7d42795408f3a044bee
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 18 17:42:17 2009 +0000

    lit: Fix exclude dirs functionality.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89210 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64954241b84be8ee24450c4a27e01e836eee2fa2
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Nov 18 05:43:15 2009 +0000

    Fix passing of float arguments through ffi.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19194a2f4d58b62e438b2c28f4b42966931cd397
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 18 03:34:27 2009 +0000

    Add a target hook to allow changing the tail duplication limit based on the
    contents of the block to be duplicated.  Use this for ARM Cortex A8/9 to
    be more aggressive tail duplicating indirect branches, since it makes it
    much more likely that they will be predicted in the branch target buffer.
    Testcase coming soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89187 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3bd9875c4cffb6514b54839c0220cfeccb5b7a9
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 18 01:03:56 2009 +0000

    The llvm-gcc front-end and the pass manager use two separate TargetData objects.
    This is probably not confined to *just* these two things.

    Anyway, the llvm-gcc front-end may look up the structure layout information for
    an abstract type. That information will be stored into a table with the FE's
    TD. Instruction combine can come along and also ask for information on that
    abstract type, but for a separate TD (the one associated with the pass manager).

    After the type is refined, the old structure layout information in the pass
    manager's TD file is out of date. If a new type is allocated in the same space
    as the old-unrefined type, then the structure type information in the pass
    manager's TD file will be wrong, but won't know it.

    Fix this by making the TD's structure type information an abstract type user.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89176 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10fd2878665f7ae15848e0d5166a5ea873e2bac8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 18 00:58:27 2009 +0000

    Simplify ComputeMultiple so that it doesn't depend on TargetData.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9321a6db532fd0d5437d854e19e8a9fdc1f59290
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 18 00:02:18 2009 +0000

    Fix inverted test and add testcase from failing self-host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89167 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39a0f07ef82b6cc70ce87c038620921d87297ced
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 17 22:39:08 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89156 91177308-0d34-0410-b5e6-96231b3b80d8

commit b064d5efec51117f9819c7ffabb60970549025b1
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Nov 17 21:58:16 2009 +0000

    Add ability to set code model within the execution engine builders
    and creation interfaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9007bcee6efaa3d528edd8e47cfeb9a2fe47071a
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 17 21:52:40 2009 +0000

    Remove fragile test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89150 91177308-0d34-0410-b5e6-96231b3b80d8

commit e65e2a55c76fd80f137adc6595057cf1a4a4d8fd
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 21:37:04 2009 +0000

    grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35ccbb7056c9c20ecc158d701fb3b00fdd795601
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 21:24:11 2009 +0000

    Enable arm jumpt table adjustment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05930c4f222e11e44989c1040e7b9912e662ad86
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 17 21:23:49 2009 +0000

    Disable -split-phi-edges to unbreak the buildbots

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82ef39981df3f6d75e2ba52517452ff8df4a8415
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 17 20:46:00 2009 +0000

    Never call UpdateTerminator() when AnalyzeBranch would fail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89139 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a4f0a3bd881d83fed218587dbe0d1beb885b7a3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 17 20:38:36 2009 +0000

    Forgot to commit test fixes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89138 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa4af890f3ecfcb21e9a0ce4f21304aec7fa087d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 17 20:04:59 2009 +0000

    Both Darwin as and GNU as violate ARM docs wrt printing of addrmode6
    alignment imm (in the same way). Fix asmprinting for non-darwin platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18f204f62c038bf35ed4887486bd051d60224825
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 19:19:59 2009 +0000

    Add a WriteAsOperand for MachineBasicBlock so MachineLoopInfo dump looks sane.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71faf6a347d7bc9076951bf2e317058024d80697
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 19:19:01 2009 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89129 91177308-0d34-0410-b5e6-96231b3b80d8

commit 226f307c9fd011e31a1b9194017941265ce644d9
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 17 19:15:50 2009 +0000

    Enable -split-phi-edges by default, except when -regalloc=local.

    The local register allocator doesn't like it when LiveVariables is run.
    We should also disable edge splitting under -O0, but that has to wait a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89125 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc4c7583e32dcab06bcb54fce793230b7c20eead
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 19:05:35 2009 +0000

    80-column violations

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89123 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee140c4ce226ab811c551e85a3302a9e0ba5f301
Author: Viktor Kutuzov <vkutuzov@accesssoftek.com>
Date:   Tue Nov 17 18:48:27 2009 +0000

    Added getArchNameForAssembler method to the Triple class for which returns OS and Vendor independent target assembler arch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5da4d89ecae4eb432275e4c186811bbb2116a35b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 17 18:30:09 2009 +0000

    Remove a special case for tail merging that seems to be both broken and
    unnecessary.  It is broken because the "isIdenticalTo" check should be
    negated.  If that is fixed, this code causes the CodeGen/X86/tail-opts.ll
    test to fail, in the dont_merge_oddly function.  And, I confirmed that the
    regression is real -- the generated code is worse.  As far as I can tell,
    that tail-opts.ll test is checking for what this code is supposed to handle
    and we're doing the right thing anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89121 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6454d6b3a54455960df969ee7d3cb4725df645a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 18:10:11 2009 +0000

    Generalize OptimizeLoopTermCond to optimize more loop terminating icmp to use postinc iv.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89116 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b167eeef90ff3d7c5195ce6f2b1acb4478d522c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 17 18:04:15 2009 +0000

    Set MadeChange instead of MadeChangeThisIteration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89114 91177308-0d34-0410-b5e6-96231b3b80d8

commit c77d9a4bdcb38493ce2b210b0e8e306181608657
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Nov 17 17:57:04 2009 +0000

    Revert CPU detection code to return "generic" instead of an empty string in case
    of failure. The x86 target didn't like empty cpu names and broke x86 tests on
    non-x86 buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89111 91177308-0d34-0410-b5e6-96231b3b80d8

commit f492c7348325f8f039047ab11cd8a44b46cb9a6e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 17:53:56 2009 +0000

    Remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89110 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9622b2ee6ee8bf9057d5d17bc4b6dc70d8fa874
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 17 17:40:31 2009 +0000

    Update a comment, now that tail duplication happens after other branch
    folding optimizations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f6474095adef9b9dc65ef94b481785caa086ea7
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Nov 17 17:17:50 2009 +0000

    Set Inst{15-12} (Rd/Rt) to 0b1111 (PC) for BR_JTadd, BR_JTr, and BR_JTm to
    distinguish between them and the more generic instructions (add, mov, and ldr).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cc7b872e96371d21aeff515d9f94e6c11955a07
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 17 17:06:18 2009 +0000

    Perform tail duplication only once, after tail merging is complete.
    It was too difficult to keep the heuristics for merging and duplication
    consistent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47d60dc7125c5c8d2fc0e752b2448792db668751
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Tue Nov 17 15:35:39 2009 +0000

    add Case() with 5 args

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89099 91177308-0d34-0410-b5e6-96231b3b80d8

commit aeb0ef3dba79ca51c55331915e22ad6a3d2e9531
Author: Jay Foad <jay.foad@gmail.com>
Date:   Tue Nov 17 13:13:59 2009 +0000

    Fix HTML formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89093 91177308-0d34-0410-b5e6-96231b3b80d8

commit bed96f986a22dd0d457fc5054733ec85e7ac9061
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 17 10:54:25 2009 +0000

    1.  Allow SCCIterator to work with GraphT types that are constant.
    2.  Allow SCCIterator to work with inverse graphs.
    3.  Fix an incorrect comment in GraphTraits.h (the type in the comment
    was given as GraphType* when it is actually const GraphType &).
    Patch by Patrick Alexander Simmons.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18d0288933ba946f480d62c4233028538b8dc7df
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 17 10:20:22 2009 +0000

    Make bugpoint pass -load arguments to LLI.  This lets one use bugpoint with
    programs that depend on native shared libraries.  Patch by Timo Lindfors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89087 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91bbf5ea7a0dd374f65ba1db5a2e868cfa08065c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 09:55:52 2009 +0000

    Revert 89021. It's miscompiling llvm-gcc driver driver at -O0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e66471c0fac08232fa3464324f2b3e42aec3fcb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 09:51:18 2009 +0000

    Re-apply 89011. It's not to be blamed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89081 91177308-0d34-0410-b5e6-96231b3b80d8

commit cff9162abbf0e246c71f29299165c6ee1a6e615a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 17 09:29:59 2009 +0000

    "XFAIL" the Split2 StringReft test with Apple gcc, which miscompiles it.
     - I plan on fixing/workarounding this, but until then I'd like the bots to stay
       green.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04af0cbb1d29d16253d4e5d3be8dca4b57ce447e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 09:20:28 2009 +0000

    Revert 89011. Buildbot thinks it might be breaking stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58e64e179fc32f88dc3b1b447c6a2225ed22e55f
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Nov 17 09:17:08 2009 +0000

    Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26459c2bf024b2a7dc92ab376679ebc4abf47e61
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 17 08:34:52 2009 +0000

    Following a suggestion of Daniel Dunbar, stop people passing the name
    as the isSigned bool to CreateIntCast by having this resolve to a call
    to a private method, rather than by using a gcc attribute.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89067 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee68f45fe77ad7ce3079eb9e8222075dee099f08
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Nov 17 08:11:44 2009 +0000

    Revert r88939.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 928d16d438165dc6459fdde2365d36e64642ed1e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Nov 17 07:52:09 2009 +0000

    Fail less mysteriously; inform the user that their LLVM was not built with
    libffi support and that the interpreter can't call external functions without
    it. Patch by Timo Juhani Lindfors! Fixes PR5466.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89062 91177308-0d34-0410-b5e6-96231b3b80d8

commit d06c8c5777c8bda4fac5bebc55324fe5fd7bc6dd
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Nov 17 07:19:50 2009 +0000

    Fixed call to wrong constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6171d2bb7ed78f04b91d05998ceef80c86fdbedd
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Nov 17 07:06:10 2009 +0000

    Fix a race condition in the Timer class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89056 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9cc7bfa480cba73c84b03353fd134735d8021d4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Nov 17 01:23:53 2009 +0000

    Refactor the code that creates the "dot-label" difference. This may be used in
    more than one place. No intended functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89024 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd75ded296f631b4b59f5461340de1e1a2beae01
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 01:21:04 2009 +0000

    When moving a block for table jumps, make sure the prior block terminator
    is analyzable so it can be updated. If it's not, be safe and don't move the
    block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89022 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bf51602527c76684b69fb21070cdd4ba50edec3
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 17 01:07:22 2009 +0000

    Enable -split-phi-edges by default

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c1a4c55964f71831f36162320b421ebb82ec56f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 00:55:55 2009 +0000

    MOV64rm should be marked isReMaterializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f9c46ffbb2f96175858d78814fa52a3416ee81e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 17 00:47:23 2009 +0000

    Remove the optimizations that convert BRCOND and BR_CC into
    unconditional branches or fallthroghes. Instcombine/SimplifyCFG
    should be simplifying branches with known conditions.

    This fixes some problems caused by these transformations not
    updating the MachineBasicBlock CFG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89017 91177308-0d34-0410-b5e6-96231b3b80d8

commit dadd6cd96d573649490516c5840139af923d9176
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 17 00:47:06 2009 +0000

    Remove debug info attached with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89016 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4e00b81b5a07e01722211f03b31a5941d4d731e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Nov 17 00:43:13 2009 +0000

    In GlobalVariable::setInitializer, assert that the initializer has the
    right type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fb3d35636d3bf4700533a22ab2a13f2b98fc9d2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 17 00:23:22 2009 +0000

    A few more instructions that should be marked re-materializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5df3462936ef55f159ad4cdc28ddaac77790b862
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 00:20:26 2009 +0000

    Convert to FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2effb21501a21f1213986797396be850fa3da2eb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 00:03:38 2009 +0000

    Convert to FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89002 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5e2ab84cce52357c4b51c35b25cf9b840883a4f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Nov 17 00:00:33 2009 +0000

    Cleanup. Missed removing these when converting. Oops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89001 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff43a627bcc5f09f467393f4041d8969efe87949
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Mon Nov 16 23:57:56 2009 +0000

    Set Rm bits of BX_RET to 0b1110 (R14); and set condition code bits of BRIND to
    0b1110 (ALways).  This is so that the disassembler decoder can distinguish among
    BX_RET, BRIND, and BXr9.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89000 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7cbdd85b600e9c24be78eb84de633055226f0dc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 23:49:55 2009 +0000

    Fix this test - there don't appear to be any actual Reload Reuses
    in this testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d5efd2014e22fb4cf39f54d1832e352a3b585ab
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 23:43:42 2009 +0000

    Revert r87049, which was the workaround for the regression triggered
    by the recent FixedStackPseudoSourceValue-related changes, now that
    the specific bug that affected it is fixed, in r88954.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88997 91177308-0d34-0410-b5e6-96231b3b80d8

commit d99c0dfeddad8a81ef891c6bdd51ad5032fb4418
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Nov 16 23:32:30 2009 +0000

    Revert the test from r88984. It relies on being able to mmap 16GB of
    address space (though it only uses a small fraction of that), and the
    buildbots disallow that.

    Also add a comment to the Makefile's ulimit line warning future
    developers that changing it won't work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ead0f2d62cb30219483230c810f5ad05678ff5d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 23:19:29 2009 +0000

    Convert to FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16330ea4da1a4eba625c735d6247450b4afe56cd
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 22:49:38 2009 +0000

    Initialize the new AsmPrinterFlags field to 0, fixing uses of
    uninitialized memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88985 91177308-0d34-0410-b5e6-96231b3b80d8

commit e233d8a0c6e61da9468080079d7b840a9ee05a72
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Nov 16 22:41:33 2009 +0000

    Make X86-64 in the Large model always emit 64-bit calls.
    The large code model is documented at
    http://www.x86-64.org/documentation/abi.pdf and says that calls should
    assume their target doesn't live within the 32-bit pc-relative offset
    that fits in the call instruction.

    To do this, we turn off the global-address->target-global-address
    conversion in X86TargetLowering::LowerCall(). The first attempt at
    this broke the lazy JIT because it can separate the movabs(imm->reg)
    from the actual call instruction. The lazy JIT receives the address of
    the movabs as a relocation and needs to record the return address from
    the call; and then when that call happens, it needs to patch the
    movabs with the newly-compiled target. We could thread the call
    instruction into the relocation and record the movabs<->call mapping
    explicitly, but that seems to require at least as much new
    complication in the code generator as this change.

    To fix this, we make lazy functions _always_ go through a call
    stub. You'd think we'd only have to force lazy calls through a stub on
    difficult platforms, but that turns out to break indirect calls
    through a function pointer. The right fix for that is to distinguish
    between calls and address-of operations on uncompiled functions, but
    that's complex enough to leave for someone else to do.

    Another attempt at this defined a new CALL64i pseudo-instruction,
    which expanded to a 2-instruction sequence in the assembly output and
    was special-cased in the X86CodeEmitter's emitInstruction()
    function. That broke indirect calls in the same way as above.

    This patch also removes a hack forcing Darwin to the small code model.
    Without far-call-stubs, the small code model requires things of the
    JITMemoryManager that the DefaultJITMemoryManager can't provide.

    Thanks to echristo for lots of testing!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88984 91177308-0d34-0410-b5e6-96231b3b80d8

commit c577b71a6d398d64f3fdc51ffc607ea2882f2cb5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Nov 16 22:38:00 2009 +0000

    Don't build examples by default, use BUILD_EXAMPLES=1 to build them. The only utility of this is testing that we keep the examples up to date, I will just make the buildbots run with this flag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88979 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbe77e5158a4729643feac6871dadd08e3f1c4b4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Nov 16 22:37:52 2009 +0000

    Add "Unoptimized" build (NO_DEBUG_SYMBOLS=1 ENABLE_OPTIMIZED=1), for reducing
    disk space, and increasing battery lifetime. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88978 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c5bade5afd43e2fefe0287dd19d4874f2eac704
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Nov 16 22:34:32 2009 +0000

    Fix unused variables warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d7cd4ecfc39fc323edaf91e1c17d04feec6b728
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 16 21:56:03 2009 +0000

    - Check memoperand alignment instead of checking stack alignment. Most load / store folding instructions are not referencing spill stack slots.
    - Mark MOVUPSrm re-materializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88974 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cb32c36830adc6833d7e459e3a8a9f784e235bb
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Nov 16 21:53:40 2009 +0000

    Revert r88939.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88973 91177308-0d34-0410-b5e6-96231b3b80d8

commit b736b5dd0a3cfd23ad96365beac5bf918805f850
Author: David Greene <greened@obbligato.org>
Date:   Mon Nov 16 21:52:23 2009 +0000

    Fix an expensive-checks error.

    The Mask and LHSMask may not be of the same size, so don't do the
    transformation if they're different.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fcb07aa007c643df80ffaac78ed860fe7c0ceea
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 21:13:22 2009 +0000

    Make the pass class name more explicit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b4b40736acfba22d0befa1badf2b3f851e53c13
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 21:03:58 2009 +0000

    make pass name a bit more clear

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88961 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca78b6fa4a7a87aa8823ecf8d97fbb3f6f7730ac
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 20:45:50 2009 +0000

    Revert 88957. This file uses CodeGenOpt, which is defined in TargetMachine.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cd155b41f86ccb3019fde539d43798a4019c3b6
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 20:41:12 2009 +0000

    Remove an unnecessary #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8450a9090b38c0faf1401326dd7ec95358e995cc
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 20:40:47 2009 +0000

    Sink a #include <map> to where it's actually needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a50988004d9f2614faf8f8de30c7f2f71bffb09
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 20:40:06 2009 +0000

    Make PseudoSourceValue's classof recognize
    FixedStackPseudoSourceValueVal, to respect this isa relationship.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57d7aeffb1f29269aefed5240d6637436676184b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 16 20:35:59 2009 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 073faa1a39a976617625078b326a004ac2592b97
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 20:04:15 2009 +0000

    Convert to FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88947 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae9735e748d6b5095d87744f28b337fb44d4872f
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Nov 16 20:03:13 2009 +0000

    Added a testcase for PR5495.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3890bf0cfe614495230a3f3c0aac3a9278f0d844
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Mon Nov 16 19:46:55 2009 +0000

    Add configure options for specifying where to look for libstdc++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88943 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcfac37c9ca325ddd39c82eee1b80133328b9544
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 19:46:46 2009 +0000

    Convert to FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88942 91177308-0d34-0410-b5e6-96231b3b80d8

commit dceacb2a529c2bcdfd59ed0585684dff24c9054b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 16 19:33:27 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88940 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac402d8db30d059030a6410a5dbc7bef59c3fa32
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Nov 16 19:20:48 2009 +0000

    Add VISIBILITY_HIDDEN marker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88939 91177308-0d34-0410-b5e6-96231b3b80d8

commit 896373b0146c9a789b003bb7a15618747db484bb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 18:58:52 2009 +0000

    Simplify thumb2 jump table adjustments. Remove unnecessary calculation and
    usage of block sizes and offsets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88935 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98f9f85767a7837d985e0dc421ea825f14469378
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 18:55:47 2009 +0000

    clarify comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88933 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4ae3216ba93bd253044cdcbfa7e7645677de6d7
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 16 18:54:08 2009 +0000

    Fix some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88932 91177308-0d34-0410-b5e6-96231b3b80d8

commit c81c2552bd5410dee67cbf3cb220fbac2ed3c2ac
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 16 18:08:46 2009 +0000

    Whitespace: be consistent with pointer syntax.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88929 91177308-0d34-0410-b5e6-96231b3b80d8

commit d904455c24c3f96288e950109730e5f3c6e6009f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 16 17:56:13 2009 +0000

    Clean up whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88927 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1225c9a6179c4429b4eb7d937ee40dedf39d3de
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 17:24:45 2009 +0000

    tbb opt off by default

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88921 91177308-0d34-0410-b5e6-96231b3b80d8

commit fad80ae623fc6897ea32966208814e9a4c70802e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 17:17:48 2009 +0000

    back off for a bit. tracking down weirdness

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 313cc22c734cfef8794dbfaf8a4ac9040a5cd9f6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 16 17:10:56 2009 +0000

    Analyze has to be before checking the condition, obviously. Properly construct an iterator for prior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88917 91177308-0d34-0410-b5e6-96231b3b80d8

commit d826aa969474c97c8522d440d82cfc0710f9ae2c
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Nov 16 16:56:48 2009 +0000

    Make ERROR_IF_USED macro work with GCC <= 4.2, Apple GCCs

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88916 91177308-0d34-0410-b5e6-96231b3b80d8

commit a07e9ea3a1a0136632007d2cf93b70e3ebb4dc97
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Nov 16 15:28:17 2009 +0000

    Make sure that if anyone passes a name by accident for the isSigned
    parameter of CreateIntCast then they get an error from the compiler
    (or from the linker with a non-gcc compiler).  Another possibility
    is to flip the order of the DestTy and isSigned parameters, since you
    should then get a compiler warning if you try to use a char* for a
    Type*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88913 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e7b993b008be1bcca4cec4803092d876b21595a
Author: David Greene <greened@obbligato.org>
Date:   Mon Nov 16 15:12:23 2009 +0000

    Support spill comments.

    Have the asm printer emit a comment if an instruction is a spill or
    reload and have the spiller mark copies it introdues so the asm printer
    can also annotate those.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ac7ca342ff2b023d6521c6b9a90a883b7947e21
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Nov 16 13:15:28 2009 +0000

    BuildIntCast takes an additional parameter, isSigned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a0789a0d7e1648791c921e87abae3012969fbf4
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Nov 16 12:32:28 2009 +0000

    CreateIntCast takes an "isSigned" parameter.  Pass "true" for it, rather than
    a name.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 871746fa4d93eed8573c219360241a4f1841f5a2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 16 07:10:36 2009 +0000

    Special case FixedStackPseudoSourceValueVal as well. Do we really need to differentiate PseudoSourceValueVal from FixedStackPseudoSourceValueVal at this level?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88902 91177308-0d34-0410-b5e6-96231b3b80d8

commit edf605d92d7e3529548911797e93397b81d1489e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 16 06:31:49 2009 +0000

    Check if subreg index is zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88899 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a4ccce190f441cf2a178dbe4b74abdbf92221fa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 16 05:52:06 2009 +0000

    For some targets, a copy can use a register multiple times, e.g. ppc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88895 91177308-0d34-0410-b5e6-96231b3b80d8

commit aedc2e9d64b536d329cd406cc1d6551cce9b70fe
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 16 05:44:04 2009 +0000

    xfail for now. It has been failing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88892 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3d4e5e6d5b0b8d857c111166e3d0defd860d437
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Nov 16 04:35:29 2009 +0000

    Disable ldc1/sdc1 instructions for mips1 targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ad52d038d3d31c43455d4a072678736bdfdc5f4
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Nov 16 04:33:42 2009 +0000

    - Fix a small bug while handling target constant pools (one param was missing).
    - Add a smarter constant pool loading, instead of:

    lui $2, %hi($CPI1_0)
    addiu $2, $2, %lo($CPI1_0)
    lwc1 $f0, 0($2)

    Generate:

    lui $2, %hi($CPI1_0)
    lwc1 $f0, %lo($CPI1_0)($2)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00c4cadea398906831e85a9444a2803c7483661d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 16 03:51:42 2009 +0000

    typo spotted by duncan.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d0591c3acd4208faff96f90ddfba096e6c20dc3
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Nov 16 02:07:31 2009 +0000

    Fixes the bug exposed by Anton's test case in PR 5495:
    Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it
    removes the copy from said reg's Kills list.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 248a854e1e7ba8c2ab6595e24948dabed45c280e
Author: Lang Hames <lhames@gmail.com>
Date:   Mon Nov 16 02:00:09 2009 +0000

    Fix for the original bug in PR5495 - Look at uses as well as defs when determining the PHI-copy insert point.

    - Patch by Andrew Canis!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88880 91177308-0d34-0410-b5e6-96231b3b80d8

commit 860fb5bb3ded49293473d043b5206742c14b3476
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 15 21:45:34 2009 +0000

    Detect need for autoalignment of the stack earlier to catch spills more
    conservatively. eliminateFrameIndex() machinery adjust to handle addr mode
    6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b93798c0fd881d607fba728f7c138f8def59315
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 15 21:05:07 2009 +0000

    set the def of the VLD1q64 properly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c7aff7f75b0277e755005715910cc54058ee8e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 20:03:53 2009 +0000

    disable copying, enforce some invariants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88870 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7178235fa11abb93ec377646da59cd105b97793
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 20:02:12 2009 +0000

    teach LVI to infer edge information from switch instructions.
    This allows JT to eliminate a ton of infeasible edges when
    handling code like the templates in PatternMatch.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37d31f5b76f2a9175d52c3e05dc032ee142a395e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 20:01:24 2009 +0000

    fix a logic error that would cause LVI-JT to miscompile
    some conditionals

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88868 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84c81704932e9a6ec43dccd9f7337ddf9b586f2a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 20:00:52 2009 +0000

    implement the first stab at caching queries.  This isn't correct
    (because the invalidation logic is missing) but LVI isn't enabled
    by default anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56b7f9e99d3085fbe9f56f000c3b8cb8c0d71e8f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 19:59:49 2009 +0000

    refactor a bunch of code forming the new LazyValueInfoCache
    and LVIQuery classes, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88866 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3e3a5da45bad95d74336408f3bcbf0ef5dfb801
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 19:58:31 2009 +0000

    make PRE of loads preserve the alignment of the moved load instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88865 91177308-0d34-0410-b5e6-96231b3b80d8

commit de8ec70490a2344987913332ad11618bb6eb463e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 19:57:43 2009 +0000

    fix a bug handling 'not x' when x is undef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8483451fe05bf3308c3fc1f171f1d95a09e79cec
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 19:56:28 2009 +0000

    mark getIntrinsicID() 'readonly'.  This allows various classof methods
    (like DbgDeclareInst's) to shrink substantially.  It sucks that we have
    to pull Compiler.h into such a public header, but at least Compiler.h
    doesn't pull anything else in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88863 91177308-0d34-0410-b5e6-96231b3b80d8

commit a50e9237b7d8cdeace748653d7f96b9899fe22b7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 19:54:31 2009 +0000

    add attributes for readnone/readonly functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ecb882db35446d5ee649d4d75b5e2de542c8c40
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 15 19:52:43 2009 +0000

    add a version of array_pod_sort that takes a custom comparator function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78799101733621457222fe31d32291664e8aa350
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 15 17:51:23 2009 +0000

    Add a complex missed optimization opportunity I came across while investigating
    bug 5438.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88855 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e3a24525cce403014d8bf531017cf632f6a1a06
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Sun Nov 15 10:18:17 2009 +0000

    Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88849 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d0c998ab9affd1d2fd66fa94726b3d171ab0303
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 15 08:10:29 2009 +0000

    lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.
     - Used for running a single fixed command on a directory of files, with the
       option of deriving a temporary input file from the test source.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88844 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb7d651805dd1b62eaea656e570ba8da682b8ca1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 15 07:47:32 2009 +0000

    Revert r88830 and r88831 which appear to have caused a selfhost buildbot some
    grief. I suspect this patch merely exposed a bug else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88841 91177308-0d34-0410-b5e6-96231b3b80d8

commit d71aeb7ade8a57594e422b669b689a9b7e402ed0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 15 07:22:58 2009 +0000

    Remove duplicate implementation of excludes functionality, and support excluding
    dirnames.

    Also, add support for the 'unsupported' config property.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88838 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0410a11814d5923395775f889a11b11405dd8f1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 15 06:16:57 2009 +0000

    Correct typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88831 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8e3063c9c13bad8152942da6c362db2180fb6a0
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 15 05:55:17 2009 +0000

    Teach instcombine to look for booleans in wider integers when it encounters a
    zext(icmp). It may be able to optimize that away. This fixes one of the cases
    in PR5438.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88830 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed6d6e7ec31ebd4b2a7cf8117082bd4395e6bd91
Author: Lang Hames <lhames@gmail.com>
Date:   Sun Nov 15 04:39:51 2009 +0000

    Added an assert to the PBQP allocator to catch infinite cost solutions which might otherwise lead to miscompilations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88829 91177308-0d34-0410-b5e6-96231b3b80d8

commit e22eb6b2ec6cb14f8fd750ca0582bb5788da783a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 15 01:02:09 2009 +0000

    lit: Add --repeat=N option, for running each test N times.
     - Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fa13439112fd8cec6b2a3ad6b642664e5922068
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 14 22:04:42 2009 +0000

    Remove bogus corei7 and atom entries, the family was incorrect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4823e959d80382898b5dcfb7a67f75ec56781516
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 14 21:57:35 2009 +0000

    remove xfail

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88817 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8ed2bb105e79bbc6f3347fb2f513127d1abedc7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 14 21:36:19 2009 +0000

    Fill out X86 table, although we are missing lots of names for things. We now
    properly detect my Xeon box though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88814 91177308-0d34-0410-b5e6-96231b3b80d8

commit d31559cc26ed09e6ea8b7a77d59fa343d9f92795
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 14 21:36:07 2009 +0000

    Report the detected host CPU in --version.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88813 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4b383b2502314ea3868c5646d201ba463974752
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 14 21:33:37 2009 +0000

    cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37957d5ea068c53cda4586c3391a66b355cadddf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 14 20:15:03 2009 +0000

    Do not merge jump tables this early. Branch folding will do any necessary
    merges, and until then, it's useful to keep the tables separate for ease
    of manipulation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88806 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b8810510f177de84116be20460126c81b4e2575
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 14 20:10:18 2009 +0000

    Cleanup flow, and only update the jump table we're analyzing when replacing a destination MBB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47387c55bcb1613a65de19780f7fe900253f3c6d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 14 20:09:13 2009 +0000

    Add function to replace a destination MBB in a single jump table

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c53a0c29398ff20c94d466093405662b50bad47
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Nov 14 19:51:20 2009 +0000

    Remove dead variable found by clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88803 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca574ca06afe9019e0a955b4ebd8555fc3622357
Author: Richard Osborne <richard@xmos.com>
Date:   Sat Nov 14 19:33:35 2009 +0000

    Add XCore support for arbitrary-sized aggregate returns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88802 91177308-0d34-0410-b5e6-96231b3b80d8

commit c28999496ea409dae005b6278b5730b6e421d552
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 14 18:01:41 2009 +0000

    Temporary disable the error - it seems to be too conservative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88800 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f5690b2a5307bf3ca135f41ca2a42123026d12e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Nov 14 16:37:18 2009 +0000

    Implement DISABLE_INLINE for MSVC. This required changing the position in all
    forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 653ec44e67895e6a844808a07cf98bfcecf46da4
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Nov 14 15:15:39 2009 +0000

    This test doesn't work on arm either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88794 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0bb845e635bd183b9526dff7a60f5c8edfd3392
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Nov 14 14:14:58 2009 +0000

    Make NORETURN working with MSVC. MSVC only accepts NORETURN in front of the
    decl so move it there. GCC accepts it both in front and after decls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91c44416fdc2fb7eb5969bd011fcb35862f19125
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 14 10:09:12 2009 +0000

    Add llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU.
     - This is an initial step towards -march=native support in Clang, and towards
       eliminating host dependencies in the targets. See PR5389.

     - Patch by Roman Divacky!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 216b9ea902b6a96fa246f8212aa63df272c832b9
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 14 07:25:54 2009 +0000

    Remove LLVMContext from reassociate. It was threaded through every function but
    ultimately never used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88763 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5461b52004980be0ec9abac2199abb4371dcfb3f
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Nov 14 07:22:25 2009 +0000

    revert 88761 as it fails builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bd6558bac94a6e57c6ccb051feed72d7124470a
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Nov 14 06:19:49 2009 +0000

    Fix debug info crashes for PIC16.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88761 91177308-0d34-0410-b5e6-96231b3b80d8

commit b341c078583a302c2a8c8b99fe41d1cb9ee38e5b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 14 06:15:14 2009 +0000

    Teach BasicAA that a constant expression can't alias memory provably not
    allocated until runtime (such as an alloca). Patch by Hans Wennborg!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88760 91177308-0d34-0410-b5e6-96231b3b80d8

commit f177bd4187684d81daae0889083f1a17dbea9616
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 14 03:42:17 2009 +0000

    Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88753 91177308-0d34-0410-b5e6-96231b3b80d8

commit a88d1acbaefb5416a147dcdd2199bb43ab70983d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 14 02:55:43 2009 +0000

    - Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo.
    - If destination is a physical register and it has a subreg index, use the
      sub-register instead.
    This fixes PR5423.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88745 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8d2665eb0e8faf17ba618c946f542c6d9c35e4a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Nov 14 02:27:51 2009 +0000

    Add an option for running GVN with redundant load processing disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1196b1407d835a21fc3b9181c821822b4602ef04
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 14 02:11:32 2009 +0000

    Add radar number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5da2b872edfc21b7483158f064a9f98636302c78
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 14 02:09:09 2009 +0000

    Fix PR5412: Fix an inverted check and another missing sub-register check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88738 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0c961121927e428d6279512dd45c634aafd1593
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Nov 14 02:06:30 2009 +0000

    Enable the tail call optimization when the caller returns undef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 770b4d6907dab297589a12d3bf89f926c0b400e9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 14 01:50:00 2009 +0000

    When expanding t2STRDi8 r, r to two stores, add kill markers correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88734 91177308-0d34-0410-b5e6-96231b3b80d8

commit 257ed14adea832ee52d55613bd9f8ce3d2a8f43d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Nov 14 00:38:13 2009 +0000

    Fix bug in -split-phi-edges.

    When splitting an edge after a machine basic block with fall-through, we
    forgot to insert a jump instruction. Fix this by calling updateTerminator() on
    the fall-through block when relevant.

    Also be more precise in PHIElimination::isLiveIn.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88728 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e3a74162079124f41f7b17b28d8c2e96ce76a16
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Nov 14 00:38:06 2009 +0000

    Update MachineDominator information

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f1c0cea5912f6b4297d4557b5d13f5d1d39f522
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Nov 14 00:02:51 2009 +0000

    Added an API to the SlotIndexes pass to allow new instructions to be inserted into the numbering.

    PreAllocSplitting is now using this API to insert code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02406c496c6b5242eeb2d3d623d0cf50193f30e7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 13 23:16:41 2009 +0000

    Fix PR5411. Bug in UpdateKills. A reg def partially define its super-registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88719 91177308-0d34-0410-b5e6-96231b3b80d8

commit a974c30e47670933e452a2eaa35ecacbcedae572
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Nov 13 23:08:47 2009 +0000

    Remove extraneous commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88716 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9d5a80c80238bf6b3fce6507ba8a9568bc5b093
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Nov 13 23:00:14 2009 +0000

    Print out something, even if it's non-parseable later when we've
    got ghost linkage. It's better than aborting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88715 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c29f6d0a24c3dada6f50d47f6ccc90293a9840e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 13 22:24:13 2009 +0000

    Move the FixedStackPseudoSourceValueVal enum value before InstructionVal
    so that isa<Instructon> doesn't return true for FixedStackPseudoSourceValue
    values. This fixes a variety of problems, including crashes with -debug
    and -print-machineinstrs. Also, add a comment to warn about this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88711 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee787d256e654edaad2c585042e60c8cfa761fd3
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Nov 13 21:58:54 2009 +0000

    Disable the JITTest.NoStubs test for Darwin PPC. It apparently doesn't implement
    emitFunctionStubAtAddr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88708 91177308-0d34-0410-b5e6-96231b3b80d8

commit abb5622f9edb5b9a82ac2b0b93031a30c5b358e0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Nov 13 21:56:15 2009 +0000

    Fix PHIElimination optimization that uses MBB->getBasicBlock.

    The BasicBlock associated with a MachineBasicBlock does not necessarily
    correspond to the code in the MBB.

    Don't insert a new IR BasicBlock when splitting critical edges. We are not
    supposed to modify the IR during codegen, and we should be able to do just
    fine with a NULL BB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fea16565f83b155fcd7edc5faa8ef7b1a7dfea1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Nov 13 21:56:09 2009 +0000

    Add MachineFunction::verify() to call the machine code verifier directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88706 91177308-0d34-0410-b5e6-96231b3b80d8

commit c43aee1e131787dcea2d7f32494d80583723e92f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Nov 13 21:56:01 2009 +0000

    The instruction pointer %RIP is a reserved register on x86_64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14b7fce7a45ed35c18811033e25a200a53ad49e1
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Fri Nov 13 21:55:54 2009 +0000

    Fix polarity of a CFG check in machine verifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88704 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5d3935ad09cafa5d8fe40f1b65ab398e4e7b0e4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 13 21:55:31 2009 +0000

    Use .data() instead of .c_str() when nul-termination is not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c0334d78ba363c2ab2edb2ac7a9f4b340764f1b
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 13 21:45:04 2009 +0000

    Do not use value handle to wrap MDNode in DIDescriptor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88700 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca9b04ba02e321977d03e79a5bbd4c95eb23a0d8
Author: David Greene <greened@obbligato.org>
Date:   Fri Nov 13 21:34:57 2009 +0000

    Move DebugInfo checks into EmitComments and remove them from
    target-specific AsmPrinters.  Not all comments need DebugInfo.

    Re-enable the line numbers comment test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88697 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd6a8e23207f276f915f20cad9f3905a862df5d9
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 13 21:02:15 2009 +0000

    When optimizing for size, don't tail-merge unless it's likely to be a
    code-size win, and not when it's only likely to be code-size neutral,
    such as when only a single instruction would be eliminated and a new
    branch would be required.

    This fixes rdar://7392894.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cec5f651fae320adef8d66650851fa86587a88d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 13 20:36:40 2009 +0000

    Fix PR5410: LiveVariables lost subreg def:

    D0<def,dead> = ...
    ...
                 = S0<use, kill>
    S0<def>      = ...
    ...
    D0<def>      =

    The first D0 def is correctly marked dead, however, livevariables should have
    added an implicit def of S0 or we end up with a use without a def.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88690 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6e30350b685bd4c9eddf4a88cb5dac41ee61eb8
Author: David Goodwin <david_goodwin@apple.com>
Date:   Fri Nov 13 19:52:48 2009 +0000

    Allow target to specify regclass for which antideps will only be broken along the critical path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682 91177308-0d34-0410-b5e6-96231b3b80d8

commit e149835a3e9026a8ee4765e81a67d3961e62fc6c
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Fri Nov 13 18:49:59 2009 +0000

    Support fp64 immediate zero, this fixes only part of PR5445
    because the testcase is triggering one more bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88674 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3510e118fbdf09887c4b804f1eba0cb62a2d3493
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 13 18:49:38 2009 +0000

    Don't let a noalias difference disrupt the tailcall optimization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88672 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c0d846c1608882657e4adf01703a7bc907baf48
Author: David Greene <greened@obbligato.org>
Date:   Fri Nov 13 14:42:06 2009 +0000

    Remove duplicate APIs and state WRT spill objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87106 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce91e0acd570dd9d2e5ef054cec34e820f1a4f75
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Nov 13 04:55:09 2009 +0000

    Distinguish "a," from "a". The first one splits into "a" + "" and the second one into
    "a" + 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87084 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e78567b46273b04541d5b68e5eb11987b54d8a5
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 13 02:27:33 2009 +0000

    Revert r87059 for now. It is failing clang tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87070 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab9a0687312516700d6aae598e894db4560a48b0
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 13 02:25:26 2009 +0000

    Ignore nameless variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87069 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d49596b97b7363bb783adb0d02a22e99bc0b48e
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Nov 13 02:18:25 2009 +0000

    Switch to smallvector. Also fix issue with using unsigend for MaxSplit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48fd1e4422178b0f4989d6c06fc8abfb5b9fd12d
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Nov 13 01:45:18 2009 +0000

    Adjust isConstantSplat to allow for big-endian targets.
    PPC is such a target; make it work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44b3c3ef7154bcc1a0637b1cf253d14864e96cc3
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Nov 13 01:44:55 2009 +0000

    Remove unnecessary llvm.dbg.declare bitcast

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76af158707679cc7764fa8b91f1924a0f3976114
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Nov 13 01:24:40 2009 +0000

    Add a new split method to StringRef that puts the substrings in a vector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08ca9519152539cb987a447473da7bffb0ddada1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Nov 13 01:19:24 2009 +0000

    Block renumbering

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b6f987c42f5224cbba161d8f8705a2085548515
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Nov 13 01:17:22 2009 +0000

    use lower case for readability

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87054 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee41cf2347a7798f9ddde2281e72f34b2cc2e916
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 13 01:01:58 2009 +0000

    Update test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98c70f7c2db8426127d953589a1f3d2490646137
Author: David Greene <greened@obbligato.org>
Date:   Fri Nov 13 00:29:53 2009 +0000

    Fix a bootstrap failure.

    Provide special isLoadFromStackSlotPostFE and isStoreToStackSlotPostFE
    interfaces to explicitly request checking for post-frame ptr elimination
    operands.  This uses a heuristic so it isn't reliable for correctness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87047 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5d9ade2f815552c50c991ffed2128f376e00338
Author: Owen Anderson <resistor@mac.com>
Date:   Thu Nov 12 23:22:41 2009 +0000

    Re-enable this code, since redundant PHIs are now being better nuked.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b8472da2572659b4ed6b9c4bef4b71ca2d1626f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Nov 12 23:13:08 2009 +0000

    Simplify code a bit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87040 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7354a3e048bb8ca2281d38778368bfbbfb05c2b6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Nov 12 21:59:20 2009 +0000

    Refactor code that checks if it's a call to a "nounwind" function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87036 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17909ebface5a88cea9259ab16689ea4baf7464a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 21:58:18 2009 +0000

    use isInstructionTriviallyDead, as pointed out by Duncan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87035 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b5fbf226159fc889516396ec979f408a182c136
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 21:49:55 2009 +0000

    Do some cleanups suggested by Chris.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87034 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6cace3a4708a5e41259f53b254a68f2b9e0ca28
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 12 21:26:11 2009 +0000

    StringRef(const char*) should not be used to turn null pointers into empty
    strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fb68ff9424b68ae0d41d9d58372f9075a35b2c1
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 21:07:54 2009 +0000

    Set the ReloadReuse AsmPrinter flag where appropriate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87030 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e820e14feed174af0008f03ae3adc37add9b445
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 12 21:07:02 2009 +0000

    Remove my Value.h build fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87029 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cf8534ab3c029dc5d792d8e36357c8028278a67
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 21:04:19 2009 +0000

    Fix a build error by providing a missing enum value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87028 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ba3999a322f98167aab91baf54a4119b1fa518b
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 21:00:03 2009 +0000

    Make the MachineFunction argument of getFrameRegister const.

    This also fixes a build error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87027 91177308-0d34-0410-b5e6-96231b3b80d8

commit 138ae5347fabad22459cd18576e44b630859e389
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 20:55:29 2009 +0000

    Add hasLoadFromStackSlot and hasStoreToStackSlot to return whether a
    machine instruction loads or stores from/to a stack slot.  Unlike
    isLoadFromStackSlot and isStoreFromStackSlot, the instruction may be
    something other than a pure load/store (e.g. it may be an arithmetic
    operation with a memory operand).  This helps AsmPrinter determine when
    to print a spill/reload comment.

    This is only a hint since we may not be able to figure this out in all
    cases.  As such, it should not be relied upon for correctness.

    Implement for X86.  Return false by default for other architectures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87026 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99182191f2a0ce322f3576a4211d6b6fcaec5a78
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 12 20:53:56 2009 +0000

    Attempt to unbreak LLVM build, David G. please check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87025 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3824bc8f0c4ba2970f9100e871692e389351fa55
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 12 20:53:43 2009 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87024 91177308-0d34-0410-b5e6-96231b3b80d8

commit e32637bcbd717a8233de28566aeaa0b2db1d659b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Nov 12 20:51:53 2009 +0000

    If there's more than one function operand to a call instruction, be conservative
    and don't assume that the call doesn't throw. It would be nice if there were a
    way to determine which is the callee and which is a parameter. In practice, the
    architecture we care about normally only have one operand for a call instruction
    (x86 and arm).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87023 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6424ab9738972c0a9d5f588c59645f85782cf68c
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 20:49:22 2009 +0000

    Add a bool flag to StackObjects telling whether they reference spill
    slots.  The AsmPrinter will use this information to determine whether to
    print a spill/reload comment.

    Remove default argument values.  It's too easy to pass a wrong argument
    value when multiple arguments have default values.  Make everything
    explicit to trap bugs early.

    Update all targets to adhere to the new interfaces..

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87022 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea862b03de56f3746e10b93b4aaea3f5c781fd21
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 12 20:36:59 2009 +0000

    Add compare_lower and equals_lower methods to StringRef. Switch all users of
    StringsEqualNoCase (from StringExtras.h) to it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b11c7069ffa39e6276b66d9dbf91ecd3844f286
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 20:25:07 2009 +0000

    Make FixedStackPseudoSourceValue a first-class PseudoSourceValue by
    making it visible to clients and adding LLVM-style cast capability.
    This will be used by AsmPrinter to determine when to emit spill comments
    for an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 145fd183554981733e64ccce959b8b4ea9b66ed3
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 20:21:09 2009 +0000

    Add AsmPrinter comment flags to machine instructions so that AsmPrinter
    can emit extra information in comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ea46c5af1b82dc5af51ced679e665d87129c5ba
Author: David Greene <greened@obbligato.org>
Date:   Thu Nov 12 20:13:34 2009 +0000

    Add comment flags so AsmPrinter can output additional information when
    emitting comments.  These flags carry semantic information not otherwise
    easily derivable from the IR text.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f708fd24678e7f44057dd08643f78dd1541aa5a
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Nov 12 19:08:21 2009 +0000

    Rename registers to break output dependencies in addition to anti-dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a7ef8dcbe4c986ba7f4267b56d4779567bc91ff
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Nov 12 19:02:56 2009 +0000

    "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28bc2ec029ce31dc4acc3da2a082c407f8a982ef
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 12 18:36:19 2009 +0000

    Mark DBG_LABEL, EH_LABEL, and GC_LABEL as not-duplicable, since
    they really are not duplicable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87009 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3de6e216c54e25c6275e55797087db22d0da82e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 12 17:59:45 2009 +0000

    Silence a warning on targets with unsigned chars.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b0dd3fed34eb77a58c42aee574e171fe5d983df
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 12 17:25:07 2009 +0000

    Update TB[BH] layout optimization. Add support for moving the target block
    to directly follow the jump table. Move the layout changes to prior to any
    constant island handling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86999 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8ffe253d56acda3d573471d0d97f916ca3f0879
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 12 17:19:09 2009 +0000

    Clean up testcase a bit. Simplify case blocks and adjust switch instruction to not take an undefined value as input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86997 91177308-0d34-0410-b5e6-96231b3b80d8

commit c07cafee23409d04581c2873bcbb58d8f383939a
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Thu Nov 12 15:10:33 2009 +0000

    fix crash in my previous patch

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e03e8568fcb49eadc7d0baf9640d28fb2e0444f
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Thu Nov 12 14:53:53 2009 +0000

    implement shl, ashr, and lshr methods. shl is not fully implemented as it is quite tricky.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86986 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbc070fd1e24e88edc865429c356f5f53de020af
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 12 12:35:27 2009 +0000

    Fix typo in run line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9adc091f450070795e2e1f8f83eead54ca000b55
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Nov 12 09:44:17 2009 +0000

    typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86980 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83cd6cbb1c6ad22198d156c6d43b1158eeca4ee8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 07:56:08 2009 +0000

    implement a nice little efficiency hack in the inliner.  Since we're now
    running IPSCCP early, and we run functionattrs interlaced with the inliner,
    we often (particularly for small or noop functions) completely propagate
    all of the information about a call to its call site in IPSSCP (making a call
    dead) and functionattrs is smart enough to realize that the function is
    readonly (because it is interlaced with inliner).

    To improve compile time and make the inliner threshold more accurate, realize
    that we don't have to inline dead readonly function calls.  Instead, just
    delete the call.  This happens all the time for C++ codes, here are some
    counters from opt/llvm-ld counting the number of times calls were deleted vs
    inlined on various apps:

    Tramp3d opt:
      5033 inline                - Number of call sites deleted, not inlined
     24596 inline                - Number of functions inlined
    llvm-ld:
      667 inline           - Number of functions deleted because all callers found
      699 inline           - Number of functions inlined

    483.xalancbmk opt:
      8096 inline                - Number of call sites deleted, not inlined
     62528 inline                - Number of functions inlined
    llvm-ld:
       217 inline           - Number of allocas merged together
      2158 inline           - Number of functions inlined

    471.omnetpp:
      331 inline                - Number of call sites deleted, not inlined
     8981 inline                - Number of functions inlined
    llvm-ld:
      171 inline           - Number of functions deleted because all callers found
      629 inline           - Number of functions inlined

    Deleting a call is much faster than inlining it, and is insensitive to the
    size of the callee. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86975 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdac8bdcab6df408da67ef9f8a32a6298a8a523c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 12 07:49:10 2009 +0000

    RegScavenger::enterBasicBlock should always reset register state.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86972 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d70200b12f1e1f28c87f18e8cfcad09490dfb10
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 12 07:35:05 2009 +0000

    - Teach LSR to avoid changing cmp iv stride if it will create an immediate that
      cannot be folded into target cmp instruction.
    - Avoid a phase ordering issue where early cmp optimization would prevent the
      later count-to-zero optimization.
    - Add missing checks which could cause LSR to reuse stride that does not have
      users.
    - Fix a bug in count-to-zero optimization code which failed to find the pre-inc
      iv's phi node.
    - Remove, tighten, loosen some incorrect checks disable valid transformations.
    - Quite a bit of code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86969 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae466e3c7583e38941203c6de310f4749ccc529e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 12 07:16:34 2009 +0000

    Use table to separate opcode from operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a2ce50346bc55508a38e13d389bcafab7eb4c29
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 12 07:13:11 2009 +0000

    isLegalICmpImmediate should take a signed integer; code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86964 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8d851e5c0812d5b3c93b8180b2e85e50411d6b5
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Nov 12 06:48:09 2009 +0000

    CMake: Hopefully unbreak the build by mimicking the changes on the
    other build system about the new C_INCLUDE_DIRS configure option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86960 91177308-0d34-0410-b5e6-96231b3b80d8

commit 354924df7e9bffc35f8eccff8152c678f17a9885
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Thu Nov 12 05:46:09 2009 +0000

    Add the --with-c-include-dirs to llvm's configure.
    The clang patch is next.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86955 91177308-0d34-0410-b5e6-96231b3b80d8

commit 469f048845803a7e0a71fc315e6962f3978ff466
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Nov 12 05:36:09 2009 +0000

    CMake: Pass -lm to check_symbol_exists for detecting several math
    functions like floorf, ceilf, ... Add test for detecting nearbyintf.

    This change was prompted by test/Transforms/SimplifyLibCalls/floor.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 670358cf61e1f7b5c6753dc2fc08b336634dac1e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 05:24:05 2009 +0000

    use getPredicateOnEdge to fold comparisons through PHI nodes,
    which implements GCC PR18046.  This also gets us 360 more
    jump threads on 176.gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45dfc9458f8565fd2e9a3974569e6b37e56fa9f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 04:57:13 2009 +0000

    various fixes to the lattice transfer functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86952 91177308-0d34-0410-b5e6-96231b3b80d8

commit e876ad0cacd6c9809e4924d53a0fa8d2c6d8816e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 04:37:50 2009 +0000

    switch jump threading to use getPredicateOnEdge in one place
    making the new LVI stuff smart enough to subsume some special
    cases in the old code.  Disable them when LVI is around, the
    testcase still passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90fedb1f17790459fdbb555fe278f05e39bf1dac
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 04:36:58 2009 +0000

    Add a new getPredicateOnEdge method which returns more rich information for
    constant constraints.  Improve the LVI lattice to include inequality
    constraints.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86950 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04e67d0e2a2d7bcde1028998b06990c935dd95b2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 12 03:55:33 2009 +0000

    Move the utility function UpdateTerminator() from CodePlacementOpt() into
    MachineBasicBlock so other passes can utilize it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86947 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7ecb28b62f3fd1539b294e07c6cf3ab9b61f1bb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Nov 12 03:28:35 2009 +0000

    Revert 86857. It's causing consumer-typeset to fail, and there's a better way to do it forthcoming anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86945 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea644f7a484cc773e729614db11a760b62c857db
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Nov 12 03:12:18 2009 +0000

    Use stubs when we have them, otherwise use code we already have,
    otherwise create a stub.

    Add a test to make sure we don't create extraneous stubs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b6922036dab420a5eddf28e887c2e44c6c0f340
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 12 02:52:56 2009 +0000

    Add the braces gcc suggested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b3a128b658b346c36d5e212922b432dcb5b3dfa
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Nov 12 02:08:11 2009 +0000

    Add CreateNUWAdd and CreateNUWSub to complement the existing CreateNSWAdd and
    CreateNSWSub functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86930 91177308-0d34-0410-b5e6-96231b3b80d8

commit d74192e646c8d5fa743cc6b120d4cd5aef19e08a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 02:04:17 2009 +0000

    should not commit when distracted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86929 91177308-0d34-0410-b5e6-96231b3b80d8

commit b53550dee876b4de5472e30c701034694d0e5d24
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 12 01:59:26 2009 +0000

    Make the BranchFolderPass class local to BranchFolding.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52ba84cea50c305d9ce2e0371554b246048f2a7b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 01:55:20 2009 +0000

    We now thread some impossible condition information with LVI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86927 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f14744c3d06ad94c6a47e1258e73d724b81a2b6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 12 01:51:28 2009 +0000

    Minor code cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a90e1559353cc51cd1acfa8ba7e34e263ae4cd3
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 01:41:34 2009 +0000

    with the new code we can thread non-instruction values.  This
    allows us to handle the test10 testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86924 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45404958d705d78cc6068356f8ee293b27b15219
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 01:37:43 2009 +0000

    this argument can be an arbitrary value, it doesn't need to be an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2859e1cd581ff16359db8dfa133317715a398fa1
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 01:29:10 2009 +0000

    expose edge information and switch j-t to use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2df5c60d9171a173f7bad2e3d53c8c35c85b96d5
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Nov 12 01:24:08 2009 +0000

    Fixed an iteration condition in PreAllocSplitting. This should fix some miscompilations casued by PreAllocSplitting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86919 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5133689def7aab253f03da63975c6b0dbe3169a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 12 01:22:16 2009 +0000

    move some stuff into DEBUG's and turn on lazy-value-info for
    the basic.ll testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86918 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdd18e596e8433c00b9ba325c9ba623ab7f08004
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Nov 12 01:06:08 2009 +0000

    Fix typo, cleanup whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f1c0f3a937b5034b5cbc59b98de5d1208f94313
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Nov 12 00:50:58 2009 +0000

    Do not use StringRef in DebugInfo interface.
    This allows StringRef to skip controversial if(str) check in constructor.
    Buildbots, wait for corresponding clang and llvm-gcc FE check-ins!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08982a392a0eaba71c37087eb53b071aa29b55e8
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 12 00:39:10 2009 +0000

    Tail merge at any size when there are two potentials blocks and one
    can be made to fall through into the other.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86909 91177308-0d34-0410-b5e6-96231b3b80d8

commit d225fdf94c2b6eeed4f5511a134750cf6970b377
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 11 23:17:02 2009 +0000

    Don't mark a call as potentially throwing if the function it's calling has the
    "nounwind" attribute.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60ee2143d4989e3a6897c10f998b697bd8a41cf2
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Wed Nov 11 23:09:33 2009 +0000

    A real solution for the first part of PR5445

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bc1ebed0e03786c25f380ed0dc397013f17360e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 22:48:44 2009 +0000

    make LazyValueInfo actually to some stuff.  This isn't very tested but improves
    strswitch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86889 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2deeebcd534ee7de0ea3cab6bce2dde77dfc59ce
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 22:31:38 2009 +0000

    pass TD into a SimplifyCmpInst call.  Add another case that
    uses LVI info when -enable-jump-threading-lvi is passed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86886 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7bfb8796a10f92b4749d8c2510437693a8722e7
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 21:57:02 2009 +0000

    Promote MergePotentialsElt and SameTailElt to be regular classes
    instead of typedefs for std::pair. This simplifies the type of
    SameTails, which previously was std::vector<std::pair<std::vector<std::pair<unsigned, MachineBasicBlock *> >::iterator, MachineBasicBlock::iterator>

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86885 91177308-0d34-0410-b5e6-96231b3b80d8

commit cec9c63631255076665e2adec25fc785e6945e34
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Wed Nov 11 19:59:24 2009 +0000

    x86 users can now return arbitrary sized structs.  Structs too large to fit in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36f0ea91aca18d364fde01604ebb6b1de21331b0
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 19:56:05 2009 +0000

    Revert this line of 86871.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b4d683a5818182cbb69cd3e4b2e7a7585cdefc3
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 11 19:55:08 2009 +0000

    If doesSupportDebugInformation() is false then do not try to emit dwarf debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47faa8df5d82bb3a11b334b589cf957ebc1e43a5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 19:49:34 2009 +0000

    Check in the changes to this file too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6638ea7611f1fa8da067372147aa7bbec6d2e562
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 19:48:59 2009 +0000

    Add support for tail duplication to BranchFolding, and extend
    tail merging support to handle more cases.
     - Recognize several cases where tail merging is beneficial even when
       the tail size is smaller than the generic threshold.
     - Make use of MachineInstrDesc::isBarrier to help detect
       non-fallthrough blocks.
     - Check for and avoid disrupting fall-through edges in more cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86871 91177308-0d34-0410-b5e6-96231b3b80d8

commit 409558d2c4f941068e3d00eed5e0242ddeb90fba
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 11 19:31:31 2009 +0000

    Fix liveness calculation when splitting critical edges during PHI elimination.

    - Edges are split before any phis are eliminated, so the code is SSA.

    - Create a proper IR BasicBlock for the split edges.

    - LiveVariables::addNewBlock now has same syntax as
      MachineDominatorTree::addNewBlock. Algorithm calculates predecessor live-out
      set rather than successor live-in set.

    This feature still causes some miscompilations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c86b6b0413e8ddf58ffea4a9917a81835606569
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 11 19:08:42 2009 +0000

    Reenable StackTracke.cpp test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86861 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1ce565254502ef7472b125abc6918bd67fedcc4
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 11 19:06:06 2009 +0000

    Add SetDebugLocation() variant to
    add debug info location to an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2621469af6386370b3bf8d41f9a76733b7a4e94b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 11 19:05:52 2009 +0000

    Add TargetLowering::isLegalICmpImmediate. It tells LSR what immediate can be folded into target icmp instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c7d61e9f372f1a6daccb4df389520193d58de67
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Nov 11 19:04:24 2009 +0000

    Do jump table adjustment before constant island allocation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fc27d2431b70c05018c84432f6bbc13ea28cf91
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:42:28 2009 +0000

    Fix indentation level.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a6aa7b82c2ce16ee86ffb5e0ccd3b6007922397
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:38:14 2009 +0000

    Whitespace cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86855 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa4f4fa4cae85ae252660d03d9af0b4ebe596169
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:23:17 2009 +0000

    Prefix MBB numbers with "BB#" in debug output to make it clear what
    the numbers mean.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86854 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0045b0723b852027e2a6cf3fe8a0876a7e06280
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:18:34 2009 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 333246bfa9cfc484925a0b1487dd316e00a6cf50
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:14:02 2009 +0000

    Fix a copy+pasto in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40685553381a0c38ff0c6c79d191f9df5caec623
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:11:07 2009 +0000

    Set isBarrier = 1 on return instructions, as they are control barriers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8112b94b215d777db473b38ece871f3f6ed09032
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Nov 11 18:07:16 2009 +0000

    Use a tab in INT3's asm string, for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4adaab13a9902c5c02c85afc051a6f858e003128
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 17:54:02 2009 +0000

    another const prop failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86848 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6b0ee1baa2aeaeaf8334d0c4e2b71ca0872712e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 17:51:27 2009 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16d2fcb1d839722c7f4458425eaa029faba019a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 17:37:02 2009 +0000

    Reject duplicate case values in a switch, PR5450.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86846 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87825dc679818a7b0a12be3832da6a8ed2358578
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Nov 11 15:34:13 2009 +0000

    Don't trivially delete unused calls to llvm.invariant.start.  This allows
    llvm.invariant.start to be used without necessarily being paired with a call
    to llvm.invariant.end.  If you run the entire optimization pipeline then such
    calls are in fact deleted (adce does it), but that's actually a good thing since
    we probably do want them to be zapped late in the game.  There should really be
    an integration test that checks that the llvm.invariant.start call lasts long
    enough that all passes that do interesting things with it get to do their stuff
    before it is deleted.  But since no passes do anything interesting with it yet
    this will have to wait for later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86840 91177308-0d34-0410-b5e6-96231b3b80d8

commit 808b980ce8e153f4718b2b9f5210bd9a1aa03e3b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 11 07:11:02 2009 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 124efd4dc3d0638c2eee94d105b5f2a7a58bf80b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 05:56:35 2009 +0000

    remove the now dead condprop pass, PR3906.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 223f53f58f5b3de1b341e25802920048751aaf15
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Nov 11 05:30:02 2009 +0000

    Fix JITTest.ModuleDeletion in -Asserts mode (which turns off JITEmitDebugInfo
    by default).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86807 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1c54d796895b812ca506547359d1fe6a07dc62f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 05:25:16 2009 +0000

    remove condprop testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86804 91177308-0d34-0410-b5e6-96231b3b80d8

commit c731e6c716e7193f0e3e0da2d5622e4e85c24802
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 11 05:19:11 2009 +0000

    Add StringRef::split(StringRef), to complement StringRef::split(char).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6051856ac7cb0552bf0d1132f37cbb9b65153ae1
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Wed Nov 11 04:10:24 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86802 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e51aebc45d335f03d31525f2c41130cd6068c9a
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Wed Nov 11 03:23:46 2009 +0000

    Show command-line args and features passed into backend in debug output. Approved by Evan Cheng.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86797 91177308-0d34-0410-b5e6-96231b3b80d8

commit 046dc77ed41a73b26064791659fed94e7a7ef86a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 11 03:10:03 2009 +0000

    Add missing run line. Devang, please check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86795 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9f2d2426db8ea833e540eeb26ac3e25f1741e4a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 11 03:09:50 2009 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ae593cd1381ab2f6aff6eb1309a1a7b5270c8c6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Nov 11 02:47:19 2009 +0000

    The TBB and TBH instructions for Thumb2 are really handy for jump tables, but
    can only branch forward. To best take advantage of them, we'd like to adjust
    the basic blocks around a bit when reasonable. This patch puts basics in place
    to do that, with a super-simple algorithm for backwards jump table targets that
    creates a new branch after the jump table which branches backwards. Real
    heuristics for reordering blocks or other modifications rather than inserting
    branches will follow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42677804895d83660b0ba380227e0ed1dc1b522f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 02:08:33 2009 +0000

    stub out some LazyValueInfo interfaces, and have JumpThreading
    start using them in a trivial way when -enable-jump-threading-lvi
    is passed.  enable-jump-threading-lvi will be my playground for
    awhile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86789 91177308-0d34-0410-b5e6-96231b3b80d8

commit db541c3878dc672baaef7a0f9fa6894b72b3d67a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 11 01:44:22 2009 +0000

    Fix test to work on every platform.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86786 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5198ca6c3aa6c3c4ba06123da6193f856b5e37fa
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 11 01:41:32 2009 +0000

    Fix test to work on every platform.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01267264dd298b39aaeacb3e97796c87084cd491
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 11 01:41:10 2009 +0000

    XFAIL for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c9df2b8d4ebb458bf3bd6088f0b9be26b2abc86
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Nov 11 01:24:59 2009 +0000

    Make sure that the exception handling data has the same visibility as the
    function it's generated for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86779 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae1135926a1e4e2e3a7f812fad28b66305b271cc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 11 00:43:14 2009 +0000

    Add Triple::str() which returns the contents of the Triple as a string, as a more readable alternative to getTriple().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86773 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce8986f9627a92ccebb067284b3cf4092d737149
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 11 00:31:36 2009 +0000

    Do not assume first function scope seen represents current function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86771 91177308-0d34-0410-b5e6-96231b3b80d8

commit 609f3f8a0e727ee25be1f4ef17ab81b5db72fa24
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 11 00:28:53 2009 +0000

    Add From arguments to StringRef search functions, and tweak doxyments.

    Also, add unittests for find_first_of and find_first_not_of.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7eef4c72249fd13ce9e766fc463efa6c44d25c0c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 11 00:28:38 2009 +0000

    llvm-gcc/clang don't (won't?) need this hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a0948830344dae797979c37dfc904cd932a43be
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 00:27:54 2009 +0000

    oops, didn't mean to commit this, no harm, but add a todoops, didn't mean to commit this, no harm, but add a todoo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73c80094c819a5266794496cf39fa4b6a9b39e14
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 00:22:30 2009 +0000

    Stub out a new lazy value info pass, which will eventually
    vend value constraint information to the optimizer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86767 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a0858228d368aaf25e514c8fbb857c0808c22dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 00:21:58 2009 +0000

    add a fixme

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86766 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0585b20d136dd5ac675f7664dcb84d76c04ec26
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 11 00:21:21 2009 +0000

    remove redundant foward declaration.  This function is already in
    Analysis/Passes.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86765 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53addbf446f848c0f165e5d2cbaca31fff796b36
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 11 00:18:40 2009 +0000

    While creating DbgScopes, do not forget parent scope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86763 91177308-0d34-0410-b5e6-96231b3b80d8

commit b31ea598704a4e5a07fbe3b9d8b2f4b95f713088
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 11 00:00:21 2009 +0000

    Block terminator may be a switch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86761 91177308-0d34-0410-b5e6-96231b3b80d8

commit de578195f23510abf1bb3d29994f4835798ee5d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 23:54:10 2009 +0000

    jump threading does everything that condprop does any more.  This passes
    bootstrap on darwin i386.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8106001c35356931ca296340ca27253d7c25c51a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 23:47:45 2009 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 759f058d1ef755e2bbfa851797e70a2c90bb93d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 23:40:49 2009 +0000

    I did this a week or two ago

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86754 91177308-0d34-0410-b5e6-96231b3b80d8

commit bad42264107804ba40844000f12d9e0a23ea563b
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 10 23:20:04 2009 +0000

    Ignore variable if scope info is not available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86753 91177308-0d34-0410-b5e6-96231b3b80d8

commit 263c64f826938b1d5cdd747317a66898a1ad7031
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Nov 10 23:18:33 2009 +0000

    Test this on Darwin only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b8c35b2d8a380c7ce06cce6618bb5875f5c5294
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Nov 10 23:16:41 2009 +0000

    Emit correct code when making a ConstantPool entry for a vector
    constant whose component type is not a legal type for the target.
    (If the target ConstantPool cannot handle this type either, it has
    an opportunity to merge elements.  In practice any target with
    8-bit bytes must support i8 *as data*).  7320806 (partial).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90a0fe3bd6043f897285b967b196f6ab26dfdcae
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 10 23:06:00 2009 +0000

    Implement support to debug inlined functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2df0e391758a9c98d063c8e44c0cf1021383a02
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 22:56:15 2009 +0000

    in -dot-cfg and -dot-cfg-only, when rendering switch instructions,
    put the switch value in the successor boxes like we put T/F for branches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5df5bb90f8aa6a3f5eab335cf87cdb9f928d6f93
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 22:39:16 2009 +0000

    implement a TODO by teaching jump threading about "xor x, 1".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86739 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe96c5f78e17e7562622fe026d641d31f948de1c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 22:26:15 2009 +0000

    move some generally useful functions out of jump threading
    into libanalysis and transformutils.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86735 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a94dac821f39910b311b206a4b0f23649c826e2
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 10 22:16:57 2009 +0000

    Don't mark conditional branch instructions as control barriers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86732 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7562d076e99129679edb7037d7a6a840448be217
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Nov 10 22:14:04 2009 +0000

    Modify how the prologue encoded the "move" information for the FDE. GCC
    generates a sequence similar to this:

    __Z4funci:
    LFB2:
            mflr r0
    LCFI0:
            stmw r30,-8(r1)
    LCFI1:
            stw r0,8(r1)
    LCFI2:
            stwu r1,-80(r1)
    LCFI3:
            mr r30,r1
    LCFI4:

    where LCFI3 and LCFI4 are used by the FDE to indicate what the FP, LR, and other
    things are. We generated something more like this:

    Leh_func_begin1:
            mflr r0
            stw r31, 20(r1)
            stw r0, 8(r1)
    Llabel1:
            stwu r1, -80(r1)
    Llabel2:
            mr r31, r1

    Note that we are missing the "mr" instruction. This patch makes it more like the
    GCC output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86729 91177308-0d34-0410-b5e6-96231b3b80d8

commit e940b1d8d14af6d3006f6fbad95b9ff332469df4
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 10 22:05:35 2009 +0000

    Process InlinedAt location info.
    Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b8b05938fb8d9aacc01f526f010580668e028f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 22:02:09 2009 +0000

    fix a crash in SCCP handling extractvalue of an array, pointed out and
    tracked down by Stephan Reiter!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86726 91177308-0d34-0410-b5e6-96231b3b80d8

commit be9cdbf981991737b49e4474701e820bc881cbfd
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 10 22:01:05 2009 +0000

    Teach PHIElimination to split critical edges when -split-phi-edges is enabled.

    Critical edges leading to a PHI node are split when the PHI source variable is
    live out from the predecessor block. This help the coalescer eliminate more
    PHI joins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e45f87bcb425c0f18e92f80eac28a2dbc6be555
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Tue Nov 10 22:00:56 2009 +0000

    Refactoring: Extract method PHIElimination::isLiveOut().
    Clean up some whitespace.
    No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c89abd1e17beb5886a27ec0e45615e0d21de7fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 21:45:09 2009 +0000

    improve comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ca174c49440e447ac90ce2cc4c70d950db28cb2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 21:40:01 2009 +0000

    Make jump threading eliminate blocks that just contain phi nodes,
    debug intrinsics, and an unconditional branch when possible.  This
    reuses the TryToSimplifyUncondBranchFromEmptyBlock function split
    out of simplifycfg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a0ab8392c91e1bae7901cedd6a12ba3aee2a1fd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 10 21:14:05 2009 +0000

    Generalize lsr code that optimize loop to count down towards zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86715 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc6409ff5b7c36c6e4fb3c3c03c4766554296a57
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 10 21:02:18 2009 +0000

    Optimize test more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 053fd3c45f72e248641e349197db27d717c2be6e
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Nov 10 19:53:28 2009 +0000

    make this handle redefinition of malloc function with different prototype correctly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4137d7cdf726c8d94ef376603d909b69037a9e91
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 10 19:48:13 2009 +0000

    Change Thumb1 address mode printing, instead of
    [r0, #2 * 4]
    Now
    [r0, #8]

    This makes Thumb2 assembly more uniform and frankly the scale doesn't add much.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 979c7ab12dfb8913593c05cb303b947c5b06d1f8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 10 19:44:56 2009 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 260558f8510c33aa746818f43259bcdc74597ebc
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 10 19:36:40 2009 +0000

    Add defensive break.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95734fc03391268e8791350141b2e4bb4f11bb03
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 10 18:24:37 2009 +0000

    Add a monstrous hack to improve X86ISelDAGToDAG compile time.
     - Force NDEBUG on in any Release build. This drops the compile time to ~100s
       from ~600s, in Release mode.

     - This may just be a temporary workaround, I don't know the true nature of the
       gcc-4.2 compile time performance problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86695 91177308-0d34-0410-b5e6-96231b3b80d8

commit df5999a933bdc33038405dded11d5df3f9dd5ff6
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 10 18:21:37 2009 +0000

    Fix obvious typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86694 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc5d013abcc18fb77376ed402e24d3b8d22252d6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 17:00:47 2009 +0000

    clarify logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86689 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e7b7d7c190786cc8844432d23e0bd0beed8c191
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Nov 10 15:30:33 2009 +0000

    CMake: Add Darwin-specific linker flags for building loadable modules

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86684 91177308-0d34-0410-b5e6-96231b3b80d8

commit b73594ca0d4eff2cc6ec0d9a7fa234b0a31a2bdf
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 10 13:49:50 2009 +0000

    Teach DSE to eliminate useless trampolines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86683 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebb5cc581b2298046a670bfd273ffc3d0e47ac0f
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 10 09:32:10 2009 +0000

    Add brackets to make gcc-4.4 happy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86681 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb0ae064da8981a29f17d289d341d6fa981e2976
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 10 09:08:09 2009 +0000

    Codegen support for the llvm.invariant/lifetime.start/end intrinsics:
    just throw them away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43af76a34cd64afcaf7579be626b0309a6f1cc0d
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Nov 10 08:32:25 2009 +0000

    Update computeArraySize() to use ComputeMultiple() to determine the array size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86676 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc57ab9a76f2ed92b1cc169e1feab30b920e6d87
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Nov 10 08:28:35 2009 +0000

    Add ComputeMultiple() analysis function that recursively determines if a Value V is a multiple of unsigned Base

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34d37223ac5283d3e95010a858ffd905d6e79b36
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 07:44:36 2009 +0000

    optimize test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86672 91177308-0d34-0410-b5e6-96231b3b80d8

commit d001109874b60167b56116a54c0a08bf935cd062
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 07:23:37 2009 +0000

    unify the code that determines whether it is a good idea to change the type
    of a computation.  This fixes some infinite loops when dealing with TD that
    has no native types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 754b8dd86b9602a6fd2a01ae824d7f6abc3b8da3
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Nov 10 07:00:43 2009 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86668 91177308-0d34-0410-b5e6-96231b3b80d8

commit f55c62cdb87a0d5bab5dc9a2aff770d6323f5831
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Nov 10 06:46:40 2009 +0000

    Reapply r86359, "Teach dead store elimination that certain intrinsics write to
    memory just like a store" with bug fixed (partial-overwrite.ll is the
    regression test).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86667 91177308-0d34-0410-b5e6-96231b3b80d8

commit c006fc03f5592d1eaeef4eb090b0056e2420e9a6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 05:59:26 2009 +0000

    refactor TryToSimplifyUncondBranchFromEmptyBlock out of SimplifyCFG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86666 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc174b18352c1bb89d7871fb4d0de7998472e60f
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Nov 10 02:45:37 2009 +0000

    CMake: Support for building llvm loadable modules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 861f9d4ecfe8412da341a88fd38c5e2ba0ac990e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 10 02:41:27 2009 +0000

    lit: Start documentation testing architecture.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86655 91177308-0d34-0410-b5e6-96231b3b80d8

commit de18cd2603d56c4d99ae5f3659bb133ffa1b07c7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 10 02:41:17 2009 +0000

    lit: Add ExampleTests, for testing lit and demonstrating test suite features.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25869df0693d50591c28c86424341ffc64a2522f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 10 02:40:21 2009 +0000

    lit: Fix bug in --show-suites which accidentally override the list of tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1700ffa4eaeb0f11cdd6d8ef6537ec0cf08ffc5a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Nov 10 02:35:13 2009 +0000

    Fix PR5445

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70f4e8f2d2740f7233c85726450a253c806ebfff
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 02:04:54 2009 +0000

    I misread the parens, not so redundant after all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86648 91177308-0d34-0410-b5e6-96231b3b80d8

commit a66ac18f9e84664d748f52a82d350287b6a0b629
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 01:57:31 2009 +0000

    make jump threading recursively simplify expressions instead of doing it
    just one level deep.  On the testcase we go from getting this:

    F1:                                               ; preds = %T2
      %F = and i1 true, %cond                         ; <i1> [#uses=1]
      br i1 %F, label %X, label %Y

    to a fully threaded:

    F1:                                               ; preds = %T2
      br label %Y

    This changes gets us to the point where we're forming (too many) switch
    instructions on doug's strswitch testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86646 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0e5b0cbed7a7bb83ef652042d1964d263f3c89f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 01:56:04 2009 +0000

    remove some redundant parens.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86645 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42d0954b5c5a3e29f7e010b48f0f47ea83f6d4a5
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Nov 10 01:45:05 2009 +0000

    CMake: Remove unnecessary `unset' which was not supported by old cmake
    releases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86644 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91f5efc47691a931743775b97103f84879d121e5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 10 01:37:57 2009 +0000

    Remove an unused variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86642 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b3225207423344cbac9fa367c077055d0cdeaf9
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 10 01:36:20 2009 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1439df1156885faa7395fba6671731fa12ef6f31
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Nov 10 01:33:08 2009 +0000

    Trim a bunch of unneeded code from this testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86640 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9b70547cbc08570254283673cfe0873fd8c935f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 01:19:06 2009 +0000

    don't invalidate PN, rewrite of this code is in progress anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86639 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d8a0bbc8ec438abd9c9daa1387ac7e2fa2255c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 01:08:51 2009 +0000

    add a new SimplifyInstruction API, which is like ConstantFoldInstruction,
    except that the result may not be a constant.  Switch jump threading to
    use it so that it gets things like (X & 0) -> 0, which occur when phi preds
    are deleted and the remaining phi pred was a zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8154d2e023fe3137363f8bbc9dae2dff7188dccb
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Nov 10 01:02:17 2009 +0000

    Fix DenseMap iterator constness.

    This patch forbids implicit conversion of DenseMap::const_iterator to
    DenseMap::iterator which was possible because DenseMapIterator inherited
    (publicly) from DenseMapConstIterator. Conversion the other way around is now
    allowed as one may expect.

    The template DenseMapConstIterator is removed and the template parameter
    IsConst which specifies whether the iterator is constant is added to
    DenseMapIterator.

    Actually IsConst parameter is not necessary since the constness can be
    determined from KeyT but this is not relevant to the fix and can be addressed
    later.

    Patch by Victor Zverovich!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3e46f6405c5b7c3284325514b8f573e197d9b4a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 10 00:55:12 2009 +0000

    factor simplification logic for AND and OR out to InstSimplify from instcombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a0ca3b82e4e78705e37f2b3d9092bc9767b8306
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Nov 10 00:48:55 2009 +0000

    Fixed to address code review. No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80ab6551aafc61c32f496dcce7531a4621be653b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 10 00:43:58 2009 +0000

    Fix MemoryBuffer::getSTDIN to *not* return null if stdin is empty, this is a lame API.

    Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 526dd742a7832e90f52ac99c24a4370d3d98d347
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Nov 10 00:15:47 2009 +0000

    Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54c21357f32f867012ff2556b4a7c9be21ffa759
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 23:55:12 2009 +0000

    pull a bunch of logic out of instcombine into instsimplify for compare
    simplification, this handles the foldable fcmp x,x cases among many others.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51568464cf57a67ff3d07caae6d47dddc761c614
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 23:34:17 2009 +0000

    Pass the (optional) TargetData object to ConstantFoldInstOperands
    and ConstantFoldCompareInstOperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 454d7a02c0d2ca8f3a2ce2b6ba64f7f271a9f391
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 23:31:49 2009 +0000

    inline a simple function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86625 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9333562d9551aa8c14a2dc3a463c73a1531dc3c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 23:28:39 2009 +0000

    rename SimplifyCompare -> SimplifyCmpInst and split it into
    Simplify[IF]Cmp pieces.  Add some predicates to CmpInst to
    determine whether a predicate is fp or int.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86624 91177308-0d34-0410-b5e6-96231b3b80d8

commit af0ec43f7322c579e2abb859bae4cc8075ec8e0a
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 9 23:11:45 2009 +0000

    Now that the default is 'enabled,' a separate command line option for ARM is
    not necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e15fef0c220e7fd35df09834e3ebf761bc6e1c4
Author: Mike Stump <mrs@apple.com>
Date:   Mon Nov 9 23:10:49 2009 +0000

    Add testcase for recent checkin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10381be95c87ab8d2ec9ac2acc7a7b7a75b45ecf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 23:06:58 2009 +0000

    fix ConstantFoldCompareInstOperands to take the LHS/RHS as
    individual operands instead of taking a temporary array

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86619 91177308-0d34-0410-b5e6-96231b3b80d8

commit b806339fc15e8fa03aedbbebefd7674bca853265
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Nov 9 23:05:44 2009 +0000

    Add StringSwitch::Cases overloads, for matching multiple strings to a single
    value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86618 91177308-0d34-0410-b5e6-96231b3b80d8

commit a337def3a456f08bc01d114efa1bd7f4146a3150
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 23:00:14 2009 +0000

    use instructionsimplify instead of a weak clone of ad-hoc folding stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86616 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7b16df9f4ff6e92ad9bd9c70ff9e5d5ce062803
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 9 22:59:01 2009 +0000

    Update test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f6ee0a82ccfbdab33acd3fc787c04141ec05449
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 22:57:59 2009 +0000

    stub out a new libanalysis "instruction simplify" interface that
    takes decimated instructions and applies identities to them.  This
    is pretty minimal at this point, but I plan to pull some instcombine
    logic out into these and similar routines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35294ef681cd8a790a015b5e430e62e04634bcba
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Nov 9 22:34:19 2009 +0000

    Remove dlsym stubs, with Nate Begeman's permission.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86606 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8674f03b85cbf65f4e15902a68e089341b9f1743
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 9 22:32:40 2009 +0000

    Enable dynamic stack realignment by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86604 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2610615be6d53b20c12ff4e1e806b4912e5345fd
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 22:32:36 2009 +0000

    stub out a new form of BasicBlock::RemovePredecessorAndSimplify which
    simplifies instruction users of PHIs when the phi is eliminated.  This
    will be moved to transforms/utils after some other refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65d8800c4b8ae965422e75b0f3309191ae23fbc3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 9 22:32:03 2009 +0000

    Set dynamic stack realignment to real values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86602 91177308-0d34-0410-b5e6-96231b3b80d8

commit de65e53debdf767545ba31e5bb8f2fd7095f9e8f
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 22:28:30 2009 +0000

    Remove an unneeded #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dd119b2f1709f252b0ba64f6966bc2077f14ac8
Author: Mike Stump <mrs@apple.com>
Date:   Mon Nov 9 22:28:21 2009 +0000

    Fix for 64-bit builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5019fe068d1092dbe9276b45b487fa0db337c70a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Nov 9 21:45:26 2009 +0000

    Similar to r86588, but for Darwin this time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fb58e1e57b08abe754ef2de14a01012acaaecc5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Nov 9 21:20:14 2009 +0000

    The jump table was being generated before the end label for exception handling
    was generated. This caused code like this:

    ## The asm code for the function
            .section        __TEXT,__const
            .align  2
    lJTI11_0:
    LJTI11_0:
            .long    LBB11_16
            .long    LBB11_4
            .long    LBB11_5
            .long    LBB11_6
            .long    LBB11_7
            .long    LBB11_8
            .long    LBB11_9
            .long    LBB11_10
            .long    LBB11_11
            .long    LBB11_12
            .long    LBB11_13
            .long    LBB11_14
    Leh_func_end11:   ## <---now in the wrong section!

    The `Leh_func_end11' would then end up in the wrong section, causing the
    resulting EH frame information to be wrong:

    __ZL11CheckRightsjPKcbRbRP6NSData.eh:
        .set    Lset500eh,Leh_frame_end11-Leh_frame_begin11
        .long   Lset500eh  ; Length of Frame Information Entry
    Leh_frame_begin11:
        .long   Leh_frame_begin11-Leh_frame_common
        .long   Leh_func_begin11-.
        .set    Lset501eh,Leh_func_end11-Leh_func_begin11
        .long   Lset501eh                                   ; FDE address range
    `Lset501eh' is now something huge instead of the real value.

    The X86 back-end generates the jump table after the EH information is
    emitted. Do the same here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86588 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80164f2cd037e165924e023aa3a8b8b9b533e8f7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 19:38:45 2009 +0000

    Print "..." instead of all the uninteresting register clobbers on call
    instructions. This makes CodeGen dumps significantly less noisy.

    Example before:
      BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def,dead>, %D1<imp-def,dead>, %D2<imp-def,dead>, %D3<imp-def,dead>, %D4<imp-def,dead>, %D5<imp-def,dead>, %D6<imp-def,dead>, %D7<imp-def,dead>, %D16<imp-def,dead>, %D17<imp-def,dead>, %D18<imp-def,dead>, %D19<imp-def,dead>, %D20<imp-def,dead>, %D21<imp-def,dead>, %D22<imp-def,dead>, %D23<imp-def,dead>, %D24<imp-def,dead>, %D25<imp-def,dead>, %D26<imp-def,dead>, %D27<imp-def,dead>, %D28<imp-def,dead>, %D29<imp-def,dead>, %D30<imp-def,dead>, %D31<imp-def,dead>, %CPSR<imp-def,dead>, %FPSCR<imp-def,dead>

    Same example after:
      BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %LR<imp-def,dead>, %CPSR<imp-def,dead>, ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86583 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35b0b02d641f0a7035fc325a0cd1dd91b2358be4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 19:29:11 2009 +0000

    Default-addressspace null pointers don't alias anything. This allows
    GVN to be more aggressive. Patch by Hans Wennborg! (with a comment added by me)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86582 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1eb5ad3173bac40e253c4bd8346745a0b9d35217
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Nov 9 19:22:17 2009 +0000

    Fix dependencies added to model memory aliasing for post-RA scheduling. The dependencies were overly conservative for memory access that are known not to alias.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86580 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87ec5ad9f1b09e47d8fd16fdd671787052782566
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 19:01:53 2009 +0000

    The inbounds keyword isn't relevant to overindexing of
    static array types. Thanks to Duncan for pointing this out!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86576 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0273f182cb12b8627e629784e04b2e05d982eddd
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 18:59:22 2009 +0000

    Fix a comment in a typo that Duncan noticed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86575 91177308-0d34-0410-b5e6-96231b3b80d8

commit c668e25ae2f85eb43d2240723bf86e8d2d827bae
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 18:40:39 2009 +0000

    Remove the "special case" for zero-length arrays, and rephrase this
    paragraph to be more precise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fb4ae554502621f3d5b3945f650e6b5ee66ffc7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 18:28:24 2009 +0000

    Generalize LCSSA to handle loops with exits with predecessors outside
    the loop. This is needed because with indirectbr it may not be possible
    for LoopSimplify to guarantee that all loop exit predecessors are
    inside the loop. This fixes PR5437.

    LCCSA no longer actually requires LoopSimplify form, but for now it
    must still have the dependency because the PassManager doesn't know
    how to schedule LoopSimplify otherwise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86569 91177308-0d34-0410-b5e6-96231b3b80d8

commit af255824880d1a779f31df72f5a52e1419f773f7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 18:20:38 2009 +0000

    Fix an 80-column violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86567 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe7d6aaba103e48c15cbf44070b99562039ae29d
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 18:19:43 2009 +0000

    Minor tidiness fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86565 91177308-0d34-0410-b5e6-96231b3b80d8

commit a39e7acd54fdc09f0b8b3db176a4fbf53c1679a1
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 18:18:49 2009 +0000

    Constify MachineFunctionAnalysis' TargetMachine reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e2c064bd56e45608c077950636fff02033475f2
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 17:06:51 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86558 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7740e0f64d3b91e6579b3595340a993da0abc84e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Nov 9 17:06:23 2009 +0000

    Suppress implicit copy ctor and copy assignment for MachineFunction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a7b8f0a83d0b584cfb5a565011fa500e7260638
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Nov 9 16:38:15 2009 +0000

    Use ',' separation in XFAILs, lit doesn't evaluate them as regexs (easy to add,
    but might as well use the more standard syntax).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86553 91177308-0d34-0410-b5e6-96231b3b80d8

commit d49d0fd052f4f586956ffba0cb5c7b146632c3ef
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Mon Nov 9 15:36:28 2009 +0000

    add zextOrTrunc and sextOrTrunc methods, that are similar to the ones in APInt

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86549 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdc498061580523723269ee368d6b7adbbb02699
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 9 15:27:51 2009 +0000

    Work around assembler not recognizing #0.0 form immediate for vmcp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86548 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b35c97ee4fc66ebee2771ddef1dfdc3eff92077
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 9 15:26:40 2009 +0000

    CMake: Detect gv, circo, twopi, neato, fdo, dot and dotty.

    Patch by Arnaud Allard de Grandmaison!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 666eecfd9e3463f981d935d8fb082a3716604f61
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Mon Nov 9 14:50:34 2009 +0000

    Make lib/Support/Debug.cpp SetCurrentDebugType implementation part of llvm namespace to match function declaration in Debug.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86544 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0273e0a346ffd639eb062e6cc752a2799a29826
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Mon Nov 9 14:27:49 2009 +0000

    Fix PR5149.

    http://llvm.org/bugs/show_bug.cgi?id=5149

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86543 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0efca5e6470972e944ea2fc546690652eb4a6ea
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 07:12:01 2009 +0000

    make this handle redefinition of malloc with different prototype correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69a7075dc8caf9332f5c105577d0ea36a1cfd00e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 07:07:56 2009 +0000

    if a 'with overflow' intrinsic just has the normal result used, simplify
    it to a normal binop.  Patch by Alastair Lynn, testcase by me.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48ac7b971f7e6cbd60c4d1c70663cb0d328cacf2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 9 06:49:37 2009 +0000

    Hide a couple of options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86522 91177308-0d34-0410-b5e6-96231b3b80d8

commit a241af8f12c65c26a4a631c3428cc7daefed4318
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 9 06:49:22 2009 +0000

    80 col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7452f6a39e6980c100521593a0b9bcee17b5ad3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 04:57:04 2009 +0000

    fix PR5104: when printing a single character, return the result of
    putchar in case there is an error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86515 91177308-0d34-0410-b5e6-96231b3b80d8

commit acb19b052cad5c3583209cb708463a17c8dc6217
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 04:47:27 2009 +0000

    fix some bogus asserts, PR5049

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86514 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5993faa112338898200ae47e6d9de0071b8ebde3
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 04:18:23 2009 +0000

    random tidy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86511 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa188de533488e8238ca4b9346b9deb3b9a5a8af
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 04:15:28 2009 +0000

    remove a redundant printout, LinkInArchive prints this as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86510 91177308-0d34-0410-b5e6-96231b3b80d8

commit 073c12c61ebbb3b88b550dc1a2ebf87abcab9927
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 01:38:00 2009 +0000

    enhance PHI slicing to handle the case when a slicable PHI is begin
    used by a chain of other PHIs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1675912cad699198af854de0af1bc8f93ca4730f
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Nov 9 00:48:15 2009 +0000

    Small cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86499 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd1c8db070a428d72c35335d4a30218e3f24c277
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Nov 9 00:44:44 2009 +0000

    Revert my previous patch to ABCD and fix things the right way.  There are two problems addressed
    here:

    1) We need to avoid processing sigma nodes as phi nodes for constraint generation.
    2) We need to generate constraints for comparisons against constants properly.

    This includes our first working ABCD test!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28075886973ba6292e5dc3964aa6206520337741
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 9 00:41:49 2009 +0000

    comment typos pointed out by Duncan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86497 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2fda536ff4bd38be9f9ebea6ad90ce0b48d0e12
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 9 00:11:35 2009 +0000

    Use Unified Assembly Syntax for the ARM backend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57cf21e12d890dd0ac45c9369fb501bbef3a0050
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Nov 8 22:36:55 2009 +0000

    Fix an issue where the ordering of blocks within a function could lead to different constraint
    graphs being produced.  The cause was that we were incorrectly marking sigma instructions as
    processed after handling the sigma-specific constraints for them, potentially neglecting to
    process them as normal instructions as well.

    Unfortunately, the testcase that inspired this still doesn't work because of a bug in the solver,
    which is next on the list to debug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86486 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6235a52b83705e463a0ba08e28d8a288ac462b43
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 21:51:53 2009 +0000

    Add a 'zkill' script, which is more-or-less a fancy (although not necessarily
    very robust) version of killall. Because I like making shiny new wheels out of
    spare parts.

    For use by buildbots when people insist on making cc1 infinite loop. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ca7390a7c462bb3e7cb11239e22c3ec7b93080b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 8 21:20:06 2009 +0000

    Teach an instcombine to not pull trunc instructions through PHI nodes
    when both the source and dest are illegal types, since it would cause
    the phi to grow (for example, we shouldn't transform test14b's phi to
    a phi on i320).  This fixes an infinite loop on i686 bootstrap with
    phi slicing turned on, so turn it back on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5987b829927111762b6354e379f331a2476c7240
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Nov 8 20:55:48 2009 +0000

    Revert commit 81144, and add a comment.  It caused bugpoint timeouts
    not to work any more on linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1cd526bc4bb02aec231107278b004f5801e2af4b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 8 19:23:30 2009 +0000

    reapply r8644[3-5] with only the scary part
    (SliceUpIllegalIntegerPHI) disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86480 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfa5deef8b8798068cda5c4989793d178d6f4a4b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 17:52:47 2009 +0000

    Speculatively revert r8644[3-5], they seem to be leading to infinite loops in
    llvm-gcc bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86478 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5073681095c40377e1086ea5c2d66d5a0e539e2
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 15:33:12 2009 +0000

    Add and-not (bic) patterns. Based heavily on patch by Brian Lucas!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 185c213be4fda6313031905f207fadb446d155de
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 15:32:44 2009 +0000

    Move OR patterns upper to all logical stuff. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86470 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3b260e9514d07bd9e9b66a5a907785a1178ff27
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 15:32:28 2009 +0000

    Some nice peephole patterns. Based on patch by Brian Lucas!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86469 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5d6f65c43ebfb2e77786c70c07987a9e7b12d80
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 15:32:11 2009 +0000

    Print tab before operand of jcc

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86468 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc5c66b384e5ac8089737a40b97a02ae32176142
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 14:27:38 2009 +0000

    Fix invalid operand updates & implement post-inc memory operands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86466 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4bd4ef0b0aee36cf5f4f7b1398722a2a0fe92e7e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 12:58:40 2009 +0000

    Throw an error when stack realignment stuff fails instead of silent
    code miscompilation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86463 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9439104f0c4bd0fb348b0739d51ddf01d2ac994
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Nov 8 12:14:54 2009 +0000

    It is invalid to infer the value type from the result #0 of the node
    since the instruction might use the other result of different type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 353ad44681895cd7799966ccafa1e572ca63ec17
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:46:57 2009 +0000

    Remove ByteswapSCANFResults, it is dead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c331cc294d08c58407ae962723a85e676b04b28
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:34:14 2009 +0000

    NNT: Remove DejaGNU test from NewNightlyTest reports, this aspect of testing is
    handled by buildbots now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86454 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb3fe4a85b912f48c3b4b2e713d894387b9abc75
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:29:52 2009 +0000

    Two small fixes for site.exp for cmake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3221d7689547e97fa387f5619fef29a42a8da732
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:08:00 2009 +0000

    Derive the right paths to use during testing instead of passing it in via make.

    Also, fix a few other details of the cmake test target and rename it to
    'check'. CMake tests now work for the most part, but there are a handful of
    failures left due to missing site.exp bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86452 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4dbd965fd3a5175f701f86ccda73bf8271ef6a5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:07:51 2009 +0000

    Switch to using 'lit.site.cfg.in' for the site config template for Unit tests,
    and generate it for CMake builds as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86451 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0448c48560ce06959994e7a5df6f9ff2e9eac448
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:07:42 2009 +0000

    Cleanup some unused RUN lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7948379df3422b4c9d98c3943a864293d4ff0527
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:07:33 2009 +0000

    lit: Hardcode whence seek value, os.SEEK_END isn't always available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a6655647ddb18e15038155a4565ab771fff35a6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:07:26 2009 +0000

    lit: Warn when a test suite contains no tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86448 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7613ba5737a340d3cf88311c7a954625dae0bad1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 09:07:13 2009 +0000

    lit: Drop require_and_and support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86447 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a7f8c576a1490e1b2cc6bc04b5c8333435902bd
Author: Lang Hames <lhames@gmail.com>
Date:   Sun Nov 8 08:49:59 2009 +0000

    Moved some ManagedStatics out of the SlotIndexes header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86446 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfdcf999c67b880b0ba6f92b2cd7c3529a216c6c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 8 08:36:40 2009 +0000

    another more interesting test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86445 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9ad9a4948b4d65d68c5614b2e599b94d7ef8831
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 8 08:30:58 2009 +0000

    feature test for the new transformation in r86443

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86444 91177308-0d34-0410-b5e6-96231b3b80d8

commit c42200ecbc9761eb2e237f998ebe1408ddc40104
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 8 08:21:13 2009 +0000

    teach a couple of instcombine transformations involving PHIs to
    not turn a PHI in a legal type into a PHI of an illegal type, and
    add a new optimization that breaks up insane integer PHI nodes into
    small pieces (PR3451).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16f6916607396e205984e25c26798f6bf6c4c2c9
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 8 05:45:04 2009 +0000

    We don't need to byteswap, the interpreter assumes the program is running
    native anyways. This fixes a crash using %d and similar in a scanf statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86440 91177308-0d34-0410-b5e6-96231b3b80d8

commit e342f10769875f34a07053cf77ace1ccd9cedd42
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 03:43:06 2009 +0000

    lit: Workaround a Win32/subprocess bug when appending.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 377d801fa2f6dbd4a5ccef74224c7be00cad308a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 03:35:19 2009 +0000

    lit: Preserve the PATHEXT variable when running subcommands, this is important on Win32

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86436 91177308-0d34-0410-b5e6-96231b3b80d8

commit c97274fc4693cd67b6e4c51ec3baa21f70f039e6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 8 02:32:01 2009 +0000

    Make TargetData::getStringRepresentation spit out native integer types,
    this gives llvm-gcc generated modules the right data.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86435 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbf10b58aa5df695476f2be89db4b92063e1c1b0
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 8 02:23:15 2009 +0000

    Remove test. Execution tests are slow and generally not worth it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f36edca3cfe963255d7766cd3f963605cabf32e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 8 01:04:45 2009 +0000

    Fix run line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86429 91177308-0d34-0410-b5e6-96231b3b80d8

commit 543de5cfe67417377df9bf97f94bd27837bc3259
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 8 00:45:29 2009 +0000

    Fix the interpreter to not crash due to zeroext/signext

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 322873dbdbca38b44b0f3216dd8a0f91e81da137
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Nov 8 00:34:22 2009 +0000

    Prevent warning spew about -fPIC when using CMake generated Xcode project files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86427 91177308-0d34-0410-b5e6-96231b3b80d8

commit bacc516181e4772892c2a61ce0acc17074fedf1e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Nov 8 00:27:19 2009 +0000

    Use aligned load/store instructions for spilling Q registers when we know the stack slot is 128 bit aligned

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86425 91177308-0d34-0410-b5e6-96231b3b80d8

commit be9db751021d3849e4cd2590e4e4c7ec4f50b221
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Nov 8 00:15:23 2009 +0000

    Refactor code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86423 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8f69491b675eaea14eb21c9cea799c424e9082c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 7 23:52:27 2009 +0000

    Fix CMake reporting of target triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86419 91177308-0d34-0410-b5e6-96231b3b80d8

commit b38d0a0852e059b49987cabec86a05f82d64979f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 7 23:52:20 2009 +0000

    Stop running get_target_triple more than we need to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 630690c2fe8d0efa0a7ea1f54334dd4182c34c18
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 7 23:51:55 2009 +0000

    Fix MSVC warning ( | with bool and unsigned int).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8acf7a18664fd8abcdd979e10354bf5d2b11b400
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Nov 7 23:21:30 2009 +0000

    Fix class -> struct tag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86416 91177308-0d34-0410-b5e6-96231b3b80d8

commit b13034d606a6e67a8cb78d28574a8f9a5da681bf
Author: Nate Begeman <natebegeman@mac.com>
Date:   Sat Nov 7 23:17:15 2009 +0000

    x86 vector shuffle cleanup/fixes:

    1. rename the movhp patfrag to movlhps, since thats what it actually matches
    2. eliminate the bogus movhps load and store patterns, they were incorrect.  The load transforms are already handled (correctly) by shufps/unpack.
    3. revert a recent test change to its correct form.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e426c27d48dd7f1890bfa71b7566a7cfb05c4e2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 7 22:00:39 2009 +0000

    80-column cleanup of file header comments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04d92822f7e9437186a873e4f6335b4c379c5d65
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 7 21:25:39 2009 +0000

    Support alignment specifier for NEON vld/vst instructions

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86404 91177308-0d34-0410-b5e6-96231b3b80d8

commit ded7c4a4c0f0df94bd7abfc98a6e0123c5849efe
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 7 21:10:15 2009 +0000

    Improve tail call elimination to handle the switch statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 812c299cb8ac1c341552584fbbdfca9a75ffe764
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 7 19:40:04 2009 +0000

    t2ldrpci_pic can be used for blockaddress as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07600e1c9abb174d4984f50c79b0e45062e93c8f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 19:13:17 2009 +0000

    temporarily remove these tests, as they are breaking in the buildbot,
    Eric, please investigate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e9f5d0556117a5d0537efa3f018ddd920f899c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 19:11:46 2009 +0000

    make instcombine only rewrite a chain of computation
    (eliminating some extends) if the new type of the
    computation is legal or if both the source and dest
    are illegal.  This prevents instcombine from changing big
    chains of computation into i64 on 32-bit targets for
    example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b60b1603b3be4b41b2e3a6820fe116835ec7dd9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 19:07:32 2009 +0000

    indicate what the native integer types for the target are.
    Please verify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86397 91177308-0d34-0410-b5e6-96231b3b80d8

commit 932568fad8ba37fec6fbab9f874d1be2d7623c8f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 18:53:00 2009 +0000

    all targets should be required to declare legal integer types.  My plan to
    make it optional doesn't work out.  If you don't want to specify this, don't
    specify a TD string at all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8055a3c54bc88921ab4b3051a01112710ef9f215
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 18:03:32 2009 +0000

    remove empty files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86392 91177308-0d34-0410-b5e6-96231b3b80d8

commit f822a2f4f3b5f91ae0be604b1202622a186ea544
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 17:59:32 2009 +0000

    Revert r86359, it is breaking the self host on the
    llvm-gcc-i386-darwin9 build bot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86391 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0e695bd1f1afe129a7e294b02cdba45629f0c9c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:15:25 2009 +0000

    First try of the post-inc operands handling... Not fully worked, though :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86386 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6d97be420bb6fe615998154f555b06be9cc1cf5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:15:06 2009 +0000

    Add some dummy support for post-incremented loads

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86385 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e459b4d02c73518bf209236d7e406259e56408e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:14:39 2009 +0000

    Add 8 bit libcalls and make use of them for msp430

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86384 91177308-0d34-0410-b5e6-96231b3b80d8

commit daa66e5edbb1eba5a6a602200946c5e2f27c3dbd
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:13:57 2009 +0000

    Add few pseudo-source-values

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c7e166ffb74e4504175767260bd1e23e35f98b7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:13:35 2009 +0000

    Initial support for addrmode handling. Tests by Brian Lucas!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86382 91177308-0d34-0410-b5e6-96231b3b80d8

commit c51a65b683d9ae5c0963eaa31cd0cd71241bd536
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:12:58 2009 +0000

    Some preliminary variable asmprinting

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4266e28b8b014310ee00746ff5f0e012b111720e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:12:38 2009 +0000

    Use '.L' for global private prefix (as mspgcc)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86380 91177308-0d34-0410-b5e6-96231b3b80d8

commit db3ab2f46c9e75a41f3ba2021b7537af4bd813f4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 17:12:21 2009 +0000

    Drop old asmprinter stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59ab8afb46d74604f438d78213a641c038c519b8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Nov 7 15:20:32 2009 +0000

    It turns out that the testcase in question uncovered subreg-handling bug.
    Add assert in asmprinter to catch such cases and xfail the tests.
    PR is to be filled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86375 91177308-0d34-0410-b5e6-96231b3b80d8

commit ece4180609c6ec2e21dfef5f27eb9bf7b65351e4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 09:35:34 2009 +0000

    add the ability for TargetData to return information about legal integer
    datatypes on a given CPU.  This is intended to allow instcombine and other
    transformations to avoid converting big sequences of operations to an
    inconvenient width, and will help clean up after SRoA.  See also "Adding
    legal integer sizes to TargetData" on Feb 1, 2009 on llvmdev, and PR3451.

    Comments welcome.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 683309f29784560cf55826b443f44503318876f1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 09:23:04 2009 +0000

    more cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2aaa75e234660532df77f2a630509bfee77652d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 09:20:54 2009 +0000

    add some missing #includes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 044fe3e5132220650eda5e8f876739fb055455bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 09:13:23 2009 +0000

    rewrite TargetData to use StringRef/raw_ostream instead of thrashing std::strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86366 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ea9331c67f53b9deb5aa58e0b27c2bddd21a200
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 09:07:01 2009 +0000

    prune #include / layering violation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86365 91177308-0d34-0410-b5e6-96231b3b80d8

commit e63aa1f6906831c4a1b8bf2f2bc1ee23a4e3c3c6
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Nov 7 08:51:52 2009 +0000

    Make the need-stub variables accurate and consistent.  In the case of
    MachineRelocations, "stub" always refers to a far-call stub or a
    load-a-faraway-global stub, so this patch adds "Far" to the term. (Other stubs
    are used for lazy compilation and dlsym address replacement.) The variable was
    also inconsistent between the positive and negative sense, and the positive
    sense ("NeedStub") was more demanding than is accurate (since a nearby-enough
    function can be called directly even if the platform often requires a stub).
    Since the negative sense causes double-negatives, I switched to
    "MayNeedFarStub" globally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86363 91177308-0d34-0410-b5e6-96231b3b80d8

commit f36502964777b9941c5a4c531990cc6f2488dc23
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Nov 7 08:45:53 2009 +0000

    Fix a couple of shuffle patterns to use movhlps instead
    of movhps as the constraint.  Changes optimizations so
    update testcases as appropriate as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69a3bcea684c35eb0a394e0dbcfa97b25b33c0d6
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 7 08:34:40 2009 +0000

    Teach dead store elimination that certain intrinsics write to memory just like
    a store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86359 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09a32aa09eeec1d1894333940228d2d097c10007
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 08:31:52 2009 +0000

    remove the win32 tree, it's stale and confusing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86358 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4fddc700e7bb0387a520cbc2acbc01d29eac122
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 08:05:03 2009 +0000

    reapply 86289, 86278, 86270, 86267, 86266 & 86264 plus a fix
    (making pred factoring only happen if threading is guaranteed
    to be successful).

    This now survives an X86-64 bootstrap of llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87c965591afc72dca6b805427a322cd5adf40d11
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 07:50:34 2009 +0000

    Fix PR5421 by APInt'izing switch lowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5031fbdde50deb47304882f92ce6b893887cd324
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 7 07:42:38 2009 +0000

    Oops, FunctionContainsEscapingAllocas is really used to mean two different
    things. Back out part of r86349 for a moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10b606f2cf73f5cfb1d50fa48f890c09bec38b59
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Nov 7 07:10:01 2009 +0000

    Dust off tail recursion elimination. Fix a fixme by applying CaptureTracking
    and add a .ll to demo the new capability.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e7dd487592ee788e07b8dc0279293969a0bda07
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Nov 7 06:33:58 2009 +0000

    llvmc: Add a '-time' option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05858c503a855f067a256a31c7e811543765aaec
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Nov 7 06:33:12 2009 +0000

    Trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75f7b8dca3aaaf0a4ffacfb4d4edccd80000eb4e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Nov 7 06:33:01 2009 +0000

    80-col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 147f0500f9f9d9e0091dc61347b094334280fd83
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Nov 7 06:19:20 2009 +0000

    merge cmp1 into cmp0 and filecheckize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86345 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1c6ba05e0a2b1e604f2cae702a60cf8e568d40b
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Nov 7 05:50:28 2009 +0000

    Update some globals to use ManagedStatic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86342 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6f60f14e1adc950bfd1529325db1acedf9cf97e
Author: Mon P Wang <wangmp@apple.com>
Date:   Sat Nov 7 04:46:25 2009 +0000

    Fix memoizing of CvtRndSatSDNode

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86340 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01fa52d302ba6f4939b6907d0ae10fee5d61200c
Author: Mon P Wang <wangmp@apple.com>
Date:   Sat Nov 7 04:07:33 2009 +0000

    Fixed Overload table bug noticed by Jakob

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10268e847d84c45a601e68bb02eba4dca773331b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 7 04:07:30 2009 +0000

    Missed this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86331 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca529232f661d674617b7d5e51102cf4ee9a6ffb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 7 04:04:34 2009 +0000

    Refactor code. Fix a potential missing check. Teach isIdentical() about tLDRpci_pic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86330 91177308-0d34-0410-b5e6-96231b3b80d8

commit 626474d3ddba098f44d1a372314418a63c152540
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Nov 7 03:52:02 2009 +0000

    - Add TargetInstrInfo::isIdentical(). It's similar to MachineInstr::isIdentical
      except it doesn't care if the definitions' virtual registers differ. This is
      used by machine LICM and other MI passes to perform CSE.
    - Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical.
      Since pc relative constantpool entries are always different, this requires it
      it check if the values can actually the same.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86328 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80994a152341401f8151ece592fd0a07dd14ae1f
Author: Ted Kremenek <kremenek@apple.com>
Date:   Sat Nov 7 03:26:59 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87d0426c569d606dca1d32dc23cae9dee245fc76
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Sat Nov 7 02:11:54 2009 +0000

    Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers.  Coming soon, code to perform sret-demotion if return values cannot be lowered to registers

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86324 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1332dcf1421bd9a7b2e9527056cb1934aea041c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sat Nov 7 01:58:40 2009 +0000

    Fix inverted conflict test in -early-coalesce.

    A non-identity copy cannot be coalesced when the phi join destination register
    is live at the copy site.

    Also verify the condition that the PHI join source register is only used in
    the PHI join. Otherwise the coalescing is invalid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86322 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbc9debd4e99fc06ef89fdd5817c81bc92ac6a85
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Nov 7 01:32:59 2009 +0000

    Revert following patches to fix llvmgcc bootstrap.
    86289, 86278, 86270, 86267, 86266 & 86264
    Chris, please take a look.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86321 91177308-0d34-0410-b5e6-96231b3b80d8

commit d139b9495d8e6a18ac8c7d3a7767f7e0db76a673
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Sat Nov 7 00:54:36 2009 +0000

    My previous patch (r84124) for setting the encoding bits 4 and 7 of DPSoRegFrm
    was wrong and too aggressive in the sense that DPSoRegFrm includes both constant
    shifts (with Inst{4} = 0) and register controlled shifts (with Inst{4} = 1 and
    Inst{7} = 0).  The 'rr' fragment of the multiclass definitions actually means
    register/register with no shift, see A8-11.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86319 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1e1f4c9a3c02d44a9ea7f82c986794318b20415
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Nov 7 00:41:19 2009 +0000

    - new SROA mallocs should have the mallocs running-or'ed, not the malloc's bitcast
    - fix ProcessInternalGlobal() debug output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86317 91177308-0d34-0410-b5e6-96231b3b80d8

commit b035016639fa72a2a698d3f362fff7f9eee4e5ca
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Nov 7 00:36:50 2009 +0000

    Fit in 80 columns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f287f83693b6f419210d1a3560c45515b9e690c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Nov 7 00:26:47 2009 +0000

    Avoid "ambiguous 'else'" warning from gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 955449e468395f33a2debd72e3e6f8f5a1dc1b46
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Nov 7 00:16:28 2009 +0000

    Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions.

    Here is the original commit message:

    This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments.

    Update CreateMalloc so that its callers specify the size to allocate:
    MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
    Optimization uses use TargetData to compute the allocation size.

    Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
    Extend getMallocType() to support malloc calls that have non-bitcast uses.

    Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses.  The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.

    Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses.  The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.

    Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.

    Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab81483d946285672c43aa85f78f912321e95348
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Nov 7 00:13:30 2009 +0000

    80-columns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49c5ea4e4216aa9545345efe476bbc2dc32db9d8
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Nov 7 00:00:10 2009 +0000

    Give the JITResolver a direct pointer to its JITEmitter, and use that instead
    of going through the global TheJIT variable.  This makes it easier to use
    features of JITEmitter that aren't in JITCodeEmitter for fixing PR5201.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86305 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7921e58057a3a19e15877cfd18fcbeb828e919f9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 6 23:52:48 2009 +0000

    - Add pseudo instructions tLDRpci_pic and t2LDRpci_pic which does a pc-relative
      load of a GV from constantpool and then add pc. It allows the code sequence to
      be rematerializable so it would be hoisted by machine licm.
    - Add a late pass to break these pseudo instructions into a number of real
      instructions. Also move the code in Thumb2 IT pass that breaks up t2MOVi32imm
      to this pass. This is done before post regalloc scheduling to allow the
      scheduler to proper schedule these instructions. It also allow them to be
      if-converted and shrunk by later passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86304 91177308-0d34-0410-b5e6-96231b3b80d8

commit d271d8b61f3747846a4ac40f9c49a9b9ca71bc67
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Nov 6 23:45:15 2009 +0000

    Honour subreg machine operands during asmprinting

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a14a00bb348755ff7974c56ff8df9845deb68f3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Nov 6 23:33:28 2009 +0000

    Print VMOV (immediate) operands as hexadecimal values.  Apple's assembler
    will not accept negative values for these.  LLVM's default operand printing
    sign extends values, so that valid unsigned values appear as negative
    immediates.  Print all VMOV immediate operands as hex values to resolve this.
    Radar 7372576.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86301 91177308-0d34-0410-b5e6-96231b3b80d8

commit f676a031cac638f43285ad86a7e6e884a4d399a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 23:19:58 2009 +0000

    Fix a bug where we'd call SplitBlockPredecessors with a pred in the
    set only once even if it has multiple edges to BB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86299 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9538bb41adbd94f658cbf5fdf7cabe3b4ee5920
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Nov 6 23:06:42 2009 +0000

    Fix a broken test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86298 91177308-0d34-0410-b5e6-96231b3b80d8

commit cda028f643df712e635d48b9f19af6e5dad2cd54
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Nov 6 22:38:38 2009 +0000

    Fix comment typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86295 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4582d9e08187fb0d75c51ddb139f3ad3a45642d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Nov 6 22:24:13 2009 +0000

    Remove ARMPCLabelIndex from ARMISelLowering. Use ARMFunctionInfo::createConstPoolEntryUId() instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86294 91177308-0d34-0410-b5e6-96231b3b80d8

commit e725b7d6aa1d922f7045b072edc1025ef3622bd0
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Nov 6 21:43:21 2009 +0000

    CallInst::CreateMalloc() and CallInst::CreateFree() need to create calls with correct calling convention

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86290 91177308-0d34-0410-b5e6-96231b3b80d8

commit c42f1cb6754214561a0eacb03feea6146ebe6f84
Author: Eli Friedman <eli.friedman@gmail.com>
Date:   Fri Nov 6 21:24:57 2009 +0000

    Remove function left over from other jump threading cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86289 91177308-0d34-0410-b5e6-96231b3b80d8

commit c79bcffd435ca296c8006c50f2b86be1ec45a3a5
Author: Gabor Greif <ggreif@gmail.com>
Date:   Fri Nov 6 20:10:46 2009 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86281 91177308-0d34-0410-b5e6-96231b3b80d8

commit d67140691f38c21ee6da9b2d4d3302c31078b6a3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 19:21:48 2009 +0000

    Fix a problem discovered on self host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 593376d7428da212386f6f583ca2973b03c13d73
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 18:24:32 2009 +0000

    remove more code subsumed by r86264

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86270 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3a1626f2fc865dceffc949662bf31dc37e64a95
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 6 18:24:05 2009 +0000

    Tolerate invalid derived type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52814ea97e6546388dc2460712ea6233389de475
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 18:22:54 2009 +0000

    eliminate some more code subsumed by r86264

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86267 91177308-0d34-0410-b5e6-96231b3b80d8

commit e41dbc99d28bdadb78ae8a6515963ba62814239e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 18:20:58 2009 +0000

    remove now redundant code, r86264 handles this case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86266 91177308-0d34-0410-b5e6-96231b3b80d8

commit a00d671e18b86d5366609965dcc181b8995dbc8d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 18:15:14 2009 +0000

    Extend jump threading to support much more general threading
    predicates.  This allows us to jump thread things like:

    _ZN12StringSwitchI5ColorE4CaseILj7EEERS1_RAT__KcRKS0_.exit119:
      %tmp1.i24166 = phi i8 [ 1, %bb5.i117 ], [ %tmp1.i24165, %_Z....exit ], [ %tmp1.i24165, %bb4.i114 ]
      %toBoolnot.i87 = icmp eq i8 %tmp1.i24166, 0     ; <i1> [#uses=1]
      %tmp4.i90 = icmp eq i32 %tmp2.i, 6              ; <i1> [#uses=1]
      %or.cond173 = and i1 %toBoolnot.i87, %tmp4.i90  ; <i1> [#uses=1]
      br i1 %or.cond173, label %bb4.i96, label %_ZN12...

    Where it is "obvious" that when coming from %bb5.i117 that the 'and' is always
    false.  This triggers a surprisingly high number of times in the testsuite,
    and gets us closer to generating good code for doug's strswitch testcase.

    This also make a bunch of other code in jump threading redundant, I'll rip
    out in the next patch.  This survived an enable-checking llvm-gcc bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 400718724c2abc7eab43ccf09a4e970a23846017
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 6 18:03:10 2009 +0000

    Use WriteAsOperand to print GlobalAddress MachineOperands. This
    prints them with the leading '@'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86261 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83e42c7163cc29cf8afd36082164ffb8a2e4b454
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 6 17:58:12 2009 +0000

    Do not bother to emit debug info for nameless global variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86259 91177308-0d34-0410-b5e6-96231b3b80d8

commit de46a5b60ea8cf3db0b613172667a7038470c578
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 6 10:58:06 2009 +0000

    Pass StringRef by value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8

commit d71e0318a7639a78ea87cc0f6eabf13358fd4c9e
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 06:33:01 2009 +0000

    clang++ points out that this is pointless.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 002e65d73c9060d48f73b259ccfcc483352e859a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 05:59:53 2009 +0000

    remove some more Context arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6070c017ba421c2862fc0c25d9770169e858c7e3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Nov 6 04:27:31 2009 +0000

    remove a bunch of extraneous LLVMContext arguments
    from various APIs, addressing PR5325.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3209d11ed21bf3bc4e82a55509cfcc17f18fb6e4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 6 04:12:13 2009 +0000

    NewNighlytTest: Fix timestamp format to actually make sense (it was missing the hour).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fa6ca54e53fa3ebee13f92e1c422f8749e7b0f3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 6 04:12:07 2009 +0000

    NewNightlyTest: Add -noclean option, which doesn't run 'make clean' before building LLVM (for testing).

    Also, switch to always running 'make clean' in the test-suite directories.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59db302d26871b9aae9538e78940474cea811791
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 6 04:12:02 2009 +0000

    NewNightlyTest: Unbreak passing the build directory via a positional argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c419e78067be2b1dd7f9de8cc6db5e827746b3b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Nov 6 04:11:29 2009 +0000

    NewNightlyTest: Add -llvmgccdir as alternative to environment variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2243fcd787afdb7b7f59f388778ba99d57b6a468
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Nov 6 01:33:24 2009 +0000

    Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8

commit fabc47c0671013d23e636704db0fb6a34e106615
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Nov 6 01:30:04 2009 +0000

    Do not try to emit debug info entry for dead global variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ffe7349180f102968461625f010f1895afabe3e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 6 00:19:43 2009 +0000

    Don't print a redundant tab for inline asm, and do use the new printKill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94023e15c7231aa8362d75d5c55961314c3ff796
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Fri Nov 6 00:12:53 2009 +0000

    Add a bunch of missing "template" keywords to disambiguate dependent template names. GCC eats this ill-formed code, Clang does not. I already filed PR5404 to improve recovery in this case

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45535af451f897e642dcaeae79b3c8f75c125799
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Nov 6 00:11:57 2009 +0000

    Fix PR5315, original patch by Nicolas Capens!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86203 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbc43963b76f8e54e6cee47defde4868586665fd
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 6 00:04:54 2009 +0000

    Factor out the printing of the leading tab into printInlineAsm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72dec44309783b3651a549f18637d055d54334ae
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Nov 6 00:04:05 2009 +0000

    Make printImplicitDef and printKill non-virtual, since they don't
    need to be overridden.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3965ee217f82f6faae5b9bff7a756d2573edbe2c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 23:53:08 2009 +0000

    Use SUBREG_TO_REG instead of INSERT_SUBREG to model x86-64's
    implicit zero-extend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b4eb23c3ae503dbfe2f2d14ac14a513d033755c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 23:34:59 2009 +0000

    Teach LSR to avoid calling SplitCriticalEdge on edges with indirectbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86193 91177308-0d34-0410-b5e6-96231b3b80d8

commit cabfc80a201e5153d12f5ba18a6376b5641170b6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 23:31:40 2009 +0000

    Update these tests for the new label names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86192 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff592eced3d70159de10c5a3837e0d0fee7edb8f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 23:14:35 2009 +0000

    Fix the label name generation for address-taken labels to avoid potential
    problems with name collisions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86189 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb99c50b72f2e9eb91d2b8ecf269210e984c98f7
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Nov 5 23:01:30 2009 +0000

    Make a few more LLVM headers parsable as standalone headers.

    Fix some problems with the hidden copy constructors for
    ImmutableMap/ImmutableSet found by Clang++.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2061a07c64a7bdc784d114c796369a14b557c202
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Nov 5 22:58:04 2009 +0000

    Teach lit's SyntaxCheckTest two new tricks:
      - skip .svn directories
      - add a set of excluded filenames so we can easily skip tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d1cb01d2bfeba381f2df9e1295403c8f44527d6
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Nov 5 22:20:57 2009 +0000

    Added support for renumbering existing index list elements. Removed some junk from the initial numbering code in runOnMachineFunction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 934feaaf81ccedee352186013166f25def61f914
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 21:48:32 2009 +0000

    Avoid calling getUniqueExitBlocks from within LoopSimplify, as it depends
    on loops having dedicated exits, which LoopSimplify can no longer always
    guarantee.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86181 91177308-0d34-0410-b5e6-96231b3b80d8

commit daf8ec35aa03cc88dc86febffce6daf1f2ba4d53
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 21:47:04 2009 +0000

    LoopDeletion depends on loops having dedicated exits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80439603bfcf5cc282adf1d4aa2e2fb0ece52bd2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 21:14:46 2009 +0000

    The introduction of indirectbr meant the introduction of
    unsplittable critical edges, which means the introduction of
    loops which cannot be transformed to LoopSimplify form. Fix
    LoopSimplify to avoid transforming such loops into invalid
    code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86176 91177308-0d34-0410-b5e6-96231b3b80d8

commit aef6c7a849c4e8bdd07c017aef2dcfb8c019e287
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 21:11:53 2009 +0000

    Update various Loop optimization passes to cope with the possibility that
    LoopSimplify form may not be available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c41ba177e160a4c26c6c9c7c49d27cbecf1a94b
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Nov 5 21:06:09 2009 +0000

    Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86172 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2691dbecbd79d0e6f4523622a2078ba10c860ef
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 19:44:06 2009 +0000

    Teach LoopUnroll how to bail if LoopSimplify can't give it what it needs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11bf599cd4fe54f457b4f23940dbd62bd8a70c17
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 19:43:25 2009 +0000

    Call getAnalysis<LoopInfo> the normal way, instead of asking passed-in
    LoopPassManager for it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 406a0d14c0a031fe251e4d63f6713387cdebeb13
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 19:42:20 2009 +0000

    InstrTypes.h includes Instruction.h, so it's not necessary to include both.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86162 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c26c5bac5337d59784e0d7bfa8050b1d571a3da
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 19:41:37 2009 +0000

    Fix IVUsers to avoid assuming that the loop has a unique backedge.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86161 91177308-0d34-0410-b5e6-96231b3b80d8

commit 967f370d753ef2b39eb89ffea50b1f4601958beb
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 19:33:15 2009 +0000

    Delete an unused member variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86160 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47927a381cd2049120ca518a5b8a879488129bf6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 19:21:41 2009 +0000

    Factor out the predicate code for loopsimplify form exit blocks into
    a separate helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 355b2a31a057ac8164f0ab4ff0c3b11a38cf0205
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Nov 5 19:03:26 2009 +0000

    CMake: Detect dotty.

    Patch by Arnaud Allard de Grandmaison!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86153 91177308-0d34-0410-b5e6-96231b3b80d8

commit c389f9986beace94d187e24fae9c47c4668d3eed
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Thu Nov 5 18:57:56 2009 +0000

    CMake: do not test for pthread and dl libraries on Windows (except
    Cygwin). Fixes PR 5368.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63e2b7e7ea21976b0922a76e4cd10ebf3a2591ea
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 18:49:11 2009 +0000

    Avoid printing a redundant space in SDNode->dump().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7abf0939c0cf058c89bfdf010ebfa0377fb17034
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 18:47:09 2009 +0000

    Remove uninteresting and confusing debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86149 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c2b47ac5ace2e3c08d4e37a6f9813c37ece0407
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Nov 5 18:30:50 2009 +0000

    Move llvm:🆑:opt's conversion function into the base classes that
    actually need that conversion function. Silences a Clang++ warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5013522f6bb58c5591e2681e6e293ed9f3bd76e1
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Nov 5 18:25:44 2009 +0000

    Add an assertion to catch indirectbr in SplitBlockPredecessors. This
    makes several optimization passes abort in cases where they're currently
    silently miscompiling code.

    Remove the indirectbr assertion from SplitEdge. Indirectbr is only
    a problem for critical edges, and SplitEdge defers to SplitCriticalEdge
    to handle those, and SplitCriticalEdge has its own assertion for
    indirectbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 586101f58224a041c3fafb356155e42e16ba793e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 5 18:19:19 2009 +0000

    add a note from PR5313

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68e77880026c35f6dfd89cc28ed98b349751ea8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 5 17:51:44 2009 +0000

    Declare classes with matched tags, pointed out by a clang++ warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86144 91177308-0d34-0410-b5e6-96231b3b80d8

commit df1353e8583730b5b576097b9c4d0a98d4b4af9b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 5 17:44:22 2009 +0000

    Teach SimplifyLibCalls to fold memcmp calls with constant arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1520cef0c0cc888a54599902add7541a19133b4b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Nov 5 16:27:33 2009 +0000

    lit: Add --param NAME=VALUE option, for test suite specific use (to communicate
    arbitrary command line arguments to the test suite).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 329f7bafcebcdc487ef8bca808dacd19c0c5594e
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 5 14:33:27 2009 +0000

    Do map insert+find in one step. TODO -= 2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86133 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf0e40c0133361f1e4f2a96a7bd6cdcc5080a695
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Nov 5 14:32:40 2009 +0000

    Path::createDirectoryOnDisk should ignore existing directories on win32 too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de7965e718bb1a3fc3b36e233e97246c32c84f8
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Nov 5 13:39:23 2009 +0000

    Make two more LLVM headers standalone

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e4fe9d4baccaff88c839d9662b0b503f9d2edd0
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Nov 5 13:30:28 2009 +0000

    Make a few headers standalone. Plus, add a missing "template" keyword
    that Clang diagnoses but GCC does not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22a64b22aaddff70a4563b541467b323ff0b9dd8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Nov 5 05:57:34 2009 +0000

    merge a few crash tests into crash.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86119 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b0f27313e3d82ccaee3764a0513fde8e34a4c38
Author: Mon P Wang <wangmp@apple.com>
Date:   Thu Nov 5 03:19:08 2009 +0000

    Reintroduce support for overloading target intrinsics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86114 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38e9090bf172f4eb48f6ec53f5895160515b84a9
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Nov 5 01:45:50 2009 +0000

    Replace std::map.at() with std::map[].

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36005a2ab57baffb80e841d6d3334c41aa8ddc86
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Nov 5 01:19:35 2009 +0000

    Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d112f2efc514158edea9dd883ca2885d91ef999
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Nov 5 01:18:31 2009 +0000

    Tidied some ugliness in the SlotIndex default constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86097 91177308-0d34-0410-b5e6-96231b3b80d8

commit a192bc05ae6122d9b2921cbbb0337db8972961ea
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 5 01:16:59 2009 +0000

    Now that code placement optimization pass is run for JIT, make sure it's before pre-emit passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86092 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3970a4b91a1ffac6bbcb448d4d1f5097014520e0
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Nov 5 01:13:02 2009 +0000

    Use WeakVH while storing metadata in containers.
    This fixes PR5393.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45a329b627400a8481e9ade2288357391d2f3a25
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Nov 5 00:52:28 2009 +0000

    Removed an assert which was causing significant slowdowns in debug builds.
    This assert was very conservative to begin with (the error condition is well
    covered by tests elsewhere in the code) so we won't miss much by removing it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86088 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f43c297b8a4825f8ceace47c00c3a2491667839
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Nov 5 00:51:31 2009 +0000

    Add -mtriple to llc commands, attempting to fix buildbot failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10aae1b683ac3f55b0f49787927e385cfe2cd706
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Nov 5 00:51:13 2009 +0000

    Code refactoring.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a97a7f3749e9be0bf9b91571704a5b671f9dbe6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Nov 5 00:30:35 2009 +0000

    Attempt again to fix buildbot failures: make expected output less specific
    and compile with -mtriple to specify *-apple-darwin targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86081 91177308-0d34-0410-b5e6-96231b3b80d8

commit c466871dfda63d07da52ca2d87279c33a1db2eca
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Nov 5 00:16:44 2009 +0000

    Correctly add chain dependencies around calls and unknown-side-effect instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86080 91177308-0d34-0410-b5e6-96231b3b80d8

commit e67ebab906b981bb9534cd7c68fda75cb5ff57c9
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Nov 5 00:03:03 2009 +0000

    Update CreateMalloc so that its callers specify the size to allocate:
    MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
    Optimization uses use TargetData to compute the allocation size.

    Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
    Extend getMallocType() to support malloc calls that have non-bitcast uses.

    Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses.  The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.

    Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses.  The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.

    Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.

    Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71842a96a0af9476bb92a29534509e04f02a835d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 4 23:48:00 2009 +0000

    While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately.
    This improves bitfield support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86073 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1d76577adf6049e5e7b389bc928d3367e8acbc3
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Nov 4 23:20:40 2009 +0000

    Grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d0336c05ff61c5c2c8592e07c977cf3f9e72e46
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 4 23:20:12 2009 +0000

    improve DSE when TargetData is not around, based on work by
    Hans Wennborg!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86067 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8db35425f1cc0dfc5275e413a302a03d99a3c038
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Nov 4 23:11:07 2009 +0000

    Now that the memory leak from McCat/08-main has been fixed (86056), re-enable
    aggressive testing of dynamic stack alignment.
    Note that this is off by default, and enabled for LLCBETA nightly results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 688ef4595d8d624bb968d508432a64a2652176ae
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Nov 4 22:41:51 2009 +0000

    If a function has no stack frame at all, dynamic realignment isn't necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6023c439e5e7ed8cfcb63488e411e3f04f2515da
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Nov 4 22:41:00 2009 +0000

    dynamic stack realignment necessitates scanning the floating point callee-
    saved instructions even if no stack adjustment for those saves is needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d9fe58ac9c54287f9894c61e361af13e6690300
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 4 22:06:12 2009 +0000

    Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86054 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8cbca94a15e7064ee043b77799d9906d8d4b324
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 4 21:31:18 2009 +0000

    Add PowerPC codegen for indirect branches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13d4167715408b029b52ca88437321f306b057df
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Nov 4 21:24:15 2009 +0000

    Handle empty/tombstone keys for LiveIndex more cleanly. Check for index sanity when constructing index list entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5791bad4eae891bd0596cdf5b5984e42b15e693f
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Nov 4 20:50:23 2009 +0000

    A value is only assigned to errno if NumRead equals -1, so do
    not reason based on errno if NumRead has a different value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e5933ce0a357d34527487908bde7c1d29a0795f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 4 20:04:11 2009 +0000

    Fix broken test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86045 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fc72f071d1541bcc6f6a5d276b728167d53359c
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Nov 4 19:57:50 2009 +0000

    Add some options to disable various code gen optimizations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86044 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ff19cf6b084b54e4f04b72f080926a4a37d953c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Nov 4 19:37:40 2009 +0000

    Array element size does not match array size but array is not a bitfield.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86043 91177308-0d34-0410-b5e6-96231b3b80d8

commit a589b3890a92196ca96b3a26e65ddafc52cbe3d5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Nov 4 19:25:34 2009 +0000

    Add test for ARM indirectbr codegen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f251671d1a905be12347721af468b8e31ad9d6e
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Nov 4 19:24:37 2009 +0000

    Print out an informative comment for KILL instructions.

    The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output.

    With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86041 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf2c373dfc705dc218ea5dc83e8ddfe3c330702b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 4 18:57:42 2009 +0000

    Fix an iterator invalidation bug that happens when a hashtable
    resizes in IPSCCP.  This fixes PR5394.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86036 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcdde22dbb4894a8b9711ef1f921426a3eb6727a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 4 08:36:50 2009 +0000

    Look for llvm-gcc under /Developer/usr/bin first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86023 91177308-0d34-0410-b5e6-96231b3b80d8

commit a39f127c957d42f0ce408b00fb5c597fb9f766d1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 4 08:33:14 2009 +0000

    RangeIsDefinedByCopyFromReg() should check for subreg_to_reg, insert_subreg,
    and extract_subreg as a "copy" that defines a valno.
    Also fixes a typo. These two issues prevent a simple subreg coalescing from
    happening before.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86022 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93e6ff9686763f528032b5c1e15153672cdde84c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 4 08:05:20 2009 +0000

    move two functions up higher in the file.  Delete a useless argument
    to EmitGEPOffset.

    Implement some new transforms for optimizing
    subtracts of two pointer to ints into the same vector.  This happens
    for C++ iterator idioms for example, stringmap takes a const char*
    that points to the start and end of a string.  Once inlined, we want
    the pointer difference to turn back into a length.

    This is rdar://7362831.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ed81a9a308da7f0b05af7887e53b913cdf8128c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 4 07:57:05 2009 +0000

    filecheckize this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2527652d0530076c4fcfc114b4a950bbfeeaa77a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 4 07:38:48 2009 +0000

    The .n suffix must go after the predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86019 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3673807c7cef986331086848ace56e2a7a8a421
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Nov 4 06:15:28 2009 +0000

    The magic for our current brand of .bc files is BC. For older ones it was llvc.
    When was it ever "llvm"?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f225801184a85aa03ddc3b45da5ad0eda8986ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Nov 4 05:00:12 2009 +0000

    make IRBuilder zap "X|0" and "X&-1" when building IR, this happens
    during bitfield codegen and slows down -O0 compile times by making
    useless IR.  rdar://7362516

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86006 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca58fd8d29aa31703adf240118e6031be84c3808
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Nov 4 04:32:50 2009 +0000

    configure: Add --with-optimize-option, for setting the default value of
    OPTIMIZE_OPTION.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86005 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3072a0705d8acd8aad61b8591362367c428a3c19
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 4 03:08:57 2009 +0000

    Silence implicit conversion warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86000 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6fbcac2b54259df3d1f22fbbb0a0609c51cc5c9
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Nov 4 01:52:40 2009 +0000

    Another spurious friend declaration removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36b4226099ea59d8a6711a84c19cace000cc37ea
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Nov 4 01:34:22 2009 +0000

    Removed an unnecessary friend declaration and some crufty comments from IndexListEntry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85995 91177308-0d34-0410-b5e6-96231b3b80d8

commit c527ba8dbb651bc60d2ea16990283d8e96e249ed
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Nov 4 01:32:06 2009 +0000

    Fix CMake makefiles

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94b940d57a3e1cb133733ffa70dd7b3dec8e0d05
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 4 00:42:33 2009 +0000

    Fix test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85986 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98fd6060b428475e227274836140601d27016a4f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Nov 4 00:00:39 2009 +0000

    Use ldr.n to workaround a darwin assembler bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85980 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6a717cba117dae9a90a373698f691d9452c9c49
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Nov 3 23:52:08 2009 +0000

    The Indexes Patch.

    This introduces a new pass, SlotIndexes, which is responsible for numbering
    instructions for register allocation (and other clients). SlotIndexes numbering
    is designed to match the existing scheme, so this patch should not cause any
    changes in the generated code.

    For consistency, and to avoid naming confusion, LiveIndex has been renamed
    SlotIndex.

    The processImplicitDefs method of the LiveIntervals analysis has been moved
    into its own pass so that it can be run prior to SlotIndexes. This was
    necessary to match the existing numbering scheme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24a1825a08acd458d350140f0706f3cbc5bf6a2e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 3 23:44:31 2009 +0000

    Fix branch folding bug for indirect branches: for a block containing only
    an unconditional branch (possibly from tail merging), this code is
    trying to redirect all of its predecessors to go directly to the branch
    target, but that isn't feasible for indirect branches.  The other
    predecessors (that don't end with indirect branches) could theoretically
    still be handled, but that is not easily done right now.

    The AnalyzeBranch interface doesn't currently let us distinguish jump table
    branches from indirect branches, and this code is currently handling
    jump tables.  To avoid punting on address-taken blocks, we would have to give
    up handling jump tables.  That seems like a bad tradeoff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85975 91177308-0d34-0410-b5e6-96231b3b80d8

commit dca9e5cbeb8369bd4d8a6ea6a3232717884b1e8a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 23:40:48 2009 +0000

    reimplement multiple return value handling in IPSCCP, making it
    more aggressive an correct.  This survives building llvm in 64-bit
    mode with optimizations and the built llvm passes make check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85973 91177308-0d34-0410-b5e6-96231b3b80d8

commit 276f816673b1257798355cedad6f1529c75af3dd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 23:13:34 2009 +0000

    Fix t2Int_eh_sjlj_setjmp. Immediate form of orr is a 32-bit instruction. So it should be 22 bytes instead of 20 bytes long.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85965 91177308-0d34-0410-b5e6-96231b3b80d8

commit eafe7166f828b3444172ff8d3ab2fc1f060d1004
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Nov 3 22:50:10 2009 +0000

    Use llvm-gcc on newer Darwins.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28cf87a1ef35e19850b37d1c86e1e525041bb41a
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Tue Nov 3 22:07:07 2009 +0000

    set svn:ignore

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e5ab0bd7db07a568cb543f7c78c1bc5ab70efa5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 21:59:33 2009 +0000

    fconsts / fconstd immediate should be proceeded with #.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85952 91177308-0d34-0410-b5e6-96231b3b80d8

commit c09ffd223afb21cb7619530e58969b34fdcf71c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 21:50:09 2009 +0000

    fix broken link

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85951 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6cb4521300b5d215e1363b82cdc2fd443c67088
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 21:40:02 2009 +0000

    Re-apply 85799. It turns out my code isn't buggy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85947 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cc5096427898be26afda67e6c1de40a98603000
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 21:26:26 2009 +0000

    fix test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 339daf45dbfe2111a16d08e0068b9e3669c6684f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 21:25:50 2009 +0000

    merge a test into ipsccp-basic.  running llvm-ld to get one pass is... bad.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85945 91177308-0d34-0410-b5e6-96231b3b80d8

commit 996892b9ed838e797c1a870e9839dfcd236a5014
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Nov 3 20:57:50 2009 +0000

    Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85939 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5b4c33c8bee18c293e4dbb9ce53d60bb653ad4d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 20:52:57 2009 +0000

    finish half thunk thought

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85937 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb4ea016719ee4d21cd3c0d01f82cd12c346d870
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Nov 3 20:39:35 2009 +0000

    Changes requested (avoid getFunction(), avoid Type creation via isVoidTy(), and avoid redundant isFreeCall cases) in feedback to r85176

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85936 91177308-0d34-0410-b5e6-96231b3b80d8

commit d078dfc911400195d7d2fc6961f5e684dbb1413c
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Nov 3 20:15:00 2009 +0000

    <rdar://problem/7352605>. When building schedule graph use mayAlias information to avoid chaining loads/stores of spill slots with non-aliased memory ops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85934 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3406e998920033dc225fa89d75e161c2a47c625
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Nov 3 20:02:35 2009 +0000

    Changes (* location in pointer variables, avoiding include, and using APInt::getLimitedValue) based on feedback to r85814

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85933 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9b50cdd8d518c6321aba8b741024fa90d1bef4a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 19:35:13 2009 +0000

    turn IPSCCP back on by default, try #3 or 4? Woo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85929 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59dc8e6f2cea716a6f677d50bd82d96cd45ebc0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 19:24:51 2009 +0000

    fix an IPSCCP bug I introduced when I changed IPSCCP to start working on
    functions that don't have local linkage.  Basically, we need to be more
    careful about propagating argument information to functions whose results
    we aren't tracking.  This fixes a miscompilation of
    LLVMCConfigurationEmitter.cpp when built with an llvm-gcc that has ipsccp
    enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3133d382edb595aed9df285f64f32a4ace8044bc
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 3 19:10:22 2009 +0000

    Make this code more robust by not thinking we are making progress
    if zero bytes were read.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85922 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad58bb3530c4ee4c2363217f515e99f700d7e52c
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 3 19:06:07 2009 +0000

    Parse debug info attached with insertvalue and extractvalue instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c7403016afc834b7c310a5676de5ba5dfd1ea2c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 3 18:46:11 2009 +0000

    Move subtarget check upper for NEON reg-reg fixup pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85914 91177308-0d34-0410-b5e6-96231b3b80d8

commit f982ca6b74654680fb22828fc1f9573b8ecd634d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 18:30:31 2009 +0000

    mark some constant global const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11ac7e7b5d9a4c1ede1e3485ad38eb4ca889918c
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Nov 3 18:30:27 2009 +0000

    Ignore unnamed variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85bc7b12e5f602c250d35c681c5639d7a56e1099
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 17:54:12 2009 +0000

    xfail this test since daniel turned off ipsccp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85907 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdca138a92bf031f1bd4fb26f0564c4ca97b5658
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 17:03:02 2009 +0000

    testcase for r85903

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d2a9ca1cfb732a273a4707480f7a9b11c22d0f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 16:50:11 2009 +0000

    fix a subtle bug I introduced when refactoring SCCP.  Testcase
    to follow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85903 91177308-0d34-0410-b5e6-96231b3b80d8

commit a092c1232e712b8d40d71910a0bde367875bd31f
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Tue Nov 3 15:29:06 2009 +0000

    Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d8f7ca741e223de15b4bc83ddc00033e5da5be1
Author: Kenneth Uildriks <kennethuil@gmail.com>
Date:   Tue Nov 3 15:25:20 2009 +0000

    Added a comment to a function that had none

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85899 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e96e727b2b74ae92c8d3ed6c1c786aca6f513f5
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Nov 3 12:52:50 2009 +0000

    Eliminate some temporaries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 594522ab60e8ccebd9339149714422e94e1fdf72
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Nov 3 09:40:08 2009 +0000

    Run the functionattrs pass after the inliner, and not before.
    This makes both logical sense (see below) and increases the
    number of functions marked readnone/readonly by about 1-2%
    in practice.  The number of functions marked nocapture goes
    up by about 5-10%.  The reason it makes sense is shown by
    the following example: if you run -functionattrs -inline on
    it, then no attributes are assigned.  But if you instead run
    -inline -functionattrs then @f is marked readnone because the
    simplifications produced by the inliner eliminate the store.

    @x = external global i32

    define void @w(i1 %b) {
            br i1 %b, label %write, label %return
    write:
            store i32 1, i32 *@x
            br label %return
    return:
            ret void
    }

    define void @f() {
            call void @w(i1 0)
            ret void
    }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85893 91177308-0d34-0410-b5e6-96231b3b80d8

commit fab6da0286f9888c0c3a10117bcdbcb4504fe99a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 3 07:49:22 2009 +0000

    Speculatively redisable IPSCCP, I think its still breaking things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39c2f8441685672f1b501c4fc24c22dba6e19274
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Nov 3 07:26:38 2009 +0000

    lit: Update Clang's test style to use XFAIL: and XTARGET: lines that match
    LLVM's tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85882 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d63848cf8c3a3b885f75dd0be11e5e217c254e9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 07:08:08 2009 +0000

    Trim unnecessary include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74f8efd28d43839bb2513ad39c93a5ae317c3764
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 3 06:29:56 2009 +0000

    For Thumb indirect branches, use "mov pc, reg" which does not switch
    between ARM/Thumb modes and does not require the low bit of the target
    address to be set for Thumb.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ea4690298176786e7a20f69755e5dadaa4f5e98
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Nov 3 06:29:36 2009 +0000

    Fix a funky "declared with greater visibility than the type of its field"
    warning from gcc by removing VISIBILITY_HIDDEN attributes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85873 91177308-0d34-0410-b5e6-96231b3b80d8

commit f865754812e17df0cee7e4a1d387bac6603f015b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 05:52:54 2009 +0000

    Fix PR5367. QPR_8 is the super regclass of DPR_8 and SPR_8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85871 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ef1ec1295a24dc9ed54952005a3f2cab20165c6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 05:51:39 2009 +0000

    Clean up copyRegToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89947e524969d671c7cb8763fdc333ee02727338
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Nov 3 05:50:57 2009 +0000

    Add QPR_8 as a superreg class of SPR_8 and DPR_8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85869 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cae17293078de6851d16451c78680666157e05d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 05:35:19 2009 +0000

    remove unneeded checks of isFreeCall

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85866 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6679f518c4388f1b5a580f9cf6d82391a863dfd4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 05:34:51 2009 +0000

    remove a check of isFreeCall: the argument to free is already nocapture so the generic call code works fine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85865 91177308-0d34-0410-b5e6-96231b3b80d8

commit a856e3625f4d2486c2968afbbbc1192ae191b88f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 05:33:46 2009 +0000

    remove a isFreeCall check: it is a callinst that can write to memory already.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85863 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53716298997391af4aa6547150f9162a942312ff
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Nov 3 04:14:12 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6008c51749687d8525357ae6f75f3deebfbc032c
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Nov 3 04:06:58 2009 +0000

    Support updating 'llvm_add_target' lists as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85860 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfdce75f068a2af4fc55051c09b80119fc720a81
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Nov 3 04:01:53 2009 +0000

    Alphabetize.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a2499a52b50685ed16c51d28550a09d0235dd29
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Nov 3 03:42:51 2009 +0000

    turn IPSCCP back on now that the iterator invalidation bug is fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85858 91177308-0d34-0410-b5e6-96231b3b80d8

commit adcdd9b902b4e48f1231f8a504dd7a6871eb1515
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Nov 3 03:30:51 2009 +0000

    Add a couple more target nodes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85857 91177308-0d34-0410-b5e6-96231b3b80d8

commit b00cf59da47c3f365ab2834850876dfccdaf2346
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Nov 3 02:19:31 2009 +0000

    Declare sin & cos as readonly so they match the code in SelectionDAGBuild

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85853 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ed3a35a6549891d3a9ef08bcc9caaf21703a537
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 3 01:04:26 2009 +0000

    Turn neon reg-reg moves fixup code into separate pass. This should reduce the compile time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3daf4012398a2511b36cf7bd31192f098f9820b9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 3 00:37:36 2009 +0000

    Temporary xfail until PR5367 will be resolved

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85848 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6057985f14be94252b2741f5e8ae338879395a6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Nov 3 00:24:48 2009 +0000

    Revert r85049, it is causing PR5367

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c9eda2cdfdd2fa0f49365d669d74968e1a925e2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Nov 3 00:02:05 2009 +0000

    Revert previous change to a comment.  The BlockAddresses go in the
    constant pool so they don't get wrapped separately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85844 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd355c46afc286a3d561ac671dba1f057cde8e6f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 23:25:39 2009 +0000

    fix a nasty iterator invalidation bug from my conversion from
    std::map to DenseMap, exposed on release llvm-gcc bootstrap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85840 91177308-0d34-0410-b5e6-96231b3b80d8

commit da8a1abb3dc7f1fde5759ccb0fc0820c4198d94d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 2 21:49:14 2009 +0000

    Revert 85799 for now. It might be breaking llvm-gcc driver.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85827 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1da913d170e20cf91fd12f9da5d733f171bcb7d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 2 20:59:23 2009 +0000

    Put BlockAddresses into ARM constant pools.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85824 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7209bfc4cf90c88ce0d1795184e99fe54091c53
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon Nov 2 20:14:39 2009 +0000

    Fix ARMAsmParser::ParseMemoryOffsetReg() where the parameter OffsetRegNum should
    have been passed as a reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85823 91177308-0d34-0410-b5e6-96231b3b80d8

commit d78dfdfe75fcfb54c65bd312ab31fec89d6741be
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 19:31:10 2009 +0000

    revert r8579[56], which are causing unhappiness in buildbot land.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bcc6637fb7f1d7a618c4fc9f981c7ae1d6cead0
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Nov 2 19:11:03 2009 +0000

    CMake: Report an error if there is an unknown .cpp file in a source
    directory.

    This is useful in case someone who works with the config&make build
    system forgot to add a file to its CMakeLists.txt. Instead of
    obtaining undefined references at link time, cmake will complain at
    configure time on the first build after a svn update.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85817 91177308-0d34-0410-b5e6-96231b3b80d8

commit 529fbeb0c9987e3211c6d44d123c13e6dad5673c
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Nov 2 18:51:28 2009 +0000

    Set bit instead of calling pow() to compute 2 << n

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76356bcc3bdfbdb0470281af5b3505a990cf1e94
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 18:28:45 2009 +0000

    typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85812 91177308-0d34-0410-b5e6-96231b3b80d8

commit c264c9eca13f6b368663f98b1cf3c3d23dc7f061
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 18:27:22 2009 +0000

    merge 2008-03-10-sret.ll into ipsccp-basic.ll, and upgrade its syntax.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85811 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e5b03000665b0ef55d866a33f88bb8375f96695
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 18:22:51 2009 +0000

    disable IPSCCP support for multiple return values, it is buggy, so just
    disable it until I can fix it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a8ec820614ab5b5a0edef1297cbc4cec4b1c3d9
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Nov 2 17:28:36 2009 +0000

    Fix schedule model for BFC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85809 91177308-0d34-0410-b5e6-96231b3b80d8

commit a07d68f6f017c73cbca1222cddd6baf40974974b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 2 17:10:37 2009 +0000

    Hyphenate some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85808 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9374f78f5230bcd68f2e8b24d0b975cb86527e76
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Nov 2 17:06:28 2009 +0000

    Chain dependencies used to enforce memory order should have latency of 0 (except for true dependency of Store followed by aliased Load... we estimate that case with a single cycle of latency assuming the hardware will bypass)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85807 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62acbf19235b3b20a24958b973538e35ec6f2d67
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 2 16:59:06 2009 +0000

    Add support for BlockAddress values in ARM constant pools.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85806 91177308-0d34-0410-b5e6-96231b3b80d8

commit d737897784e400b7c2642030b362faf42493a398
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Nov 2 16:58:31 2009 +0000

    Prune unnecessary include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a615773ca6289058893e18267c9ce4095cb3656
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 2 08:09:49 2009 +0000

    Initilize the machine LICM CSE map upon the first time an instruction is hoisted to
    the loop preheader. Add instructions which are already in the preheader block that
    may be common expressions of those that are hoisted out. These does get a few more
    instructions CSE'ed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ff61c68cde1cf4d785362c21f4a316436d14a22
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 2 07:58:25 2009 +0000

    These are done / no longer care.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85798 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9ca3d1e7116200fe9e62cb9397c783d1d653159
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 2 07:51:19 2009 +0000

    Add an entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85797 91177308-0d34-0410-b5e6-96231b3b80d8

commit f386afd11f1c8e56d1afc8ff534bc58a2a3c29ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 07:34:29 2009 +0000

    now that ip sccp *really* subsumes ipcp, remove ipcp again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29cc27a3e256f969418198dcff1c9b28317890bb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 07:33:59 2009 +0000

    improve IPSCCP to be able to propagate the result of "!mayBeOverridden"
    function to calls of that function, regardless of whether it has local
    linkage or has its address taken.  Not escaping should only affect
    whether we make an aggressive assumption about the arguments to a
    function, not whether we can track the result of it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85795 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aed9d422dfd1b2e46a5ae63d95e2c83f5279247
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 2 07:11:54 2009 +0000

    Remove an irrelevant and poorly reduced test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74f9ed2fef57ffe21074042e681c7c000cb4e0a1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 06:34:04 2009 +0000

    don't mark the arguments of prototype overdefined, they will never be queried.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85793 91177308-0d34-0410-b5e6-96231b3b80d8

commit e84f1231eff713701e9d60c4b2b16f3997daa0eb
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 06:28:16 2009 +0000

    restore some code I removed in r85788, refactor it into
    a shared place instead of duplicating it 4 times.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85792 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2a4e20894cd1fa7afc1c7586c4b650ff5cd8a56
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 06:17:06 2009 +0000

    remove some confused code that dates from when we had
    "multiple return values" but not "first class aggregates"

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85791 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5ffa7c6137334a259426aa4f656a6d28193a459
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 06:11:23 2009 +0000

    avoid redundant lookups in BBExecutable, and make it a SmallPtrSet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0148bb29a5f14dfd9c5c94ec7144c0554cd2691f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 06:06:14 2009 +0000

    Use the libanalysis 'ConstantFoldLoadFromConstPtr' function
    instead of reinventing SCCP-specific logic.  This gives us
    new powers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85789 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6367c3fa7cb3820bc31a40e9195388db37e452a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 05:55:40 2009 +0000

    switch the main 'ValueState' map from being an std::map to being
    a DenseMap.  Doing this required being aware of subtle iterator
    invalidation issues, but it provides a big speedup.  In a
    release-asserts build, this sped up optimizing 403.gcc from
    1.34s -> 0.79s (IPSCCP) and 1.11s -> 0.44s (SCCP).

    This commit also conflates in a bunch of general cleanups, sorry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85788 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9a5f772aa33a15e8ae9db61010ea0e347b771ca
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Nov 2 04:44:55 2009 +0000

    Unbreak ARMBaseRegisterInfo::copyRegToReg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85787 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9661b6764715959f2b35c795af1dfbe5a92bbb6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 04:37:17 2009 +0000

    fix a bug exposed by moving SRoA earlier which caused a crash building kc++

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85786 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae7a3d378ed2f64bb369ad672439f08fb8e685c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Nov 2 03:46:35 2009 +0000

    Missing bit of universal built + hosted

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84388f11cf36e91102b33b61b5209318e78445c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 03:25:55 2009 +0000

    only IPSCCP incoming arguments if the function is executable, this fixes
    an assertion on the buildbot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 220571cfe77c2beb85bdf42c2e1feded607eea9f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 03:21:36 2009 +0000

    add a new ValueState::getConstantInt() helper, use it to
    simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85783 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ba3276aeb2caea7729d5d792e01a9800b9208b4
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Nov 2 03:20:57 2009 +0000

    Fix malloc.h is deprecated warning on DragonFly BSD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97489014b43242375a4e5258472ee082a1c786ee
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Nov 2 03:14:31 2009 +0000

    Fix for warning seen on DF-BSD, Victor, please fix this to use a shift instead of pow()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85781 91177308-0d34-0410-b5e6-96231b3b80d8

commit b52f700e8ae038dcd38a17112f942f1be298ade2
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 03:03:42 2009 +0000

    tidy up some more: remove some extraneous inline specifiers, return harder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e974a781487f7bee54b92a541f3f682ec95e479
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Nov 2 02:55:39 2009 +0000

    Apply fix for PR5135, Credit to Andreas Neustifter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85779 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9edab8daff6c1e9d474961b0e7c97cd57dbf2a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:54:24 2009 +0000

    eliminate the SCCPSolver::getValueMapping method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85778 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9474d5d76734a90e0d2e92a420e848fb435cc32
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:48:17 2009 +0000

    fix failures introduced in r85774

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85777 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14513dcc2b5d3dd742deaf0080e0995c865db87f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:47:51 2009 +0000

    factor duplicated code into a new DeleteInstructionInBlock
    function, eliminate temporary (and pointless) smallvector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85776 91177308-0d34-0410-b5e6-96231b3b80d8

commit c879800404e3705403f04009016ced1d92a2c114
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:33:50 2009 +0000

    Chris used to use '...' instead of proper grammar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85775 91177308-0d34-0410-b5e6-96231b3b80d8

commit adaf73315966fa8ad1c5053e7ac5aa15eed7aabd
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:30:06 2009 +0000

    remove some extraneous llvmcontext stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85774 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1eb405b598213a9ffe077d4b42c23f055568294e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:20:32 2009 +0000

    change LatticeVal to use PointerIntPair to save some space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69fa3f564d114d4f2b4d953e736373c917c6d640
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:06:37 2009 +0000

    fix instcombine to only do store sinking when the alignments
    of the two loads agree.  Propagate that onto the new store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85772 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0996a2f36e9fc7a4573e296c84deb012c196ff0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 02:00:18 2009 +0000

    merge a test into store.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85771 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31cf6ca5aa61e751ceaa6c4555acb592e551d67e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Nov 2 01:58:03 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85770 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4ae2294dc77422063a9f739b27410c9f0c151e4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Nov 2 00:25:26 2009 +0000

    Add missing end-tag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 614b32b9c179b1e897cd953eb90fd00e374c1728
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Nov 2 00:24:16 2009 +0000

    Some formatting changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85768 91177308-0d34-0410-b5e6-96231b3b80d8

commit f817d7bfb1568b67a790dbae0ea05e162b6bc560
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Nov 2 00:12:06 2009 +0000

    Handle splats of undefs properly. This includes the testcase for PR5364 as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85767 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9331217b489a204b9264bb424ebf83612e1b29e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Nov 2 00:11:39 2009 +0000

    Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364.

    PS: It seems that blackfin usage of copy_to_regclass is completely bogus!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85766 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1853b6e277b38bc8d796951f371cbc5824b21aff
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Nov 2 00:11:06 2009 +0000

    64-bit FP loads & stores operate on both NEON and VFP pipelines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85765 91177308-0d34-0410-b5e6-96231b3b80d8

commit eed9c14b562d5c43c787b0a74c99f3adf6238f6b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Nov 2 00:10:38 2009 +0000

    Use NEON reg-reg moves, where profitable. This reduces "domain-cross" stalls, when we used to mix vfp and neon code (the former were used for reg-reg moves)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87e4592785576c12930d0ffd65b33c7b7d889fc5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Nov 1 23:50:04 2009 +0000

    Add PseudoSourceValue::mayAlias. It returns true if the object can ever alias any LLVM IR value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b1f541793e2143762a8f08e65d46bec80fd758e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 1 22:08:51 2009 +0000

    Line this up as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f80251773274b4df99b6b5cbea024feebd9aae3
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Nov 1 22:07:54 2009 +0000

    Fix whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ac1b43d80bf7bac148dd5d4ad3dd98054cf9408
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Nov 1 22:04:35 2009 +0000

    Fix a couple more places where we are creating ld / st instructions without memoperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e9fef42389147453ebcbe12543ae9f1c6530f7c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Nov 1 21:12:51 2009 +0000

    Make use of imm12 version of Thumb2 ldr / str instructions more aggressively.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66207cc7cda2cfcda69b9ba092279e2357d94a6d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 20:41:59 2009 +0000

    fix two strange things in the default passmgr:

    1. we'd run simplifycfg at the very start, even though
    the per function passes have already cleaned this up.

    2. In the main per-function pipeline that is interlaced with inlining
       etc, we would do instcombine, jump threading, simplifycfg *before*
       doing SROA.  SROA is much more likely to expose opportunities for
       these passes than they are for SROA, so move SRoA up earlier.

    also add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5409d9dbbfaa11af8119b76ea7263c3a5a2271d7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 20:10:11 2009 +0000

    merge phi-merge.ll into phi.ll

    I don't know what Dan wants to do with phi-merge-gep.ll, I'll let
    him deal with it because instcombine may end up sinking these.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52fe1bc4548599673b9040a44fe8e2aad2e65827
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 20:07:07 2009 +0000

    when merging two loads, make sure to take the min of their alignment,
    not the max.  This didn't matter until the previous patch because
    instcombine would refuse to sink loads with differenting alignments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38751f83c7e653378da439fc511928e3a0d3fb72
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 20:04:24 2009 +0000

    split load sinking out to its own function, like gep sinking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 310a00f632a2db7665ed388d9268af8e1f3d02f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 19:50:13 2009 +0000

    fix a bug noticed by inspection: when instcombine sinks loads through
    phis, it didn't preserve the alignment of the load.  This is a missed
    optimization of the alignment is high and a miscompilation when the
    alignment is low.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85736 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f50617de31bdfc1138cbd1681bf67e59b5f5252
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 19:29:12 2009 +0000

    IPSCCP apparently is not a superset of IPCP, this is bad,
    but I'll investigate it separately.  This unbreaks
    test/FrontendC/weak_constant.c

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85735 91177308-0d34-0410-b5e6-96231b3b80d8

commit d05b6010946f8f7554210e983f742eb226500c40
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 19:22:20 2009 +0000

    convert to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85734 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ea1608ce43d2a636745a58bd7ef0a8819609b53
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Nov 1 19:16:21 2009 +0000

    Improve the other instance of the comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85733 91177308-0d34-0410-b5e6-96231b3b80d8

commit af5f1d6c07a358b8378b0458c81a473cefcf15cc
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Nov 1 19:12:43 2009 +0000

    Add a missing closing parenthesis, and tweak to fit in 80
    columns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85732 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5e2138e1894d150c0f3f830c236028ff5ad0f87
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 19:09:12 2009 +0000

    only run GlobalDCE at -O3 and run it late instead of early.
    GlobalOpt already deletes trivially dead functions/globals,
    so GlobalDCE only adds values for cycles of dead things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85731 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f2e8ec4afbba963c09dd4856258dd5cabf59112
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 19:03:42 2009 +0000

    cleanups, switch GlobalDCE to SmallPtrSet instead of std::set

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45ad5c40eb868d053ddbd2296a26c02882c6bd37
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 18:57:49 2009 +0000

    We currently only run ipsccp at LTO time, which is silly.  It subsumes
    ipconstprop and doesn't take much time.  Just run it in its place.

    This adds a testcase for it, which I plan to expand to cover other
    "integration" cases, where we expect the optimizer to be able to
    eliminate various things.  Due to phase order issues we've regressed
    in a number of areas and integration tests are the only way I see to
    prevent this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85729 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3ce1a63e4891b7c53dbdde5dffb49b45f5672de
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 18:42:03 2009 +0000

    remove a bunch of locking from LLVMContextImpl.  Since only one thread
    can be banging on a context at a time, this isn't needed.  Owen, please
    review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85728 91177308-0d34-0410-b5e6-96231b3b80d8

commit dda0326aa939d3dde36927286257036cd4fcb6d4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 18:17:37 2009 +0000

    improve comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 789eb4ae48f61b77b0ee688f12758f8e401358c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 18:16:30 2009 +0000

    add a comment about why we don't allow inlining indbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85724 91177308-0d34-0410-b5e6-96231b3b80d8

commit adc8e889dc20cad3cfbb3fb8d51e53c5c2b9625c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Nov 1 18:13:29 2009 +0000

    Fix tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85723 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8b101895463b01ac2c4044f2d49c2d624ea2e1a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 18:11:50 2009 +0000

    the verifier shouldn't modify the IR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67127294f701ddec34ccb7a5dc324817be4645e7
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Sun Nov 1 16:42:53 2009 +0000

    Reverting 85714, 85715, 85716, which are breaking the build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37a513fcc2c75f3080c93e6fcd9a97be368337fc
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Nov 1 15:28:36 2009 +0000

    Add a function to Passes.h to allow clients to create instances
    of the ScalarEvolution pass without needing to #include ScalarEvolution.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85716 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47070a3479c96876132aa2ac6d17adde7a860402
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Nov 1 15:23:35 2009 +0000

    Don't #include Pass.h from CallGraph.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85715 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7f59f3af13b5fdee43de653d00598ca5a53bff6
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Nov 1 15:20:19 2009 +0000

    Remove the #include of Pass.h from PassManager.h. This breaks a significant
    #include dependency, as frontends commonly pull in PassManager.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f4875062faa6cad24c7ada735dba0877b5da634
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 06:11:53 2009 +0000

    teach ipsccp and ipconstprop that a blockaddress doesn't 'take the address' of a function
    in a way that should prevent ip constprop.  This allows clang/test/CodeGen/indirect-goto.c
    to pass with the new indirect goto lowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85709 91177308-0d34-0410-b5e6-96231b3b80d8

commit cab3885bac1d1f297b73a1ea491eeeb870758b27
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 04:57:33 2009 +0000

    change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2
    when BB2 has its address taken.  Since it ends up doing BB2->rauw(BB1),
    this can cause the address of the entry block to be taken.  Since it is
    generally undesirable to nuke blocks whose address is taken, even when
    we can, just unconditionally stop this xform.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85708 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2b693f125e133847bd713d09e6d3894dbabe0cb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 04:23:20 2009 +0000

    strengthen an assumption: RevectorBlockTo knows that PredBB
    ended in an uncond branch because the pass requires BreakCriticalEdges.

    However, BCE doesn't eliminate critical adges from indbrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c29feace6d1ac93295c58c29e7c7fb9ae9afc77
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 04:08:01 2009 +0000

    fix an issue where the verifier would reject a function whose entry
    block had its address taken even if the blockaddress was dead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85706 91177308-0d34-0410-b5e6-96231b3b80d8

commit f395da4484452032c224d0d98420bbeb09b56e3b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 03:42:55 2009 +0000

    if CostMetrics says to never duplicate some code, don't unswitch a loop.
    This prevents unswitching from duplicating indbr's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16e7f57318711bda14e78f61c275bd4d9e3e1f6d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 03:40:38 2009 +0000

    constant fold indirectbr(blockaddress(%bb)) -> br label %bb.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03796eeeb9c2c303c1fa1513ce009882e355bddc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 03:25:03 2009 +0000

    improve x86 codegen support for blockaddress.  We now compile
    the testcase into:

    _test1:                                                     ## @test1
    ## BB#0:                                                    ## %entry
    	leaq	L_test1_bb6(%rip), %rax
    	jmpq	*%rax
    L_test1_bb:                                                 ## Address Taken
    LBB1_1:                                                     ## %bb
    	movb	$1, %al
    	ret
    L_test1_bb6:                                                ## Address Taken
    LBB1_2:                                                     ## %bb6
    	movb	$2, %al
    	ret

    Note, it is very very strange that BlockAddressSDNode doesn't carry
    around TargetFlags.  Dan, please fix this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85703 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1a9f7074f6a2b4e681cd895ab32f9e572bcef2e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 03:07:53 2009 +0000

    pull check for return inst out of loop, never inline a callee that contains
    an indirectbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a1444a7e6a2e0e68c72f4aac1f4e638645d9dac
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 03:03:03 2009 +0000

    Fix BlockAddress::replaceUsesOfWithOnConstant to correctly
    maintain the block use count in SubclassData.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26cc8cd188e185295429c72ccda6fb3b5003d4cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 02:46:39 2009 +0000

    implement linker support for BlockAddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 620cead9d0a40e874503c5605952c40186d585f0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Nov 1 01:27:45 2009 +0000

    Revert 85678/85680.  The decision is to stay with the current form of
    indirectbr, thus we don't need "blockaddr(@func, null)".  Eliminate it
    for simplicity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 538da74ec2d9bb494a7704e195515c8be8b5b373
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 31 23:46:45 2009 +0000

    Use cbz and cbnz instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67420bf16a60b1ae36b4d38187b3dd43e73fee51
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 22:57:36 2009 +0000

    vml[as].f32 cause stalls in following advanced SIMD instructions. Avoid using
    them for scalar floating point operations for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5859872920b063601b0acf9b30a8c7ed2872be1b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 22:20:56 2009 +0000

    Consolidate test files

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85696 91177308-0d34-0410-b5e6-96231b3b80d8

commit c08430d9dfcc194964945f33245042562d740760
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 22:16:14 2009 +0000

    Change to use FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85695 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7a7c531a022abcd54f4a15cbf69ad7000fe4b72
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 22:14:17 2009 +0000

    Make tests more explicit about which instructions are expected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c3c4f57135e652ad535cc4bb32cedd98ceb2834
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 22:12:44 2009 +0000

    Grammar tweak to comments

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4790cb4896fbb204ec53b8e170d492e3e2842789
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 31 22:11:15 2009 +0000

    Make sure PRE doesn't split crit edges from indirectbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7306aa658f13e92124c7f3fd0bd6c3dbe7084fa6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 22:10:38 2009 +0000

    Update test to be more explicit about what instruction sequences are expected for each operation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 083a3ef68afd72bf97a4330382bc3e653f47559d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 31 22:04:43 2009 +0000

    llvm::SplitEdge should refuse to split an edge from an indirectbr.
    Fix CodeGenPrepare to not try to split edges from indirectbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85690 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a4ddea811297cd5ab6fef2d4ca9d5b1279be7f0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 21:52:58 2009 +0000

    Update test to be more explicit about what instruction sequences are expected for each operation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85689 91177308-0d34-0410-b5e6-96231b3b80d8

commit f281b470896161c227bf2d1a1be7c1f178b6e46a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 31 21:51:10 2009 +0000

    update the comment above llvm::SplitCriticalEdge, and make
    it abort on IndirectBrInst as describe in the comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85688 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3bddfb18197f4b00b161db0c643e433f79e67e6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 21:42:19 2009 +0000

    Expand 64-bit logical shift right inline

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5480bad7b9ba0a765d937631674f2b65f8eeea1e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 21:00:56 2009 +0000

    Expand 64-bit arithmetic shift right inline

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70337f0e084c54af2348a7a8aee72a2823c0e5b8
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 20:59:09 2009 +0000

    Fix a missing newline in the dwarf output code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57b31659358cd7ae9cd045ec2ce3019b5adc234a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 20:19:03 2009 +0000

    Make -print-machineinstrs more readable.
     - Be consistent when referring to MachineBasicBlocks: BB#0.
     - Be consistent when referring to virtual registers: %reg1024.
     - Be consistent when referring to unknown physical registers: %physreg10.
     - Be consistent when referring to known physical registers: %RAX
     - Be consistent when referring to register 0: %reg0
     - Be consistent when printing alignments: align=16
     - Print jump table contents.
     - Don't print host addresses, in general.
     - and various other cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85682 91177308-0d34-0410-b5e6-96231b3b80d8

commit de4f1504bec844ec60a29d3946ff7257da0c3c50
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 20:17:39 2009 +0000

    Factor out more code into addCommonCodeGenPasses. The JIT wasn't
    previously running CodePlacementOpt. Also print headers before
    each dump in -print-machineinstrs mode, so that it's clear which
    dump is which.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85681 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4200f2c815159e939351d5d447f7f68fb557e600
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 31 20:13:24 2009 +0000

    adjust a couple xforms to work with null bb's in BlockAddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bc5f36e65090bc44026333e2966b720d0747a0d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 31 20:08:37 2009 +0000

    Make blockaddress(@func, null) be valid, and make 'deleting a basic
    block with a blockaddress still referring to it' replace the invalid
    blockaddress with a new blockaddress(@func, null) instead of a
    inttoptr(1).

    This changes the bitcode encoding format, and still needs codegen
    support (this should produce a non-zero value, referring to the entry
    block of the function would also be quite reasonable).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12f2dae2e58e01e256f08d511bb1a8b1d46b6a95
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Oct 31 19:54:06 2009 +0000

    Force triple; darwin's ASM syntax differs from linux's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85676 91177308-0d34-0410-b5e6-96231b3b80d8

commit 998eacce4edb2421d0b40349057d8c30c1585ade
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 19:38:01 2009 +0000

    Expand 64 bit left shift inline rather than using the libcall. For now, this
    is unconditional. Making it still use the libcall when optimizing for size
    would be a good adjustment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55d502f2448942052449602527322a8361508307
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Oct 31 19:22:24 2009 +0000

    Add missing colons for FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85674 91177308-0d34-0410-b5e6-96231b3b80d8

commit dde39bd81cc82e60c13053190247af4b6486845d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 19:06:53 2009 +0000

    Convert to FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 154b234c6da80515738cb79aee89794f05bfa0a5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 31 18:00:10 2009 +0000

    The universal SDKROOT should only be assigned when hosted. Otherwise the
    SDKROOT can refer to the target when we're building for the host.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85672 91177308-0d34-0410-b5e6-96231b3b80d8

commit d56c0cb634aa6812916307ad6f6a72e8589864b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 31 17:48:31 2009 +0000

    add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85671 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80a0f8f856c40fcf82dafc313f76f2e7a64913c5
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 17:33:01 2009 +0000

    Revert r85667. LoopUnroll currently can't call utility functions which
    auto-update the DominatorTree because it doesn't keep the DominatorTree
    current while it works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85670 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0afbe771f831d12dccd7813ea2a5e3bdac391b0b
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 16:16:41 2009 +0000

    Remove redundant code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 508ac4b7e797df75dfbfb2f9cf06a0d94995ac46
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 16:08:00 2009 +0000

    Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into
    MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive,
    and makes it unnecessary for LoopUnroll to have its own copy of this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85667 91177308-0d34-0410-b5e6-96231b3b80d8

commit f893ba349f3ac2b2ea4ec3418567d48301650f42
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 15:04:55 2009 +0000

    Rename forgetLoopBackedgeTakenCount to forgetLoop, because it
    clears out more information than just the stored backedge taken count.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85664 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5f0d710707ce7f9247fa70de5552cb11d1dada7
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:54:17 2009 +0000

    Replace LoopUnrollPass.cpp's custom code-size estimation code using
    the new common CodeMetrics code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85663 91177308-0d34-0410-b5e6-96231b3b80d8

commit 590112e91929037815065feb50868b05e272bbcf
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:46:50 2009 +0000

    Simplify this code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73ec8db1329e8c2aa1df8f131030d84ce0c07e71
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:39:43 2009 +0000

    Remove an unnecessary #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85661 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffd9e3fc97c59c5f477eccb876fc52cb3c492778
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:38:25 2009 +0000

    Update CMakeLists for recent renames.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85660 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe18719fbded699e8901b003f31e25378f63928b
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:37:31 2009 +0000

    Rename UnrollLoop.cpp to LoopUnroll.cpp, and LoopUnroll.cpp to
    LoopUnrollPass.cpp, for consistency with other passes which are
    similarly split.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d54b9847f98e0dfb58e9c7d13af4cb86a5b0812
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:35:41 2009 +0000

    Remove CodeGenLICM. It's largely obsoleted by MachineLICM's new ability
    to unfold loop-invariant loads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85657 91177308-0d34-0410-b5e6-96231b3b80d8

commit fab05d2f984c70bf79e79dc059301bfdafb66378
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:32:25 2009 +0000

    Make ScalarEvolutionAliasAnalysis slightly more aggressive, by making an
    underlying alias call even for non-identified-object values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2cc8e84a06c9a71a03a322deaf30691ccd0d96c0
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:22:52 2009 +0000

    Reapply r85634, with the bug fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c98ce3d0b7bca679abebf6c6e2e9f6de6bbb02e
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:14:04 2009 +0000

    When discarding SrcValue information, discard all of it so that code
    that uses this information knows to behave conservatively.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85654 91177308-0d34-0410-b5e6-96231b3b80d8

commit 509fccf21830e93d117e482fdc5a6b18e183bd3e
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 14:12:53 2009 +0000

    Fix 80-column violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6de661ad137c60e288bd4626f5817e39fc695e51
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Oct 31 09:24:35 2009 +0000

    Fix warning with gcc-4.0 and signed/unsigned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 326d7242e283922daf63e607bbc84e1498f76da7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 31 03:39:36 2009 +0000

    It's safe to remat t2LDRpci; Add PseudoSourceValue to load / store's to enable more machine licm. More changes coming.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85643 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35f8bdcd86c0281f7b5a040e765a665774ef5b22
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 31 01:28:06 2009 +0000

    Revert 85634. It's breaking consumer-typeset (and others).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17d892adad853cc7fea4e64d72e3717903a953cd
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 31 00:15:28 2009 +0000

    Add a target triple so that this test behaves consistently across hosts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61b16fbdaeb7617b779fd0df62b32b40cf68a12c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 23:59:06 2009 +0000

    Add assertion checks here to turn silent miscompiles into aborts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85639 91177308-0d34-0410-b5e6-96231b3b80d8

commit c00047af5603cf63b34c76c740d4a29fd22ff60a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 23:57:47 2009 +0000

    Don't mark registers dead here when processing nodes with MVT::Flag
    results. This works around a problem affecting targets which rely on
    MVT::Flag to handle physical register defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5aaaa52b972e9ef90316ecf9cb5b406dd31650f1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 23:18:27 2009 +0000

    Fix the -mattr line for this test so that it passes on hosts that lack SSSE3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85637 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac97988e5d42a2a96b08c49dffa61bbe64119db8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 23:16:10 2009 +0000

    Add a testcase for the recent duplicate PHI elimination changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08cb4f2aff78d2bb1f44af7616a9117437e1eeb3
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 23:15:43 2009 +0000

    Add a comment about a missed opportunity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14af0e5b2284045a70c71231a4258862e911219d
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 23:15:21 2009 +0000

    Optimize around the fact that pred_iterator is slow: instead of sorting
    PHI operands by the predecessor order, sort them by the order used by the
    first PHI in the block. This is still suffucient to expose duplicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13f60e83d6add4d7159c322a7ccc1c36c26a115b
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri Oct 30 22:55:57 2009 +0000

    Updates to the ARM target assembler for llvm-mc per review comments from
    Daniel Dunbar.
    - Reordered the fields in the ARMOperand Mem struct to make the struct smaller.
    Making bool's into 1 bit fields and put the MCExpr* fields adjacent to each
    other.
    - Fixed a number of places in ARMAsmParser.cpp so they have doxygen comments.
    - Change the name of ARMAsmParser::ParseRegister() to MaybeParseRegister and
    added the bool ParseWriteBack parameter.
    - Changed ARMAsmParser::ParseMemory() to call MaybeParseRegister().
    - Added ARMAsmParser::ParseMemoryOffsetReg to factor out parsing the offset of a
    memory operand.  And use it for both parsing both preindexed and post indexing
    addressing forms in ARMAsmParser::ParseMemory.
    - Changed the first argument to ParseShift() to a reference.
    - Changed ParseShift() to check for Rrx first and return to reduce nesting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85632 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17c45db8ddc97c08cb46ad669677bb0c6459f363
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 30 22:52:47 2009 +0000

    If string field is empty then return NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85630 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec080e7b221889a3b1b2616a19e4019295509627
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 30 22:39:36 2009 +0000

    if basic blocks are destroyed while there are *just* BlockAddress' hanging
    around, then zap them.  This is analogous to dangling constantexprs hanging
    off functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 885be9130b4d9bfe1274b018e8b5c6aa667eb12c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 22:39:04 2009 +0000

    Teach SimplifyCFG how to eliminate duplicate PHI nodes within a block.
    This reduces codesize on a variety of codes by 1-2% on x86-64. It also
    helps clean up after SSAUpdater.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fb64e96c8cb775c57cea53171ce0525da9249c5
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 30 22:33:29 2009 +0000

    make hasAddressTaken() constant time by storing a refcount in BB's subclass data.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4381e3bc06cb247d7d57658b2c6134c24021d316
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 30 22:22:46 2009 +0000

    Add a note about Robert Muth's alternate jump table implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 012d03d39d3cbb8e195b7a9ce50fc9ef6e474ec0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 22:22:22 2009 +0000

    Sort the incoming values in PHI nodes to match the predecessor order.
    This helps expose duplicate PHIs, which will make it easier for them
    to be eliminated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85623 91177308-0d34-0410-b5e6-96231b3b80d8

commit f011658a243d918c31627fddaf7ae351f2f19eb6
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 22:18:41 2009 +0000

    Fix MachineLICM to use the correct virtual register class when
    unfolding loads for hoisting.  getOpcodeAfterMemoryUnfold returns the
    opcode of the original operation without the load, not the load
    itself, MachineLICM needs to know the operand index in order to get
    the correct register class. Extend getOpcodeAfterMemoryUnfold to
    return this information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68e38afb4b538f372b34f6321b020870215f3c26
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 30 22:15:48 2009 +0000

    it isn't valid to take the address of the entry block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8bda3570a26c8c3e46a95629adbf495b1144a633
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 30 22:09:30 2009 +0000

    If a type is derived from a derived type then calculate size appropriately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85619 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce7da4da5b7e55de4dc8dd381391859a2bfac309
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 30 21:33:05 2009 +0000

    Build in ARM mode explicitly when on ARM Darwin

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54f775ff61c8a018900f30560e5de9c419d2cb03
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 30 21:13:59 2009 +0000

    Add missing substitution for %llvmgcc_only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85614 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfb983d31495c0c21178f0ea493b149a579b62d2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 30 20:54:59 2009 +0000

    Allow cross target build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d20d17a4707634b1973053699fa027c313c8220
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 30 20:13:25 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85610 91177308-0d34-0410-b5e6-96231b3b80d8

commit f036e55b68d46d66e8ee5251861c7331517fba2d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 30 20:12:24 2009 +0000

    Add option to createGVNPass to disable PRE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a178321e28af8328c1627de479df1064df856b6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 30 20:03:40 2009 +0000

    I forgot to commit this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85608 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6d77da9dfee79811ba7d82f26adda9b5ae20922
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 30 19:53:38 2009 +0000

    When cross-building, the CFLAGS and CXXFLAGS are for the target, and don't
    apply to the build tools. If we want to allow build tool flags input, we
    should have separate inputs (BUILD_CFLAGS and BUILD_CXXFLAGS, perhaps).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45795a3646741fea0da9973cad9e4d80e0cfc9a6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 30 19:52:05 2009 +0000

    Remove extraneous comment line

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85606 91177308-0d34-0410-b5e6-96231b3b80d8

commit eebeb09c84a0685a186a5539ee01ac7e8c4315d7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 30 19:51:32 2009 +0000

    update name check for Apple style builds to be more permissive

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56c480af03aad91c507eed011fd3977e81225e70
Author: Lang Hames <lhames@gmail.com>
Date:   Fri Oct 30 18:12:09 2009 +0000

    Stop the iterator in ValueLiveAt from potentially running off the end of the interval.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85599 91177308-0d34-0410-b5e6-96231b3b80d8

commit eac0e8f344245ea3d5f7d78eac4033e8c64f18ab
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Fri Oct 30 14:33:14 2009 +0000

    This fixes functions like

    void f (int a1, int a2, int a3, int a4, int a5,...)

    In ARMTargetLowering::LowerFormalArguments if the function has 4 or
    more regular arguments we used to set VarArgsFrameIndex using an
    offset of 0, which is only correct if the function has exactly 4
    regular arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85590 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf1bacb9000591a608241f87f1e231ae5165156e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Fri Oct 30 11:42:08 2009 +0000

    CMake: install .def files from source `include/llvm' directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85587 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9eeeee14b7945c133fdaed19ce62be2a18b0457
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 30 07:23:49 2009 +0000

    Rather than having llvm-gcc changing the meaning of OptimizeSize, just make sure loop unswitch is conservative when optimization level is < 3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85581 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f743387c77dd5cdd20a6441e5da8271b52ca233
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 30 05:45:42 2009 +0000

    Add ARM codegen for indirect branches.
    clang/test/CodeGen/indirect-goto.c runs! (unoptimized)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85577 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7a4db28ffff0b028558ab1dc92619f2804b9366
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 02:45:10 2009 +0000

    Most stack straces don't need 3 digits worth of levels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21d49aa0bac191a9c3dc3b7a6fba8805209d1dff
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 02:13:27 2009 +0000

    Don't delete blocks which have their address taken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f38bef9785b0d126ffac7a6dbe9050daff1a786
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 02:08:26 2009 +0000

    Mention if a block has its address taken in debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85571 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4b367821511e04319a7ac0c59bb8d8f11be3345
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 02:01:10 2009 +0000

    Simplify this code and avoid an extra space character in the output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1995be14a415ae124e42dec505a9c5fa6f83a8d1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 01:45:18 2009 +0000

    Add support for BlockAddress static initializers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85562 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8e273feafff0c64aac1587298390f0a91f147af
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 01:38:20 2009 +0000

    Add a FIXME comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85559 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65e3b3e189325686c5cb6b38e9cf6446d5fb9952
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 01:34:35 2009 +0000

    Add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85558 91177308-0d34-0410-b5e6-96231b3b80d8

commit 064403ea743b1457fbc71477feeb1b2f8c5cb3b1
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 01:28:02 2009 +0000

    Initial x86 support for BlockAddresses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85557 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9105751c7ce64082e5769142e14b0c65cd06bb0a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 01:27:03 2009 +0000

    Initial target-independent CodeGen support for BlockAddresses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99ffec19f61ce7ff2a52a524bfa92207eb680e7c
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 30 00:39:25 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85551 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35264272bed55d2ec0b75079b25a11d9af8f74b5
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 00:20:08 2009 +0000

    Add a BlockAddress MachineOperand kind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85549 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed56bc7692cc05f851ce4f9331e1af5299b7c97c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 00:17:14 2009 +0000

    Add svn:ignore properties.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85548 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07188d85626733b44f77fbee4b1d23e8faa24624
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 30 00:14:33 2009 +0000

    Remove a redundant copy constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85547 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebb14ff86fe1abf66d63985844fed583fb2044a5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 30 00:08:40 2009 +0000

    Dial back the realignment a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85546 91177308-0d34-0410-b5e6-96231b3b80d8

commit fffff4408557f721ab7ff680bcdcca2c2534aaae
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 29 23:30:59 2009 +0000

    Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85537 91177308-0d34-0410-b5e6-96231b3b80d8

commit 438d4105eeb47c5bc1c5e5464b47a3df46ff2bbd
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 29 23:30:06 2009 +0000

    Remove some unnecessary spaces in debug output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85536 91177308-0d34-0410-b5e6-96231b3b80d8

commit b65e3acb4a07cbc809bc22fbc67675c7233d0f79
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 29 22:30:23 2009 +0000

    Move some code from being emitted as boilerplate duplicated in every
    *ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85530 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2471f2abaa8edb55f5d8252cab8fe08ef09618f
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 29 19:17:04 2009 +0000

    Fix a couple of bugs in aggressive anti-dep breaking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b7a76d7d57c0140e80d5e3f74d929fc909aa8b5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 29 18:40:06 2009 +0000

    Refactor complicated predicate into a separate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85519 91177308-0d34-0410-b5e6-96231b3b80d8

commit befd0170cc6b611f1671310557aaba84feb18a2d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 29 18:20:34 2009 +0000

    First bitcase use may not lead to a dbg.declare intrinsic. Iterate uses until one find's dbg.declare intrinsic.
    Patch by Sunae Seo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30afe01e7ef78e1d2c01c924161ebe53bf02a3de
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 29 18:10:34 2009 +0000

    Rename usesCustomDAGSchedInserter to usesCustomInserter, and update a
    bunch of associated comments, because it doesn't have anything to do
    with DAGs or scheduling. This is another step in decoupling MachineInstr
    emitting from scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e0e60ac697c23819629d0fb2cc8a04bcfe1cf75
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 29 17:47:20 2009 +0000

    Refactor the code for unfolding a load into a separate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c91dd9cb7e0acb0b92309cbf8b3c75a469ff18b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Oct 29 17:39:46 2009 +0000

    Reapply r85338.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85514 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbd28a3a3b8657faad8b2fdbb2d505d63e229121
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Oct 29 12:55:32 2009 +0000

    Fix MSVC build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85505 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7f1f1053add0239195844f748833c58565c569a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Oct 29 07:35:15 2009 +0000

    Apply some cleanups. No functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c633c5a850ed50e123bd975990e59d0e60d4614
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 05:53:32 2009 +0000

    add sanity check for indbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f2bbd66a9e049f60c8187a201f18d0df80c2e12
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 05:51:50 2009 +0000

    just for the hell of it, allow globalopt to statically evaluate
    static constructors with indirect gotos :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85495 91177308-0d34-0410-b5e6-96231b3b80d8

commit bfa6b8573272eb5396dce856f5259d63f7d5fc48
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 05:26:09 2009 +0000

    add interpreter support for indirect goto / blockaddress.  The interpreter
    now correctly runs clang's test/CodeGen/indirect-goto.c.  The JIT will abort
    on it until someone feels compelled to implement this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 936e59eb5b9d2d5648249ab6c7b14619ae0662e2
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Thu Oct 29 05:07:14 2009 +0000

    add newline to make cl.exe happy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85483 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfb73b384ae5f97a4796fc91602d50a474c1e1c7
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Thu Oct 29 04:41:24 2009 +0000

    fix 80-col.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85480 91177308-0d34-0410-b5e6-96231b3b80d8

commit c63a779b48206fdcef692203002b990609f5734f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 04:25:46 2009 +0000

    greatly improve the LLVM IR bitcode encoding documentation,
    patch by Peter Housel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29c4d45951c300e27374dabc7470b841a2fcd37a
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Thu Oct 29 03:43:06 2009 +0000

    Explicitly convert to double to suppress Visual C++ 2008 build error C2668 pow is ambiguous call to overloaded function

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9823cc9df2fbd6e8bd106e223718996f0a68a1d2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Oct 29 02:41:21 2009 +0000

    To get more thorough testing from llc-beta nightly runs, do dynamic stack
    realignment regardless of whether it's strictly necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85476 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ba150df4bd9907b5820fb1d805aa8e4e6a0a0b0
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Oct 29 02:33:47 2009 +0000

    When the function is doing dynamic stack realignment, the spill slot will be
    indexed via the stack pointer, even if a frame pointer is present. Update the
    heuristic to place it nearest the stack pointer in that case, rather than
    nearest the frame pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85474 91177308-0d34-0410-b5e6-96231b3b80d8

commit 212f9a9d323087354f9fcba897c66db5b517eba9
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Oct 29 02:04:53 2009 +0000

    Sorry to break the build.
    I was trying to check the WIP file to some local repository, but ended up
    checking in the llvm repository.  Oops!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85470 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8805c02dcf8c349967529d34add7641dc2f261f
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Thu Oct 29 01:45:07 2009 +0000

    Minor tweak to forgo the the curly braces for most case blocks, except when
    declaring local variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85467 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff1a8e5764e4f6a8c471e432a400858e849923b2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 01:21:20 2009 +0000

    teach various passes about blockaddress.  We no longer
    crash on any clang tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12d5a3225f1a26113673727170f9552622525325
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Oct 29 01:15:40 2009 +0000

    When there is a 2-instruction spill sequence, record
    the second (store) instruction in SpillSlotToUsesMap
    consistently.  I don't think this matters functionally,
    but it's cleaner and Evan wants it this way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85463 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef486b10571f71e53fe3281aec3abdb3446c5245
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Oct 29 00:37:35 2009 +0000

    Don't put in these EH changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85460 91177308-0d34-0410-b5e6-96231b3b80d8

commit dff406469313119ba79883ea6c3b44e1c0bc5740
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Oct 29 00:34:30 2009 +0000

    A switch-on-string-literal construct that is a nice alternative to
    cascading "ifs" of strcmps/memcmps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52efc3f5167aeb90927b75fc363b999a0fcd8f80
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 00:31:02 2009 +0000

    teach ValueMapper about BlockAddress', making bugpoint a lot more useful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15513ab5a548a8e64be4c2f7968c9ae6bd8a1418
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 29 00:28:30 2009 +0000

    unindent massive blocks, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6577d404c19a0a80b13e358dd72b0c1b022b06c1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Oct 29 00:22:16 2009 +0000

    Reverting r85338 for now. It's causing a bootstrap failure on PPC darwin9.

    --- Reverse-merging r85338 into '.':
    U    lib/CodeGen/SimpleRegisterCoalescing.cpp
    U    lib/CodeGen/SimpleRegisterCoalescing.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41335ea37656dcfa81b37aff1c407df501884e6e
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 29 00:14:44 2009 +0000

    Add indirectbr and blockaddress to the vim syntax highlighting file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85451 91177308-0d34-0410-b5e6-96231b3b80d8

commit d50a560f876bc526b57305c5ec1b3478f8cb97b3
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 29 00:09:08 2009 +0000

    Add a hasAddressTaken for BasicBlock.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30f4c269dd65e2abaaf718261410fd7c768dfc86
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 23:25:00 2009 +0000

    add IRBuilder support for IndirectBr

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85445 91177308-0d34-0410-b5e6-96231b3b80d8

commit e84c212b3cf2616caf6284d522b5fccdd95cbc8e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 28 22:10:20 2009 +0000

    Reimplement BranchFolding change to avoid tail merging for a 1 instruction
    common tail, except when the OptimizeForSize function attribute is present.
    Radar 7338114.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85441 91177308-0d34-0410-b5e6-96231b3b80d8

commit eaa6891fe4fe26bc3a8842ed01be52746a752393
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Oct 28 21:56:18 2009 +0000

    When we generate spill code, then decide we don't need
    to spill after all, we weren't handling 2-instruction
    spill sequences correctly (PPC Altivec).  We need to
    remove the store in this case.  Removing the other
    instruction(s) would be goodness but is not needed for
    correctness, and isn't done here.  7331562.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 220daf6b5c39b425ef06192ce461538f29efabd6
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 28 21:32:16 2009 +0000

    Make sure we return the right sized type here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93ab5617a1e187a411418c1ea38b312b6aacf850
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 28 20:46:46 2009 +0000

    Revert r85346 change to control tail merging by CodeGenOpt::Level.
    I'm going to redo this using the OptimizeForSize function attribute.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d632b6c0cc62539b5316a2861f247515d9c43a1
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Oct 28 20:18:55 2009 +0000

    Extend getMallocArraySize() to determine the array size if the malloc argument is:
    ArraySize * ElementSize
    ElementSize * ArraySize
    ArraySize << log2(ElementSize)
    ElementSize << log2(ArraySize)

    Refactor isArrayMallocHelper and delete isSafeToGetMallocArraySize, so that there is only 1 copy of the malloc array determining logic.
    Update users of getMallocArraySize() to not bother calling isArrayMalloc() as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 071d2cfe3a5a2c1723a41b00b4cb9b831e46bf81
Author: Viktor Kutuzov <vkutuzov@accesssoftek.com>
Date:   Wed Oct 28 18:55:55 2009 +0000

    Fix to pass options from Gold plugin to LTO codegen

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5220b2df6b1a39fbfae239f56acc10e6d8c2915c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Oct 28 18:37:31 2009 +0000

    Teach cmake that mk[sd]temp is defined in stdlib.h on some systems.
    This fixes parallel build with clang on glibc platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a8676e226cc62766c4638cb3dcd128f02e9d128
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Oct 28 18:29:54 2009 +0000

    Make AntiDepReg.h internal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85412 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea6986525fadfd6488bc28e4ef99004d2b2aa519
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 28 18:26:41 2009 +0000

    Add a Thumb BRIND pattern.  Change the ARM BRIND assembly to separate the
    opcode and operand with a tab.  Check for these instructions in the usual
    places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 116b72c4dac37340eff42e02af6e6a0b60252578
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 28 18:19:56 2009 +0000

    fconsts and fconstd are obviously re-materializable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85410 91177308-0d34-0410-b5e6-96231b3b80d8

commit b666f8884f79e76357655ae65a0395cc72d06400
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 28 17:33:28 2009 +0000

    Cleanup now that frame index scavenging via post-pass is working for ARM and Thumb2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85406 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8c44710c05973817296df4b1800105768d7c2d1
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 28 16:51:52 2009 +0000

    llvm.dbg.global_variables do not exist anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 337ba4f1060c186398363a037327b85fb8b4e1d1
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 15:32:19 2009 +0000

    add a new 'SetCurrentDebugType' API (requested by Andrew Haley for JIT
    stuff) to programmatically control the current debug flavor.  While
    I'm at it, doxygenate Debug.h and clean it up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85395 91177308-0d34-0410-b5e6-96231b3b80d8

commit 927dcecba16c04d82b567cbe00479256465bd5c2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 15:28:02 2009 +0000

    Don't call SDNode::isPredecessorOf when it isn't necessary. If the load's
    chains have no users, they can't be predecessors of the condition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85394 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92ebb1fa248a671b76301809137a445f7e9dbb9c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 15:23:36 2009 +0000

    Simplify this code: if the unfolded load can't be hoisted, just delete
    the new instructions and leave the old one in place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85393 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9f7a94e94b86030d10671cd6fe07b8c175785b5
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Oct 28 15:04:53 2009 +0000

    No newline at end of file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1595d6896a6d0e096c281b58e691b2c520f8bd92
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Oct 28 13:29:18 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85389 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2c7314bc788f2af8bc0016d44129a63164401ac
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Oct 28 13:14:50 2009 +0000

    use metavariable <result> instead of SSA name %result for consistency

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85388 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0ea767d44bfb0c5a7f2f76552f00509885890cd
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Oct 28 13:05:07 2009 +0000

    ooops, SSA name should not be part of the link

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 463c934daf5a4d57e798a65c145d8952f9115de3
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Oct 28 09:21:30 2009 +0000

    advertise new syntax for unnamed instructions
    and eliminate confusing double-use of SSA names
    (work in progress)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85385 91177308-0d34-0410-b5e6-96231b3b80d8

commit c07861ad19e211b9375051ea2e728b7db6ec5029
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Oct 28 07:05:35 2009 +0000

    Treat lifetime begin/end markers as allocations/frees respectively for the
    purposes for GVN/DSE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43d273db094c46eefceb6a27748c515aafdee7aa
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Oct 28 07:03:15 2009 +0000

    Add ABCD, a generalized implementation of the Elimination of Array Bounds
    Checks on Demand algorithm which looks at arbitrary branches instead of loop
    iterations. This is GSoC work by Andre Tavares with only editorial changes
    applied!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85382 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa281b8ec7167ba67ddcc8d441f6ff1685c83998
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 28 06:55:03 2009 +0000

    Give ARMISD::EH_SJLJ_LONGJMP and EH_SJLJ_SETJMP names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85381 91177308-0d34-0410-b5e6-96231b3b80d8

commit e21ca59adea038a61199913e6dbce8621516040c
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Oct 28 06:30:52 2009 +0000

    Be more careful about invariance reasoning on "store" queries.  Stores still need
    to depend on Ref and ModRef calls within the invariant region.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85380 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06cd2076d346cfa4aaf012be32eb380b2f4205e9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 28 06:30:34 2009 +0000

    X86 palignr intrinsics immediate field is in bits. ISel must transform it into bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85379 91177308-0d34-0410-b5e6-96231b3b80d8

commit a44701c008b2c54554c42aa0b46b53ceb0a8719f
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Oct 28 06:18:42 2009 +0000

    Add trivial support for the invariance intrinsics to memdep.  This logic is
    purely local for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85378 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bd1d9e2f90724ddeb7f095ada51cc276d14125f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 05:53:48 2009 +0000

    add bitcode reader support for blockaddress.  We can now fully
    round trip blockaddress through .ll and .bc files, so add a testcase.

    There are still a bunch of places in the optimizer and other places
    that need to be updated to work with these constructs, but at least
    the basics are in now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85377 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5693a28a5d34f8adeb65c0e4b67c4c811962466
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 05:24:40 2009 +0000

    bitcode writer support for blockaddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67abb53946800619c549c67053d6f344d664ff27
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 05:14:34 2009 +0000

    Previously, all operands to Constant were themselves constant.
    In the new world order, BlockAddress can have a BasicBlock operand.
    This doesn't permute much, because if you have a ConstantExpr (or
    anything more specific than Constant) we still know the operand has
    to be a Constant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85375 91177308-0d34-0410-b5e6-96231b3b80d8

commit d22ec1cce22c5be46a150666dd5fc5da06c5ce64
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 04:47:06 2009 +0000

    doc bug spotted by apinski

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85372 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4fa8f3294b576c0406061df2778cdc1983693f2c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 04:12:16 2009 +0000

    'static const  void *X = &&y' can only be put in the
    readonly section if a reference to the containing function
    is valid in the readonly section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85370 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed7cc32565a72f3a40d03cfc7e313515bca7b9e2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 03:44:30 2009 +0000

    Rewrite SelectionDAG::isPredecessorOf to be iterative instead of
    recursive to avoid consuming extraordinary amounts of stack space
    when processing tall graphs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bb63f1658aadcc4c7a414e0794d7e75a13fbd6b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 03:39:23 2009 +0000

    full asmparser support for blockaddress.  We can now do:
    $ llvm-as foo.ll -d -disable-output

    which reads and prints the .ll file.  BC encoding is the
    next project.  Testcase will go in once that works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85368 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcbe37f591793786a110d516ed076a7a256561d9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 03:38:12 2009 +0000

    asmprinter support for BlockAddress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61c4ffe7c0ff88d7f81b2ac7b96382d984ccb5fb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 03:37:35 2009 +0000

    when we tear down a module, we need to be careful to
    zap BlockAddress values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85366 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1e56d94ca83f00c5370cfb0b660e800356fbb37
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 03:36:44 2009 +0000

    basic blocks can now have non-instruction users.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6efe35213b3fca4fd9df6a35848aadf2e31923c5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 03:21:57 2009 +0000

    Teach MachineLICM to unfold loads from constant memory from
    otherwise unhoistable instructions in order to allow the loads
    to be hoisted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c7a3ff2b1b7be0f3a3f5a3ca0b01a182b0d2fba
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 28 01:44:26 2009 +0000

    Use fconsts and fconstd to materialize small fp constants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85362 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0e6778c5f1e124bc15fceeca0c875614a082c79
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 28 01:43:28 2009 +0000

    Add a second ValueType argument to isFPImmLegal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48c10d1e1fdd6f7d2f1ce5a9e2380b281dbe3006
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 01:13:53 2009 +0000

    Mark dead physregdefs dead immediately. This helps MachineSink and
    MachineLICM and other things which run before LiveVariables is run.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 114924db349324f455170178d8b1a8d34da8f4c6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 01:12:16 2009 +0000

    Allow constants of different types to share constant pool entries
    if they have compatible encodings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85359 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae9824d9490ac7373fa2cddfe0f65bc8426249eb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 28 01:08:17 2009 +0000

    Remove getIEEEFloatParts and getIEEEDoubleParts. They are not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85358 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd3ac5568dcb981fe9539706bd97f427bb36ff15
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 28 00:55:57 2009 +0000

    Update SystemZ to use PSW following the way x86 uses EFLAGS. Besides
    eliminating a use of MVT::Flag, this is needed for an upcoming CodeGen
    change.

    This unfortunately requires SystemZ to switch to the list-burr
    scheduler, in order to handle the physreg defs properly, however
    that's what LLVM has available at this time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85357 91177308-0d34-0410-b5e6-96231b3b80d8

commit f061fc84a89aa961b3f5e25dce93fa5ac033c090
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 28 00:37:03 2009 +0000

    Add an indirect branch pattern for ARM.  Testcase will be coming soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 523521538fe159fd1bc104a6dddf66432d8c4ef1
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Oct 28 00:28:31 2009 +0000

    Fix the ModuleDeletion test on PPC and ARM.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c3800f0172e2fdc0b3b2e78dbaf89b150f4e04f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 00:19:10 2009 +0000

    rename indbr -> indirectbr to appease the residents of #llvm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 746f7fd8f0fa1d3d83dc28ddfc3be561dcf09deb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 28 00:01:44 2009 +0000

    IR support for the new BlockAddress constant kind.  This is
    untested and there is no way to use it, next up: doing battle
    with asmparser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85349 91177308-0d34-0410-b5e6-96231b3b80d8

commit afe63293c930f39f6f6d4ac6e76da0d3546dfca4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 27 23:49:38 2009 +0000

    Record CodeGen optimization level in the BranchFolding pass so that we can
    use it to control tail merging when there is a tradeoff between performance
    and code size.  When there is only 1 instruction in the common tail, we have
    been merging.  That can be good for code size but is a definite loss for
    performance.  Now we will avoid tail merging in that case when the
    optimization level is "Aggressive", i.e., "-O3".  Radar 7338114.

    Since the IfConversion pass invokes BranchFolding, it too needs to know
    the optimization level.  Note that I removed the RegisterPass instantiation
    for IfConversion because it required a default constructor.  If someone
    wants to keep that for some reason, we can add a default constructor with
    a hard-wired optimization level.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 043667bb0ce28faf90b72737e91d23b0e4817711
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 27 23:45:55 2009 +0000

    Rename lib/VMCore/ConstantsContext.h:ValueMap<> to ConstantUniqueMap<> to avoid
    colliding with llvm/ADT/ValueMap.h:ValueMap<>.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85344 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9e2226cbaa0b634728b3a7a47acd1c11440fccc
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Oct 27 23:30:07 2009 +0000

    Add new note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 472ebdd60175b884d8ea2f1e77a73bcbe5a9136c
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Oct 27 23:16:58 2009 +0000

    Fixed a bug in the coalescer where intervals were occasionally merged despite a real interference. This fixes rdar://problem/7157961.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85338 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe8db6e76137272e242fc806826b15aaa934845b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 27 22:52:29 2009 +0000

    Enable virtual register based frame index scavenging by default for ARM & T2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85335 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53353c479dd5642be973d6d0148ed0723ab27530
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Oct 27 22:48:31 2009 +0000

    Move and clarify note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85334 91177308-0d34-0410-b5e6-96231b3b80d8

commit b004ed5cee7a2d006860c017249c16d6331c0758
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 27 22:45:39 2009 +0000

    Infrastructure for dynamic stack realignment on ARM. For now, this is off by
    default behind a command line option. This will enable better performance for
    vectors on NEON enabled processors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85333 91177308-0d34-0410-b5e6-96231b3b80d8

commit 030a21f58d0164737d9aadb314dc15dd279f7b1f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Oct 27 22:43:24 2009 +0000

    Note corrected.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69b37c7dd9ca765240fcb7f5f51c4ada13b8524c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Oct 27 22:40:45 2009 +0000

    Modify note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c4e2231017c5ff51cee8c7de384e7d105883287
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 27 22:39:42 2009 +0000

    Revert the API changes from r85295 to make it easier for people to build
    against both 2.6 and HEAD.  The default is still changed to eager jitting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85330 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85196b544a2832e3da5024dd2b9559f0791a2f86
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Oct 27 22:34:43 2009 +0000

    Add a note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85329 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12236e15007f962c3f9ac9496e10adf86f5bd3e4
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 27 22:16:29 2009 +0000

    Factor out redundancy from clone() implementations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85327 91177308-0d34-0410-b5e6-96231b3b80d8

commit b34bcfc17c7c84a3b9be34a99b40f7596c2174cd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 27 22:10:34 2009 +0000

    Update the MachineBasicBlock CFG for an indirect branch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85325 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b87f2ae510bb5298482aba49c63c49840b0db7d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 27 21:56:26 2009 +0000

    Add CodeGen support for indirect branches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85323 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd9ff122e342300ebbd082b41439c28097d3f632
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:52:54 2009 +0000

    typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24f2e859707fc58040b9d50759a864a6e35eac39
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:49:40 2009 +0000

    you can't take the address of the entry block of a function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bae7b3ef34de55a4a7ae3f88688526c05891509
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:44:20 2009 +0000

    improvements from gabor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85320 91177308-0d34-0410-b5e6-96231b3b80d8

commit 117d16b8a7a9c2b631ac36affb6a9dcb33ffcbf7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:43:39 2009 +0000

    make the build build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64dd7b4a31b939ecea7f037a997d54a92beeadcd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 27 21:35:42 2009 +0000

    Add new APFloat methods that return sign, exp, and mantissa of ieee float and double values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41fc6ad3dffe415decc911b39388fa20cff73a23
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:27:42 2009 +0000

    Random updates to passes for indbr, I need blockaddress before I can do much more.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 405a71abced5cc697bff587436dea1bb2a6a18b1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:24:48 2009 +0000

    cppbackend support for indbr

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85312 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20e88f5303d60d9105a80e24fb70ecc0ecd80856
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:21:06 2009 +0000

    CBE support for indbr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29246b5e51060717e19c0b092ddad5d07237c9be
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:19:13 2009 +0000

    fix things pointed out by Dan!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85310 91177308-0d34-0410-b5e6-96231b3b80d8

commit d07c83760d225f8bfe864939ce7d8d3fbdde1ea4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 21:01:34 2009 +0000

    document the forthcoming blockaddress constant.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85306 91177308-0d34-0410-b5e6-96231b3b80d8

commit d55c2acab4373802918c5c83eb9fcc7fd0f1349a
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Oct 27 20:51:49 2009 +0000

    Similar to r85280, do not clear the "S" bit for RSBri and RSBrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85299 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5278f228d564351a3f0df98a74fad48a892debc
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 27 20:47:17 2009 +0000

    Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid.
    Use this opportunity to use ValueMap instead of DenseMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85298 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b4d1db83d22c184d42fed3e4863fe6253476a01
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Oct 27 20:45:15 2009 +0000

    Set condition code bits of BL and BLr9 to 0b1110 (ALways) to distinguish between
    BL_pred and BLr9_pred.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85297 91177308-0d34-0410-b5e6-96231b3b80d8

commit dab00f86c61d0de362877671ffb2c835e59b84a1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 20:42:54 2009 +0000

    don't use stdio

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f6ac2f5671ce45a9690e24bd753770111611166
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 27 20:30:28 2009 +0000

    Change the JIT to compile eagerly by default as agreed in
    http://llvm.org/PR5184, and beef up the comments to describe what both options
    do and the risks of lazy compilation in the presence of threads.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e6c6ebac9fde4ee5c0435affc89ae6f183c011c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 20:27:24 2009 +0000

    fix pasto pointed out by Rafael

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 932c62083ecc46064b3f9209004b359bc451f215
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Oct 27 20:12:38 2009 +0000

    Add radar number.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 972ec94278d281d85525a4a597274d2fdca614a3
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Oct 27 20:06:05 2009 +0000

    Testcase for llvm-gcc patch 85284.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85287 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28f4d2fb94b9057d8daba2128867fde276a37d1b
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Oct 27 20:05:49 2009 +0000

    Rename MallocFreeHelper as MemoryBuiltins

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8

commit 408a5e530b3dd17cc789c538a2f3020501a13a59
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Oct 27 20:04:22 2009 +0000

    CMake: Install .inc files too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85285 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9693e60eef5eaf6c45a498d2a7a5d05ca85b02e
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Oct 27 19:57:29 2009 +0000

    Rather than excluding quite some things, and still installing
    CMakeLists.txt, Makefiles, ... it's better to whitelist what we really
    want to install.

    Patch by Ingmar Vanhassel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6337b551d01bc8239f0bd6440ac82bce2b313f4c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 27 19:56:55 2009 +0000

    Do away with addLegalFPImmediate. Add a target hook isFPImmLegal which returns true if the fp immediate can be natively codegened by target.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66eeb81868889994314fc49be900868351d6f1a8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 27 19:52:03 2009 +0000

    Do not clear the "S" bit for RSCri and RSCrs.  They inherit from the "sI"
    instruction format that already takes care of setting this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85280 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0787286429c486909bd3b01b5dfedacbc2d7394
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 19:13:16 2009 +0000

    add enough support for indirect branch for the feature test to pass
    (assembler,asmprinter, bc reader+writer) and document it.  Codegen
    currently aborts on it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bf7944abd6a4205d09769377fbcd9240ab416d8
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Oct 27 18:44:24 2009 +0000

    Explicitly specify 0b00, i.e, zero rotation, as the rotate filed (Inst{11-10})
    for the r/rr fragment of the multiclass AI_unary_rrot/AI_bin_rrot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29cbb4c46ac9a5267d9428959c737c381a5e85e6
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Oct 27 17:59:03 2009 +0000

    Add missing testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85266 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68c363b54790d793a5186df06de8853a2ea5e549
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 17:40:49 2009 +0000

    change of mind :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85258 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7f42de3ef7ce28ad6c2fa21125c6a9fa39f6024
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Tue Oct 27 17:40:24 2009 +0000

    Remove unnecessary gotos to fall-thru successors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85257 91177308-0d34-0410-b5e6-96231b3b80d8

commit b320a29fd07bb55461d20676e31cc9314f14001e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 17:40:19 2009 +0000

    rename test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5663974f0438575c0e45d0bcb5ce0391eb5a5f96
Author: Johnny Chen <johnny.chen@apple.com>
Date:   Tue Oct 27 17:25:15 2009 +0000

    Test commit.  Added '.' to the comment line.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85c4ec20b82b5a2702e618922d549222366907dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 17:08:31 2009 +0000

    Type.h doesn't need to #include LLVMContext.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85254 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d15db7cb3b93b99d16ff5d7c0b87ceb0bf02f21
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 17:02:08 2009 +0000

    pseudosourcevalue is also still using getGlobalContext(), so it isn't
    thread safe either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85253 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fd81130b8b6daf7f47f808d2134732b2f9ce116
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 17:01:03 2009 +0000

    apparently the X86 JIT isn't fully contextized, it is still using getGlobalContext() :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85252 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8a5f3002aa72cd783cb7f4d976ddfb9da964018
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Oct 27 16:56:58 2009 +0000

    Fix reversed logic spotted by Owen Anderson.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96b4e7d1e7d37ecc040b42a836a3d0b7884e839f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 16:53:54 2009 +0000

    trim another #include

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 622f3fc17dbcc235ef8f07f9da803eb0fe9c35bc
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 16:49:53 2009 +0000

    remove an unneeded #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8af43fbca65148054b8b7d218c54ad85c8c4d6aa
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Tue Oct 27 14:54:46 2009 +0000

    Convert Analysis tests to FileCheck in regards to PR5307.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f419e24e13ef1e9090c6e96b18da9bb45338ed1
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Oct 27 14:09:44 2009 +0000

    Correctly align double arguments in the stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d91e27702ced60731f53a71cd0052e30c9cca77
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Oct 27 09:02:49 2009 +0000

    80-col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56724a6b62e4bd778a91d1a44eb9f521fd6c8a78
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 27 06:31:02 2009 +0000

    Fix Thumb2 failures by converting them to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85210 91177308-0d34-0410-b5e6-96231b3b80d8

commit e811eeb605587038550284216cec691a85754793
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 27 06:16:45 2009 +0000

    Fix the rest of the ARM failures by converting them to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85208 91177308-0d34-0410-b5e6-96231b3b80d8

commit f59fc08fa71a5648f712d7d178a650c817008408
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 27 05:50:28 2009 +0000

    Fix some more failures by converting to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38dfe1cae81f30a9efe49e16700632ffd2987dec
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 05:39:41 2009 +0000

    Fix a pretty serious misfeature of the inliner: if it inlines a function
    with multiple return values it inserts a PHI to merge them all together.
    However, if the return values are all the same, it ends up with a pointless
    PHI and this pointless PHI happens to really block SRoA from happening in
    at least a silly C++ example written by Doug, but probably others.  This
    fixes rdar://7339069.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 468f729300f9ff4fc208650e29470e108b7e6ba0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 05:35:35 2009 +0000

    convert to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8257c409ae7df2cb7641f4194b3df694e8ce552f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 27 05:30:47 2009 +0000

    Convert to FileCheck, fixing failure due to tab change in the process.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b95748848a137a23419ae1e6b4f92736af70e59
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 27 04:58:10 2009 +0000

    lang points out that the comment is out of date with the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85203 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6803121c07be2467ed2dd49192e2f5432ef2ab6
Author: Mike Stump <mrs@apple.com>
Date:   Tue Oct 27 02:17:51 2009 +0000

    Fix VS build, patch by Marius Wachtler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 406f493c3b956f24d4567e59443daafb7d122df9
Author: Mike Stump <mrs@apple.com>
Date:   Tue Oct 27 02:14:13 2009 +0000

    VS build fix, patch by Marius Wachtler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98d00f20a97fa2774f337d1a56fee66865eb650c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 27 01:06:51 2009 +0000

    Fix OProfileJITEventListener after r85182.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85192 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37115cc04ea3dc2516d34a1b0f8dc262652fbb63
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Oct 27 00:52:25 2009 +0000

    Add objectsize intrinsic and hook it up through codegen. Doesn't
    do anything than return "I don't know" at the moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85189 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1db4e53b11822ff3262d6b741974ef78ce04ea4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 27 00:20:49 2009 +0000

    Now VFP instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1674ea5205cbc47e59849163c5992f3befbd5fb0
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 27 00:11:02 2009 +0000

    Add braces to avoid ambiguous else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85185 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08540a929721efe42893675068f8a5a1767afad5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 27 00:08:59 2009 +0000

    Change Thumb1 and Thumb2 instructions to separate opcode from operands with a tab instead of a space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1291fce6c0a61fb74a124ffd5b2da02c0de6ab4f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 27 00:03:05 2009 +0000

    Automatically do the equivalent of freeMachineCodeForFunction(F) when F is
    being destroyed. This allows users to run global optimizations like globaldce
    even after some functions have been jitted.

    This patch also removes the Function* parameter to
    JITEventListener::NotifyFreeingMachineCode() since it can cause that to be
    called when the Function is partially destroyed. This change will be even more
    helpful later when I think we'll want to allow machine code to actually outlive
    its Function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43a4c67a86782f5f6ad5d80dbbf29ff23f3faa08
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Oct 26 23:58:56 2009 +0000

    Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a7549471a1194f31d2627c8f0665eb88bb96fc
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Oct 26 23:56:52 2009 +0000

    Forgot to commit these.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14d033341deef1eacc39efc4f51b132356120405
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Oct 26 23:55:47 2009 +0000

    Add a straight-forward implementation of SCCVN for aggressively eliminating scalar redundancies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85179 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3f9bc403327201a4cbb416f6627d1c54c0fcac8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Oct 26 23:45:59 2009 +0000

    Change ARM asm strings to separate opcode from operands with a tab instead of a space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85178 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b05409548b99af03ebd6f92fee5337dc7ed0dc4
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Oct 26 23:44:29 2009 +0000

    Remove all references to MallocInst and FreeInst

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85177 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a7a33126ed4def13851a4d77a442db55ffe307
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Oct 26 23:43:48 2009 +0000

    Remove FreeInst.
    Remove LowerAllocations pass.
    Update some more passes to treate free calls just like they were treating FreeInst.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2aec46ede15c195de15bdafc25e9760b6d9b5c52
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 26 22:59:12 2009 +0000

    Try to get ahead of Johnny Chen and pro-actively add some more ARM encoding
    bits.  Johnny, please review -- I do not have a good track record of getting
    these right.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85173 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67d02c9e078bd68cad7bc12fbc86ceed345aae15
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 26 22:52:03 2009 +0000

    Convert a few tests to FileCheck for PR5307.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85171 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccd00e369b68760c043986705ca45bb06e233f1e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 26 22:42:13 2009 +0000

    Fix ARM encoding typo: Opcod3 is not passed to ASuI parent class.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85169 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a308521257a4c8fc6e816bdd4218ade39e1edfe
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 26 22:34:44 2009 +0000

    Add more ARM instruction encodings for 's' bit set and "rs" register encoding
    bits.  Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85167 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa644ea6cd8b6c4fa5d0442c91267cdfdab43eab
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Oct 26 22:31:16 2009 +0000

    Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85166 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5f5512bc4ed863d9f616d7da1ff6826bcf3b3b8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 22:18:58 2009 +0000

    Simplify this code. LoopDeletion doesn't need to explicit check that
    the loop exiting block dominates the latch block; if ScalarEvolution
    can prove that the trip-count is finite, that's sufficient.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85165 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dcf7c0292231fa38ff5c0ab4a2413c7b0bbb66e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 22:14:22 2009 +0000

    Code that checks WillNotOverflowSignedAdd before creating an Add
    can safely use the NSW bit on the Add.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20404788e09d71c9c6171a5f4e24f5a9be2d84bd
Author: Ted Kremenek <kremenek@apple.com>
Date:   Mon Oct 26 22:06:01 2009 +0000

    Update CMake files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85161 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c576d14840a48ccebdb449dfdb0b7b3b95fbbc0
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 21:55:43 2009 +0000

    Teach BasicAA how to analyze Select instructions, and make it more
    aggressive on PHI instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85158 91177308-0d34-0410-b5e6-96231b3b80d8

commit f974aca5c3b657b93fd45aead3fba00100652b23
Author: Julien Lerouge <jlerouge@apple.com>
Date:   Mon Oct 26 20:01:35 2009 +0000

    Remove / use flags that are now set in the Makefile.config.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85149 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3f1ce99a96866828eaeb5f97bf4f423db2a553e
Author: Julien Lerouge <jlerouge@apple.com>
Date:   Mon Oct 26 20:00:35 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85148 91177308-0d34-0410-b5e6-96231b3b80d8

commit c438e2b035300052b147b83dfe48dd8becd92697
Author: Julien Lerouge <jlerouge@apple.com>
Date:   Mon Oct 26 19:58:44 2009 +0000

    Add an autoconf test to check for optional compiler flags like
    -Wno-missing-field-initializers or -Wno-variadic-macros.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85147 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64948f805fbd7e5d69066d85f8dee30c9d84bf1f
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Oct 26 19:41:00 2009 +0000

    Define virtual destructor in *.cpp file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85146 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8b859600a76b46db61dd5fe6609f66897fe9c07
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Oct 26 19:32:42 2009 +0000

    Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 415659a34f7e7c3d0a52f2712fb449a10e0abf0a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 19:12:14 2009 +0000

    Check in the experimental GEP splitter pass. This pass splits complex
    GEPs (more than one non-zero index) into simple GEPs (at most one
    non-zero index).  In some simple experiments using this it's not
    uncommon to see 3% overall code size wins, because it exposes
    redundancies that can be eliminated, however it's tricky to use
    because instcombine aggressively undoes the work that this pass does.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fcfff2099a6341e2ccb0de4eb0e75431fd40e05
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Oct 26 19:00:47 2009 +0000

    Add virtual destructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85141 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9839c626d35a7ad18d27f53fc5c882fe3bf2bd6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Oct 26 18:40:24 2009 +0000

    Revert r85134, it breaks mingw build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85138 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddabac83a56fa9fda47c8c4ededa6560731b7304
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 18:36:40 2009 +0000

    Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder
    for consistency with ConstantFolder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85137 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7080dc09b5ff61334f9a13c1eec1e0eb9c195556
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 18:26:18 2009 +0000

    When checking whether a def of an aliased register is dead, ask the
    machineinstr whether the aliased register is dead, rather than the original
    register is dead. This allows it to get the correct answer when examining
    an instruction like this:
      CALLpcrel32 <ga:foo>, %AL<imp-def>, %EAX<imp-def,dead>
    where EAX is dead but a subregister of it is still live. This fixes PR5294.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85135 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe8fe92809dd5b4c24a841947213994ffdd21899
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Mon Oct 26 18:22:59 2009 +0000

    Make PIC16 overlay a loadable pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85134 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2eb7f43741299f784b492a57d52e86702195b458
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 26 17:09:00 2009 +0000

    Do not use expensive sort().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85130 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59f8286f657aa97d979604e1ed4840dd9956342f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Oct 26 17:01:20 2009 +0000

    Some svn:ignore tweaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85128 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad5789c4fd62e77a8d27c43db98384ed9762dfe7
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Oct 26 16:59:04 2009 +0000

    Break anti-dependence breaking out into its own class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 152a24965397e1b3ed7bc62c8a3b3a036b9bf733
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 26 16:54:35 2009 +0000

    Add support to encode type info using llvm::Constant.
    Patch by Talin!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85126 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6122ae09b2869474e1875ea4334c15137edb264
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 15:55:24 2009 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e060dbe83b295208c3a4fce8ea278851d9720f0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 26 15:40:07 2009 +0000

    reapply r85085 with a bugfix to avoid infinite looping.
    All of the 'demorgan' related xforms need to use
    dyn_castNotVal, not m_Not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85119 91177308-0d34-0410-b5e6-96231b3b80d8

commit a25e81a52a619075c948a7fc1e8ec3f8ef9b09cb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 26 15:32:57 2009 +0000

    Make LSR's OptimizeShadowIV ignore induction variables with negative
    strides for now, because it doesn't handle them correctly. This fixes a
    miscompile of SingleSource/Benchmarks/Misc-C++/ray.

    This problem was usually hidden because indvars transforms such induction
    variables into negations of canonical induction variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85118 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9919ed02cbeac5498b21825ae4924b140784be08
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Oct 26 04:56:07 2009 +0000

    - Revert some changes from 85044, 85045, and 85047 that broke x86_64 tests and
      bootstrapping. It's not safe to leave identity subreg_to_reg and insert_subreg
      around.
    - Relax register scavenging to allow use of partially "not-live" registers. It's
      common for targets to operate on registers where the top bits are undef. e.g.
      s0 =
      d0 = insert_subreg d0<undef>, s0, 1
      ...
         = d0
      When the insert_subreg is eliminated by the coalescer, the scavenger used to
      complain. The previous fix was to keep to insert_subreg around. But that's
      brittle and it's overly conservative when we want to use the scavenger to
      allocate registers. It's actually legal and desirable for other instructions
      to use the "undef" part of d0. e.g.
      s0 =
      d0 = insert_subreg d0<undef>, s0, 1
      ...
      s1 =
         = s1
         = d0
      We probably need add a "partial-undef" marker on machine operand so the
      machine verifier would not complain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85091 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d4a07e1f97b2822c334fe0a46fabe7135037889
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Oct 26 03:51:32 2009 +0000

    Revert 85085. It causes infinite looping during llvm-gcc build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85090 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fad78bbd23df52f93797656dd8eaee63cc27896
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 26 02:37:56 2009 +0000

    Fix gmake check for AuroraUX triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85088 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ec7df14990f3bdf92f8e55dcdeeca03d6802602
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Mon Oct 26 01:35:46 2009 +0000

    Move DataTypes.h to include/llvm/System, update all users. This breaks the last
    direct inclusion edge from System to Support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8

commit f05d95c356337c9a85cc12acde2cdc209ba02a1b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 26 01:06:31 2009 +0000

    Implement PR3266 & PR5276, folding:
       not (or (icmp, icmp)) -> and(icmp, icmp)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85085 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3a2943bdc41c9f2f973e74d27b965b48e538ea9
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sun Oct 25 23:54:41 2009 +0000

    Update the 'svn:ignore' property to remove stale file references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85084 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd2472b097db91e662dfc71bd69a2dc05d289704
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 23:47:55 2009 +0000

    convert or.ll to filecheck and merge or2 into it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89a222bfd4ba450a0ec169f6ac72a42dbd87cd4c
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sun Oct 25 23:41:56 2009 +0000

    Remove stale reference to ThreadSupport.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85ee709efb4af23b7205eaf5b8378dc96ee6a021
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 23:22:50 2009 +0000

    fix PR5295 where the .ll parser didn't reject a function after a global
    or global after a function with conflicting names.  Update some testcases
    that were accidentally depending on this behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85081 91177308-0d34-0410-b5e6-96231b3b80d8

commit f756c166ec47173633f631b1be8d2f90e11769d6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Oct 25 23:11:06 2009 +0000

    Suppress -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85078 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79cdc2ecda3b93508190ffef80f49565093260d3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 23:06:42 2009 +0000

    fix PR5186: the JIT shouldn't try to codegen available_externally
    functions it should just look them up like declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f13bfcd9890009dcab9454992134c486fc8a126
Author: Chandler Carruth <chandlerc@gmail.com>
Date:   Sun Oct 25 22:38:41 2009 +0000

    Remove unused includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20f9924817aba90dc88c43b247671c6542fb523c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Oct 25 19:14:48 2009 +0000

    of -> or

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f9656021235a937c7c874487dbbb5780f3b0427
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Oct 25 18:55:46 2009 +0000

    80-column cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27e801cd7ee5ce1b11ed9c2e6fc478747f70cc3c
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sun Oct 25 08:14:11 2009 +0000

    Reapply 85006 with a minor fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85052 91177308-0d34-0410-b5e6-96231b3b80d8

commit a45dd92bcde845b4edd7a3495eb8f3fba708a853
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 08:01:41 2009 +0000

    Add a couple of ARM cross-rc coalescing tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85051 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6a6656d22cb77cd940b25d3aaa7382e73912683
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:53:48 2009 +0000

    Update tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7da9a9ca5eb152a5d570c29b6b873dda02148925
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:53:28 2009 +0000

    Add ARM getMatchingSuperRegClass to handle S / D / Q cross regclass coalescing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 146c8488a42d45d57f0e25abccb008d7e9b8d135
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:52:27 2009 +0000

    Don't forget subreg indices when folding load / store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 899830995d35fa6878fd6204fce742c90b9d554b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:51:47 2009 +0000

    Use isIdentityCopy. Fix a bozo bug (flipped condition) in InvalidateRegDef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 381f09782a49e19f142866145947405531b8d2cd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:49:57 2009 +0000

    Code clean up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85046 91177308-0d34-0410-b5e6-96231b3b80d8

commit c319538252bef8bab51638c1cb6ac9beab6e0bf5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:48:51 2009 +0000

    Do not delete identity insert_subreg even if dest is virtual. Let later passes delete them. This avoids register scavenger complain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85045 91177308-0d34-0410-b5e6-96231b3b80d8

commit a331ec82f78470eeb4c6c1e666d082a64fea5069
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 25 07:47:07 2009 +0000

    Add isIdentityCopy to check for identity copy (or extract_subreg, etc.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85044 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a44ef9fd5f7c3964ad79b94778261175dea5c33
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 25 06:57:41 2009 +0000

    Remove includes of Support/Compiler.h that are no longer needed after the
    VISIBILITY_HIDDEN removal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8

commit 492d06efde44a4e38a6ed321ada4af5a75494df6
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 25 06:33:48 2009 +0000

    Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.
    Chris claims we should never have visibility_hidden inside any .cpp file but
    that's still not true even after this commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62d027dd4b9b60d87f7c617aac1473bf8794a5d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 06:17:51 2009 +0000

    this is done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e39cf73d44aea2c233909dff6504362a6ccce8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 06:15:37 2009 +0000

    Teach FoldBitCast to be able to handle bitcasts from (e.g.) i128 -> <4 x float>.

    This allows us to simplify this:
    union vec2d {
        double e[2];
        double v __attribute__((vector_size(16)));
    };
    typedef union vec2d vec2d;

    static vec2d a={{1,2}}, b={{3,4}};

    vec2d foo () {
        return (vec2d){ .v = a.v + b.v * (vec2d){{5,5}}.v };
    }

    down to:

    define %0 @foo() nounwind ssp {
    entry:
      %mrv5 = insertvalue %0 undef, double 1.600000e+01, 0 ; <%0> [#uses=1]
      %mrv6 = insertvalue %0 %mrv5, double 2.200000e+01, 1 ; <%0> [#uses=1]
      ret %0 %mrv6
    }

    instead of:

    define %0 @foo() nounwind ssp {
    entry:
      %mrv5 = insertvalue %0 undef, double extractelement (<2 x double> fadd (<2 x double> fmul (<2 x double> bitcast (<1 x i128> <i128 85174437667405312423031577302488055808> to <2 x double>), <2 x double> <double 3.000000e+00, double 4.000000e+00>), <2 x double> <double 1.000000e+00, double 2.000000e+00>), i32 0), 0 ; <%0> [#uses=1]
      %mrv6 = insertvalue %0 %mrv5, double extractelement (<2 x double> fadd (<2 x double> fmul (<2 x double> bitcast (<1 x i128> <i128 85174437667405312423031577302488055808> to <2 x double>), <2 x double> <double 3.000000e+00, double 4.000000e+00>), <2 x double> <double 1.000000e+00, double 2.000000e+00>), i32 1), 1 ; <%0> [#uses=1]
      ret %0 %mrv6
    }

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85040 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5aa9a3e9ac31b1c800daf8fd9f273ded02d4b75d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 06:08:26 2009 +0000

    move FoldBitCast earlier in the file, and use it instead of
    ConstantExpr::getBitCast in various places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85039 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea55ea084bc578f7e161343561826ae47265fdce
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 25 06:02:57 2009 +0000

    refactor FoldBitCast to reduce nesting and to always return a constantexpr
    instead of returning null on failure.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85038 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0796c6d1dbaef83b400f53bee71f2dff0bff22e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 25 05:20:17 2009 +0000

    Remove ICmpInst::isSignedPredicate which was a reimplementation
    CmpInst::isSigned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d0d2030275df7b40226a7979c6d7424955a2f6
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 25 03:50:03 2009 +0000

    Sink isTrueWhenEqual from ICmpInst to CmpInst. Add a matching isFalseWhenEqual
    which is equal to !isTrueWhenEqual for ints but not for floats.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85036 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83410aa8c59837bafd2fcab76c33abd14e72b5c1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Oct 25 03:30:55 2009 +0000

    lit: Add --config-prefix option, to override default config file names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85035 91177308-0d34-0410-b5e6-96231b3b80d8

commit 062ddcb23b7e81787c7ae597d851e654049a6c2b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 25 03:22:00 2009 +0000

    Indent.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27f73ebba47a60ebdce7104e2db1991b615c8979
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Oct 25 01:44:24 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01b49d0c8e25ca4e719179e056be1f12370bf312
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Oct 25 01:44:11 2009 +0000

    Document OptionPreprocessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85030 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19e491c408463252d0a5c008a3ec02c9a15c7400
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Oct 25 01:43:50 2009 +0000

    Add a test for OptionPreprocessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85029 91177308-0d34-0410-b5e6-96231b3b80d8

commit f20c0915df1dcb44682aa5380b9c88e800985bf4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Oct 25 01:37:26 2009 +0000

    lit: Allow use of /dev/null in redirects on Windows (replace by a temporary
    file).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85028 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ef97dcce4891c64bef5ce217341053224a57dc5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sun Oct 25 00:45:07 2009 +0000

    When the scavenger is looking for a good candidate location to restore from a
    spill, it should avoid doing so inside the live range of a virtual register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85026 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed2a16a36af4902ada0b3f3866bbe9ec2ac5dcf3
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 23:52:07 2009 +0000

    Update these tests to match what Loop::print now prints.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85021 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5b5be1642c9ff53eb6c3596519fafa75715acd8
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 23:37:16 2009 +0000

    MapValue doesn't needs its LLVMContext argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a175215245c62bf37aaa117703882fcc271e72d
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 23:34:26 2009 +0000

    Rename isLoopExit to isLoopExiting, for consistency with the wording
    used elsewhere - an exit block is a block outside the loop branched to
    from within the loop. An exiting block is a block inside the loop that
    branches out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16be04bcdbbd17ba27ad9f3d3b404b78dc10d4c3
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 23:24:45 2009 +0000

    Delete a spurious semicolon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cb04ccc59e4b359a5ede29ba0a8a453b7201527
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 23:23:04 2009 +0000

    Make these tests more interesting by using
    -verify-dom-info and -verify-loop-info, which enable additional
    (expensive) consistency checks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85017 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3c12364e4fe208d7c08f2b855e56681f66528b2
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 23:19:52 2009 +0000

    Rewrite LoopRotation's SSA updating code using SSAUpdater.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30bb4a4eefbff71da7454822c921cb26b4faccfc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 24 20:32:49 2009 +0000

    lit: Support '>>' redirections when executing scripts internally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19ca34a85e80831b11e053bcf39ef0975ccb3807
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 24 20:32:43 2009 +0000

    Update CMake dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55e0f3183257cfe642d5d6d7c26f6cc993e99b1a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 24 20:32:36 2009 +0000

    Teach macho-dump to dump UUIDs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87767b48a2f1945330c282d08851ac1ab0e80d3d
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 20:01:11 2009 +0000

    Make DominanceFrontierBase::print's output prettier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85011 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0f9ddd94abcd8400de8a1fa707b874a7a2a04e3
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 19:57:58 2009 +0000

    Make DominanceFrontier::addBasicBlock return the iterator for the newly
    inserted block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85010 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9ec1b66fb1f1560227e44cff952b0ea321022e5
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 24 19:56:23 2009 +0000

    Add an explicit keyword.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 937a17362032cec745e3036b3b6cc3ed39b70168
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Oct 24 18:19:41 2009 +0000

    Revert back 85006 for now as it breaks PIC16 tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c4a7ca6ed4f686dcd23e4f2798d9ee8a3119a60
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Sat Oct 24 18:02:44 2009 +0000

    Adding support for placing global objects in shared data memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90c418ae50b0f979ca2326777bdabdc423cae564
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 24 05:27:19 2009 +0000

    various cleanups suggested by Duncan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84993 91177308-0d34-0410-b5e6-96231b3b80d8

commit e040a936ccd5387a28b4228244f1e99fc6810d3c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 24 05:22:15 2009 +0000

    fix PR5287, a serious regression from my previous patches.  Thanks to
    Duncan for the nice tiny testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 939460818ececec9e225ac70ab473c109300bbad
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Oct 24 04:23:03 2009 +0000

    Auto-upgrade free instructions to calls to the builtin free function.
    Update all analysis passes and transforms to treat free calls just like FreeInst.
    Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09549369a6f7976934e21a49befb6d9f46abb56b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 24 02:07:42 2009 +0000

    80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84986 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e4c4276b78da64a7b505a83d6d0b107ade85f0e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Oct 24 00:27:00 2009 +0000

    Add some asserts to catch copyRegToReg() fails early

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 852f708684bb34dea4f22b2c46829c49e671e2b7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Sat Oct 24 00:19:24 2009 +0000

    Restrict Thumb1 register allocation to low registers, even for instructions that
    can access the hi regs. Our prologue and epilogue code doesn't know how to
    properly handle save/restore of the hi regs, so things go badly when we alloc
    them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8940d798e7ceec957f1dc2a2862105d4180f3bda
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 23 23:09:19 2009 +0000

    Identity copies should not contribute to spill weight.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84978 91177308-0d34-0410-b5e6-96231b3b80d8

commit db980fa1680f4a52fbd9c940284df543fcac97b1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 23 23:07:42 2009 +0000

    FIXME no longer applies. R12 and R3 are available for allocation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84977 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ddfe5ce0cc40627e9b10c69b71071b4aef46f52
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Oct 23 22:37:43 2009 +0000

    Fix http://llvm.org/PR4822: allow module deletion after a function has been
    compiled.

    When functions are compiled, they accumulate references in the JITResolver's
    stub maps. This patch removes those references when the functions are
    destroyed.  It's illegal to destroy a Function when any thread may still try to
    call its machine code.

    This patch also updates r83987 to use ValueMap instead of explicit CallbackVHs
    and fixes a couple "do stuff inside assert()" bugs from r84522.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84975 91177308-0d34-0410-b5e6-96231b3b80d8

commit b168730cf56bd8e8bf0c4d7f494b79ca135e973d
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Oct 23 21:09:37 2009 +0000

    Remove AllocationInst.  Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2a663a0a3b3711679bcbac053b788a3e2ec346a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Oct 23 20:54:00 2009 +0000

    Fix stylistic and documentation problems in ValueMap found by Nick Lewycky and
    Evan Cheng.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84967 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6530ae50de6d78e90f499b67ee9db01da894ff4a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 23 17:57:43 2009 +0000

    APInt-ify the gep scaling code, so that it correctly handles the case where
    the scale overflows pointer-sized arithmetic. This fixes PR5281.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84954 91177308-0d34-0410-b5e6-96231b3b80d8

commit af1c05ad386e69449b53582da8f2b94c044e57db
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 23 17:10:01 2009 +0000

    Make LoopDeletion check the maximum backedge taken count, rather than the
    exact backedge taken count, when checking for infinite loops. This allows
    it to delete loops with multiple exit conditions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84952 91177308-0d34-0410-b5e6-96231b3b80d8

commit a737af39c9cb53e5d3c82eef853b48212e0e5e6f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 23 07:00:55 2009 +0000

    some stuff is done, we still have constantexpr simplification to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84943 91177308-0d34-0410-b5e6-96231b3b80d8

commit b81d5390eef32d58aac471f2d5d3d3f308c8c46b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 23 06:57:37 2009 +0000

    teach libanalysis to simplify vector loads with bitcast sources.  This
    implements something out of Target/README.txt producing:

    _foo:                                                       ## @foo
    	movl	4(%esp), %eax
    	movapd	LCPI1_0, %xmm0
    	movapd	%xmm0, (%eax)
    	ret	$4

    instead of:

    _foo:                                                       ## @foo
    	movl	4(%esp), %eax
    	movapd	_b, %xmm0
    	mulpd	LCPI1_0, %xmm0
    	addpd	_a, %xmm0
    	movapd	%xmm0, (%eax)
    	ret	$4

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84942 91177308-0d34-0410-b5e6-96231b3b80d8

commit bec079507e277613cbd9cd3e1dd4cde4a5e14f89
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 23 06:50:36 2009 +0000

    enhance FoldReinterpretLoadFromConstPtr to handle loads of up to 32
    bytes (i256).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84941 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa97251b2ccff460d1c50ef1e954d45c8c1e43d7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 23 06:23:49 2009 +0000

    teach libanalysis to fold int and fp loads from almost arbitrary
    non-type-safe constant initializers.  This sort of thing happens
    quite a bit for 4-byte loads out of string constants, unions,
    bitfields, and an interesting endianness check from sqlite, which
    is something like this:

    const int sqlite3one = 1;
    # define SQLITE_BIGENDIAN    (*(char *)(&sqlite3one)==0)
    # define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)
    # define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE)

    all of these macros now constant fold away.

    This implements PR3152 and is based on a patch started by Eli, but heavily
    modified and extended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 221f9d4df58002c36af0a128282eb687b30e232c
Author: Tanya Lattner <tonic@nondot.org>
Date:   Fri Oct 23 06:20:06 2009 +0000

    Add 2.6 release note.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84934 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb5d7afc9fba2575cc4ee672d30e120f7c5d4d20
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 23 05:58:34 2009 +0000

    Update tests for 84931.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 868e7d89bcd9c39376174a0ec12e4f6ea5ec25ff
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 23 05:57:35 2009 +0000

    X86 needs critical path anti-dependency breaking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84931 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29a9919606a4790d496a3db568883b080ec57ff1
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Oct 23 04:02:51 2009 +0000

    Commit fixes for half precision I noted in review, so
    they don't get lost; I don't think the originator has
    write access.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1caa0c6a612427636a06109b999b254bda758b11
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Oct 23 01:37:01 2009 +0000

    This is passing on Darwin PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9167ebd0342cbb558b21d3e96a979087105af3b6
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Oct 23 00:59:10 2009 +0000

    Minor code cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84919 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68e0213cf4b9f944a356cf578050cc17f19d1257
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Oct 23 00:01:05 2009 +0000

    Neuter stack protectors by only checking character arrays. This is what GCC
    does.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84916 91177308-0d34-0410-b5e6-96231b3b80d8

commit e56e4a63f19ea3b7e40d84704d9b066698722db6
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 22 23:19:17 2009 +0000

    Allow the target to select the level of anti-dependence breaking that should be performed by the post-RA scheduler. The default is none.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84911 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2bdf61b5f71e0971bdaa0e4cff9647031c6d8ee
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Oct 22 22:16:17 2009 +0000

    Use 'waitpid' instead of 'wait'.  Basing Program::Wait() on 'wait()' prevents it being correct within a multithreaded context.

    This address: PR 5277 (Program::Wait is unsafe to call from multiple threads).

    Note: If waitpid() turns out to be non-portable, we can add more autoconf magic, or look into
    another solution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50e846dbda3390610f7b414dd14000ebb170c737
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Oct 22 22:11:22 2009 +0000

    Try r84890 again (adding ValueMap<>), now that I've tested the compile on
    gcc-4.4.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c954193474a76852f5cec1f899b8e4184a15bd0
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Oct 22 22:06:50 2009 +0000

    size_t, not unsigned here to silence a warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65ca6b735393dc7d03990ecbda2a1cb4344183ed
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Oct 22 21:49:41 2009 +0000

    Random include cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84898 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d1f0f3101559a0f42c74cc854b2fd8d10e795fa
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Oct 22 20:57:35 2009 +0000

    Fix OProfileJITEventListener after r84054 renamed CompileUnit to Scope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f6aeb72926b953e115d6fac3cbe138f569fb9a5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Oct 22 20:48:59 2009 +0000

    Tidying up some code and comments. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 510cbea6c3ebc7702616d655d4dd1367e17b462a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Oct 22 20:23:43 2009 +0000

    Revert r84890, which broke the linux build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87ed85965251c3c6dda530e083d5c1aedd3eef54
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Oct 22 20:10:20 2009 +0000

    Add a ValueMap<ValueOrSubclass*, T> type.  ValueMap<Value*, T> is safe to use
    even when keys get RAUWed and deleted during its lifetime. By default the keys
    act like WeakVHs, but users can pass a third template parameter to configure
    how updates work and whether to do anything beyond updating the map on each
    action.

    It's also possible to automatically acquire a lock around ValueMap updates
    triggered by RAUWs and deletes, to support the ExecutionEngine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84890 91177308-0d34-0410-b5e6-96231b3b80d8

commit b10e68d04e54b6ad9303d84ee1fb6dfbe6c7ddc2
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 19:36:54 2009 +0000

    Hide MetadataContext implementation details.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f6f894016256484e5ccdfa0d94cfecb51aaeca9
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 18:55:16 2009 +0000

    Fix getMDs() interface such that it does not expose implementation details.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0aa3004c5f4b6d56619a755bab708a5b9c65cc94
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 18:25:28 2009 +0000

    Using TrackingVH instead of WeakVH or WeakMetadataVH.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c14af970afe7672fe152780c81c6b0b2c7eb75d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 17:40:37 2009 +0000

    Sort handler names to ensure deterministic behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ded08a1c38a0b55a33655592d279706977ccc35
Author: Stuart Hastings <stuart@apple.com>
Date:   Thu Oct 22 17:22:37 2009 +0000

    Trying again to tweak the top-level Makefile to facilitate an Apple-style build.
    Now with Clang-compatibility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84872 91177308-0d34-0410-b5e6-96231b3b80d8

commit df6a663b5b5a592c4dffdea732db0fe0d1453e14
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 22 16:52:21 2009 +0000

    Revert 84843.  Evan, this was breaking some of the if-conversion tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84868 91177308-0d34-0410-b5e6-96231b3b80d8

commit 310fdba5949e9e67c177aa1335daaf63db34ca7b
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Oct 22 16:03:32 2009 +0000

    Include config.h in order to have HAVE_STDINT_H be defined.
    In the latest binutils the plugin-api.h needs this - without
    it the LLVM gold plugin fails to compile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84861 91177308-0d34-0410-b5e6-96231b3b80d8

commit e369d54068dc4c4aaed61abf7ffeabd237719267
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Thu Oct 22 14:35:57 2009 +0000

    Verify that the function and exception table have been allocated
    before freeing them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84859 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed248f3628f79be217ec9403c66f7bed2e31bde2
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Oct 22 12:53:25 2009 +0000

    Check that accessing a struct field that occurs before the start
    of the struct (!) works correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84853 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc1fe3096ec2d5d64ae29cd465594aee276c3f7e
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Oct 22 10:02:10 2009 +0000

    Test handling of record fields with negative offsets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 812c4346ae2badfb759ba1a0c1187eda28092821
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Oct 22 09:28:49 2009 +0000

    Shift art to the right to keep GCC from complaining about multi-line comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84849 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2147b5787db9e84e22c5d008db703ddce3ae9d86
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 22 06:48:32 2009 +0000

    Move if-conversion before post-regalloc scheduling so the predicated instruction get scheduled properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84843 91177308-0d34-0410-b5e6-96231b3b80d8

commit de6ba0a0863d45638958b1c0e47aab50c9fbaaa0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 22 06:47:35 2009 +0000

    Load / store multiple was missing opportunites when the load / store bundles are at the end of the bb. Test case is already in, the bug is exposed by subsequent commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bdc6d5cc22c8e45cbd1c2afec51a7d4c2597a12
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 06:44:07 2009 +0000

    move another load optimization from instcombine -> libanalysis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84841 91177308-0d34-0410-b5e6-96231b3b80d8

commit c352ed0063694702fc056d18bacec36f73761b16
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 06:38:35 2009 +0000

    move 'loading i32 from string' optimization from instcombine
    to libanalysis.  Instcombine shrinking... does this even
    make sense???

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84840 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0527483e95ddd8a4a8019337eba4b1ecf1b90196
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 06:25:11 2009 +0000

    Move some constant folding logic for loads out of instcombine into
    Analysis/ConstantFolding.cpp.  This doesn't change the behavior of
    instcombine but makes other clients of ConstantFoldInstruction
    able to handle loads.  This was partially extracted from Eli's patch
    in PR3152.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84836 91177308-0d34-0410-b5e6-96231b3b80d8

commit a14a20abbaa4fa993b66ab746dfedad633e3f974
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 22 05:11:00 2009 +0000

    Trim more includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84832 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e38eb0b9332d2af9d3d0db0bc94a1fdaa5c709d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 22 05:08:49 2009 +0000

    Trim include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84831 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fdaa881e8c3af817312d7bd262a07731c6b0fc7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 04:47:09 2009 +0000

    testcase for PR4678 & rdar://7309675

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84830 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e73058aea1ddca356b119286f82c6b4b25d7098
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Oct 22 04:15:24 2009 +0000

    Forgot a declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84828 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bb5da04d19ddca55a536ebdc0e3b30f606b5b98
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Oct 22 04:15:07 2009 +0000

    Make 'unset_option' work on list options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62b547a9ebaa6ec2a311748d9f38521ee1175230
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 03:42:27 2009 +0000

    fix warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 580b86f11cbb963155f8a7706ede7835c20691ba
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 01:01:24 2009 +0000

    Fix getHandlerNames() interface. Now it populate clinet supplied small vector with handler names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1a226dc19b3cfe39c1c42af2b53463c3b3d160a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 00:52:28 2009 +0000

    llvm-ld doesn't throw.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84819 91177308-0d34-0410-b5e6-96231b3b80d8

commit c343f9666768b6550d56792a76d0a79cb6ed508b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 00:50:24 2009 +0000

    this doesn't use EH either.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96f3f0ea1784565c7f175c709d99fb44737a6077
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 00:46:41 2009 +0000

    nothing opt uses can throw, remove the try block and -fexceptions when
    building opt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84816 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd0702fb9d6f58c3d334b8a8649892b5bc1c9648
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 00:44:10 2009 +0000

    Add some command line options for twiddling the default data layout
    used by opt when a module doesn't specify one.  Patch from Kenneth Uildriks!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8776641c8937656b395e6bf9256f90c60c616103
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 22 00:40:00 2009 +0000

    Don't generate sbfx / ubfx with negative lsb field. Patch by David Conrad.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84813 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3254b4944c646570b94027cf701136f8a95352e
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 00:22:05 2009 +0000

    Use StringRef to construct MDString.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5ed7f070696277cfa62750e4907ba65208ed66f
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 22 00:17:26 2009 +0000

    fix PR5262.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84810 91177308-0d34-0410-b5e6-96231b3b80d8

commit fadf5e5953fdd1925c1d71dec4d771ab06b2e186
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Oct 22 00:16:00 2009 +0000

    Use special DAG-to-DAG preprocessing to allow mem-mem instructions to be selected.
    Yay for ASCII graphics!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84808 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcfa3114e0922e6a127cd9e63dce10d98fb77757
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Oct 22 00:15:17 2009 +0000

    Fix null pointer dereference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84806 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ab984e0f73ee6857fdf9222fb9b836126070b60
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 22 00:10:15 2009 +0000

    Remove meaningless const.
    Pass StringRef by value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52a7362292fcc0cf59c3d38ce8955b709b8e00e6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 22 00:03:58 2009 +0000

    Revert the main portion of r31856. It was causing BranchFolding
    to break up CFG diamonds by banishing one of the blocks to the end of
    the function, which is bad for code density and branch size.

    This does pessimize MultiSource/Benchmarks/Ptrdist/yacr2, the
    benchmark cited as the reason for the change, however I've examined
    the code and it looks more like a case of gaming a particular
    branch than of being generally applicable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 625fc8a70dea12493a862ff030cf63e1a3eeec8c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 21 23:57:35 2009 +0000

    Derive metadata hierarchy from Value instead of User.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3980f9bdc1bef099f011b193282624140d918f4d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 21 23:41:58 2009 +0000

    revert r84754, it isn't the right approach.  Edwin, please propose
    patches for fixes like this instead of committing them directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1190aa49e2e41435881d3a76052a29a2aff9f632
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 21 23:40:56 2009 +0000

    Missing piece of the ARM frame index post-scavenging conditionalization

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 505f7cffe7582df375c43540771e4c4970971848
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Oct 21 23:29:32 2009 +0000

    Fix thinko noticed by Chris.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6e39eca79fc5c778baf517f159b7d47e6964818
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Oct 21 23:29:12 2009 +0000

    Adjust testcases for msasm -> alignstack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ee3e4bf7e162b8daf43c2fd660f67095d00af3a
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Oct 21 23:28:00 2009 +0000

    Rename msasm to alignstack per review.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87c2b24e57deea38e8cf572a0c461bfc21296996
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Oct 21 23:27:54 2009 +0000

    Remove pointless return; at end of function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3def926d532e753cab49cc1bacf660f49d626864
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 21 22:59:56 2009 +0000

    The spill restore needs to be resolved to the SP/FP just like the spill

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86320274fce17431f8ad60ebd9e89c2e7bcacc04
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 21 22:59:24 2009 +0000

    Conditionalize ARM/T2 frame index post-scavenging while working out fixes
    for a few bugs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e4759105fdc5ae0f14c0dce471817b59d7db268
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Oct 21 22:55:51 2009 +0000

    Simplify code. No intended functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f92d1399fe9f3df00ed1a0b0e864b2d63dc3cef
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 21 21:57:13 2009 +0000

    Use StringRef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b1ec3887477e72d994e996b7e0422777172b7d0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 21 21:36:27 2009 +0000

    Most of the NEON shuffle instructions do not support 64-bit element types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26c7b903a8f7ab6bf9bb75110a0ff5da74bf41fd
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 21 21:25:09 2009 +0000

    Do not use SmallVector to store MDNode elements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11face1c79fa330d0f77be6ddb9357e2846a4dc2
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 21:15:18 2009 +0000

    Revert r84764, it breaks mingw build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84783 91177308-0d34-0410-b5e6-96231b3b80d8

commit 002646297951aab37dd7e9a1a205158d20b46196
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Oct 21 21:09:48 2009 +0000

    XFAIL this test for PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1afc8e26bf2580d78e824666534049f5693c09df
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 21 20:44:34 2009 +0000

    Improve handling of immediates by splitting 32-bit immediates into two 16-bit
    immediate operands when they will fit into the using instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85a066070801c2ab1d8a39dcb0c5033fb188e9d8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 19:18:28 2009 +0000

    Add DAG printing for RMW stuff debugging

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84776 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3d275414331b53b0a3ed6490719417c016b3515
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 19:17:55 2009 +0000

    RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable some tests until it will be clever enough to handle them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84775 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c040a63f12f348acaa0508f75a58df839bead52
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 19:17:18 2009 +0000

    Implement branch folding

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84774 91177308-0d34-0410-b5e6-96231b3b80d8

commit a791a042aabfbed7db07afd1d9475bac2b0f3cf9
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 19:16:49 2009 +0000

    Cosmetic changes, no functionality changes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67439f05c61cd2445416d7f4f32c4062827376da
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Wed Oct 21 19:11:40 2009 +0000

    Make changes to rev 84292 as requested by Chris Lattner.

    Most changes are cleanup, but there is 1 correctness fix:
    I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8

commit e33f252643208755c07a6b43082f20d05b15af42
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 21 17:54:01 2009 +0000

    Fix NEON VST2LN instruction encoding.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84767 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0053d22f825bf4749beaa282a4263e945aebcbc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 21 17:52:34 2009 +0000

    Revert 84732.  It was the wrong fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84766 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d4250d2a10ec19f50c06baf6cb12f3fa97b0159
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 21 17:33:41 2009 +0000

    Incorporate various suggestions Chris gave during metadata review.

    - i < getNumElements()  instead of getNumElements() > i
    - Make setParent() private
    - Fix use of resizeOperands
    - Reset HasMetadata bit after removing all metadata attached to an instruction
    - Efficient use of iterators

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fab1d621d58906aee98e3ab703a0aa3ffd1ffde
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Oct 21 17:27:23 2009 +0000

    Build shared lib instead of an archive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 154f22e8e4bafc4013c1f6a516b7a8102669012d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 21 15:26:21 2009 +0000

    Cleanup of frame index scavenging. Better code flow and more accurately
    handles T2 and ARM use cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84761 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37f42df1740fcc9fbba819648361fb2494ae6bd8
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Wed Oct 21 13:22:20 2009 +0000

    Two corrections for docs/CMake.html.

    Patch by Victor Zverovich!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84759 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81548e7d913da85e324988057f52e83cf16e3714
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Oct 21 10:49:00 2009 +0000

    Fix PR5262: when folding select into PHI, make sure all operands are available
    in the PHI's Basic Block. This uses a conservative approach, because we don't
    have dominator info in instcombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84754 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00e8f5a671512a8647a3ac418b9d269e3a77ea63
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Oct 21 10:42:44 2009 +0000

    Add a pass to overlay pic16 data sections for function frame and automatic
    variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph
    to detect what function frames and their automatic variables can be overlaid.
    Currently this builds an archive , but needs to be changed to a loadable module.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84753 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9da99aa14b010c5fe3f9e52f53636d7c73181b2d
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Wed Oct 21 10:38:59 2009 +0000

    Added more options to mcc16 driver.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89ef28530fcc03f47245644eb67085b94efd0bac
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 21 08:15:52 2009 +0000

    Match more patterns to movt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c56cfc79c02c68bef1c8bc37f8ee7a47c5e2e32
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 21 07:56:02 2009 +0000

    Need a comma after imp-use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84749 91177308-0d34-0410-b5e6-96231b3b80d8

commit 745edbe1bd3546db5109e59ea48f8a2a9ba569d8
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Oct 21 06:01:54 2009 +0000

    De-bork CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4334a08e041230c998dcf2f0749f05f3a27e35a1
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 21 05:07:57 2009 +0000

    Set comment string, patch by Johnny Chen!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10460aa4c6677cee572aee1692649f713e83cfc3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 21 04:11:19 2009 +0000

    make GVN work better when TD is not around:

    "In the existing code, if the load and the value to replace it with are
    of different types *and* target data is available, it tries to use the
    target data to coerce the replacement value to the type of the load.
    Otherwise, it skips all effort to handle the type mismatch and just
    feeds the wrongly-typed replacement value to replaceAllUsesWith, which
    triggers an assertion.

    The patch replaces it with an outer if checking for type mismatch, and
    an inner if-else that checks whether target data is available and, if
    not, returns false rather than trying to replace the load."

    Patch by Kenneth Uildriks!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84739 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34fdb7750482a92c156acf8a4be9d1550386717c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 21 04:10:24 2009 +0000

    tidy

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a77292423d0cc8955e56147b98b7d39c253eefa
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 21 02:27:20 2009 +0000

    Fix some more NEON instruction encoding problems.
    Thanks to Johnny Chen for discovering the problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84732 91177308-0d34-0410-b5e6-96231b3b80d8

commit df16f21228cf99bf3e8bd192afa1a8246e70341c
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 21 02:21:34 2009 +0000

    Do not remove dead metadata for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84731 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52e0d9d2677019df9209470c4cfcdc0a69365842
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 21 02:15:46 2009 +0000

    Leave some NEON instruction encoding bits unspecified instead of setting
    a default value of zero.  This is important for decoding the instructions.
    Patch by Johnny Chen, with some changes from me, too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83a8e220504f71e2e88e73d866a4ca4542fc2caa
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Oct 21 02:13:52 2009 +0000

    Clarify documentation on multi_val options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2155c0a5a49c4bf016e0e335ebf893d132eb7530
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Oct 21 02:13:13 2009 +0000

    Implement any_[not_]empty and list versions of switch_on and [not_]empty.

    Useful for OptionPreprocessor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84728 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb035b45cbad41ccbc6190fdcc6b888528075bc5
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 21 01:44:44 2009 +0000

    Revert r84658 and r84691. They were causing llvm-gcc bootstrap to fail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30a61c148accb447031985fc98a1213c3bbbc027
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 21 01:10:37 2009 +0000

    IPSCCP is missing stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84725 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca24463d2c9df0ab7775a59ada835267a7043953
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Oct 21 00:51:40 2009 +0000

    This is passing on Darwin PPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84723 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad525150667630fe4c47c88a2da230e283118ae0
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Oct 21 00:43:48 2009 +0000

    Delete the MacOSJITEventListener per echristo's request. It was disabled by
    default and didn't work anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2810c7f3181a3a11b0c69743a4b15cde9e69c875
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:14:15 2009 +0000

    Add note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84713 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd5e1eb3d54f5c045a413152fe63846176aa9bea
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:13:58 2009 +0000

    Be crazy and assert in case of unsupported modifier passed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 616b9bb30f255c7531c70f3ece80402e2b0ed882
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:13:42 2009 +0000

    Handle external symbols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84711 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9a90ae4863e130386e8e4c23c54468afc54f2f7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:13:25 2009 +0000

    Distinguish between pcrel imm operands and 'normal' ones. Fix fixes gross weirdness of asmprinting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7199ce5ab3517ffe7d78878bfc78e5ad3fb42054
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:13:05 2009 +0000

    Add basic block operands & jump kinds

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fcbbcd7945d1216a8572ad0c543ba9c98de3723
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:12:44 2009 +0000

    Ignore all implicit reg operands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84708 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb85a3f2fa93c04bbe6c5fae910c6cfaf1180984
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:12:27 2009 +0000

    Add a workaround for different memops prefixes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84707 91177308-0d34-0410-b5e6-96231b3b80d8

commit baffc35d25adf06f1e50d722523376eee7b31152
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:12:08 2009 +0000

    Checkpoint MCInst printer. We (almostly) able to print global / JT / constpool entries

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a50ba5671ff1b454db4f22d8b5d22b4354d272b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:11:44 2009 +0000

    Add reg-imm tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f66de4cb1e6f103f3d7a5bdb4524f30a0de9ee3
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:11:27 2009 +0000

    Add simple operand printing stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c7ceed86f92915c5244032d7ed36fe4f31c3904
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:11:08 2009 +0000

    Add experimental MSP430 MCInstLowering stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38640dd53e549765a07a47d02f628aeb39593df7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:10:47 2009 +0000

    Wire up MSP430 printMCInst() method

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 425a93824d9237f0130fffad5d433789cbbec63f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:10:30 2009 +0000

    Add MSP430 InstPrinter stub

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84701 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa315908b7d6ca9eef91b45171ca7af5e5b8f6d0
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 21 00:10:00 2009 +0000

    Use proper target data

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84700 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38e5be5da7a72d9318370359b20992765ce73152
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Oct 20 22:50:43 2009 +0000

    Respect src register allocation requirements when breaking anti-dependencies. Remove some dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04480acd34c5bf3312e6ddafb36d595788a26f0f
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 20 22:50:27 2009 +0000

    Cosmetic changes.

    s/validName/isValidName/g
    s/with an Instruction/to an Instruction/g
    s/RegisterMDKind/registerMDKind/g

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38f422c8143b1a7c99796e40e295c677e11fbff9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 22:10:05 2009 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 672de0aa03c5943cfdd1e49206326d1955c8b3a1
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Oct 20 21:37:45 2009 +0000

    Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign)
    transform.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84683 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4a322f88c5a91a151fc42f6d829e11c90ee38ce
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Oct 20 21:28:22 2009 +0000

    Oops. Backing out 84681 - needs to wait for the indexing patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 38f4d15c5884940ea775494bb1e64d5b4b3e9e87
Author: Lang Hames <lhames@gmail.com>
Date:   Tue Oct 20 21:25:13 2009 +0000

    Added some debugging output to pre-alloc splitting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84681 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d7f7fb7fbcf64bc232fe800da0c1f4533485936
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 21:04:26 2009 +0000

    add a real testcase for PR4313

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84676 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3eec137dfa3cb5dd54f6d15f9606a91d8f43f99
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 21:00:47 2009 +0000

    add a test similar to that needed for PR4313, but that doesn't
    fail without the patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84675 91177308-0d34-0410-b5e6-96231b3b80d8

commit c10dc49d8abaad87a2b82cd9e56e989fd7e1d020
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 20:57:58 2009 +0000

    the date on this testcase is wrong, it is unreduced, and it passes without the fix for PR4313.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84674 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ec5024633e3330028b469bd35301da789b77dcc
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 20 20:41:13 2009 +0000

    Fix another place that calls Loop::contains a lot to construct a sorted
    container of the blocks and do efficient lookups. This makes
    isLoopSimplifyForm much faster on large loops, fixing a significant
    compile-time issue in builds with assertions enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84673 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82ad352a6a4e1074d64e41fe3e03f70efba30858
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 20:39:43 2009 +0000

    merge and filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84672 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55190138d93c8d975d7586f56e7b2bbf4be7cd73
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 20:33:46 2009 +0000

    merge two tests and convert to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84671 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ea1568b4728e4de08c89594b232fa9fba80b5d4
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 20:31:31 2009 +0000

    Disable by default while debugging

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84669 91177308-0d34-0410-b5e6-96231b3b80d8

commit b95f0ead66316dc45e05b35edd21ab8069146255
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 20:27:49 2009 +0000

    alternate fix for PR5258 which avoids worklist problems, with reduced testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 860507d1bbced055f324e91a18de4f5ddd650a4f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 20:19:50 2009 +0000

    add cmd line opt to disable frame index reuse for ARM and T2. debug aid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c6665c8637d9483f51c3448941298218748f7eb
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 20 20:06:09 2009 +0000

    Restore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks both
    the estimated code size and the number of blocks when deciding whether to
    do a non-trivial unswitch. This protects it from some very undesirable
    worst-case behavior on large numbers of loop-unswitchable conditions, such
    as in the testcase in PR5259.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11eb3a6c0dc019c8e69c7853e2d3678940714d30
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Oct 20 19:54:44 2009 +0000

    Checkpoint more aggressive anti-dependency breaking for post-ra scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84658 91177308-0d34-0410-b5e6-96231b3b80d8

commit a10c4a8a085bff9a71ee666c2ac214c00dfee9a8
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 19:52:35 2009 +0000

    Better handle instructions that re-def a scratch register

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84657 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c28699c6e054f2033d93c04c87bf7ad88646bc1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 20 18:14:49 2009 +0000

    Following r84485, add Defs = [EFLAGS] to the 32-bit lock instructions too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2512e357a856660a1b30766997ae046eaffe21e5
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 20 18:13:21 2009 +0000

    Move the Function*->allocated blocks map from the JITMemoryManager to the
    JITEmitter.

    I'm gradually making Functions auto-remove themselves from the JIT when they're
    destroyed. In this case, the Function needs to be removed from the JITEmitter,
    but the map recording which Functions need to be removed lived behind the
    JITMemoryManager interface, which made things difficult.

    This patch replaces the deallocateMemForFunction(Function*) method with a pair
    of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *)
    corresponding to the two startFoo/endFoo pairs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6caa53a1305c77e42d5099722ea05ab79ea0ab97
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 16:33:57 2009 +0000

    Register re-use for scavenged frame indices must check for re-deginition
    of the register in the instruction which kills the scavenged value.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ab7dd082e1d3c2e8b7ee74c56502d5d0287f624
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 20 16:22:37 2009 +0000

    Make TranslateX86CC return COND_INVALID instead of aborting when it
    encounters an OEQ or UNE comparison, and update its callers to check
    for this return status and recover. This fixes a problem resulting from
    the LowerOperation hooks being called from LegalizeVectorOps, because
    LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may
    still be at large. This fixes PR5092.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84640 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73b93c38b8150e9360f1089a0746e277b5ed910a
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Oct 20 15:42:00 2009 +0000

    Fix PR5258, jump-threading creating invalid PHIs.
    When an incoming value for a PHI is updated, we must also updated all other
    incoming values for the same BB to match, otherwise we create invalid PHIs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84638 91177308-0d34-0410-b5e6-96231b3b80d8

commit a617464b940cbd549e0fc6600dc3fcdd447f6abe
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Oct 20 15:15:09 2009 +0000

    Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction
    when the invoke had multiple return values: it set the lattice value only on the
    extractvalue.
    This caused the invoke's lattice value to remain the default (undefined), and
    later propagated to extractvalue's operand, which incorrectly introduces
    undefined behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84637 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdaec7c0cbc5d6abdf7db2561af08f90a9856742
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Oct 20 11:44:38 2009 +0000

    Random #include pruning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84632 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02294d8ab2ac257005c9c7dc5c5039ee16d376cc
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Tue Oct 20 09:16:32 2009 +0000

    This file is replaeced by PIC16Section.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4736b507e87b7690eeb2dab726367593aea226ef
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 07:30:54 2009 +0000

    NNT: Implement "config mode", use -config path/to/llvm-config

     - This runs the nightly test and does all the submission logic, but using the
       LLVM build specified by the llvm-config.

     - Useful for, among other things, testing NNT itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 955b7394b5be916e47f93865b099bd57738b4e16
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 07:30:46 2009 +0000

    NNT: Remove unused BUILDTYPE argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84619 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d01a09e9033c335655d9652b6a609e41d4db8c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 06:22:33 2009 +0000

    implement some more easy hooks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ec22035cfa3affa2e5e5a026fe228716831a781
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 06:15:28 2009 +0000

    Implement some hooks, make printOperand abort if unknown modifiers are
    present.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cc1d3464849d68ba734f6ff8f54b934f53e218d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 05:58:02 2009 +0000

    t2MOVi32imm is currently always lowered by the Thumb2ITBlockPass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84611 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56f4502e733d0373166542f85ee641e9df72413e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 05:33:23 2009 +0000

    PowerPC ifdef'ing considered more complicated than one might like.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75b4315d0399ae642397f7deec028adb1802a8bb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 05:15:36 2009 +0000

    Wire up the ARM MCInst printer, for llvm-mc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84600 91177308-0d34-0410-b5e6-96231b3b80d8

commit b457c89c5998fb359323bf27c43fa326c1016124
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 20 04:50:37 2009 +0000

    Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are
    tracked. Instead of trying to manually keep track of these locations
    while doing complex modifications, just recompute them when they're needed.
    This fixes a bug in which the TopMBB and BotMBB were not correctly updated,
    leading to invalid transformations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2894c9052cf5b91ff9d422c31c5aa68eebb869e2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 20 04:23:20 2009 +0000

    Trim unnecessary includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e3f3cec672df37935f6c651d1135657fdfe5cdd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 20 04:16:37 2009 +0000

    Add getTopBlock and getBottomBlock member functions to MachineLoopInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84596 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2455d2907541391f396ae4eecd5814aecb6ce4d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Oct 20 04:09:50 2009 +0000

    Correct test for PowerPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84595 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3a4de41a79969ce6e6ac96facfa9d4a01c5e7f1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 02:23:13 2009 +0000

    Revert "Tweak top-level Makefile to facilitate Apple-style build.", this is
    breaking Clang's Apple-style build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a284bff97818a9da5313655544ee6d22ff77a67
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 20 02:23:05 2009 +0000

    NNT: Remove duplicate verbose print.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86fc0730e6c0f4c2f6fdb0a9296fa4eb2802ef53
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 01:32:47 2009 +0000

    Now that all ARM subtargets use frame index scavenging, the Thumb1 requires*
    functions are not needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84587 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f576c1745fb305f8db1f583022e7e4e93706841
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 20 01:31:09 2009 +0000

    If the physical register being spilled does not have an interval, spill its sub-registers instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84586 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81d33cdd24ad12950350365eb634134292e357e1
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 01:26:58 2009 +0000

    Enable post-pass frame index register scavenging for ARM and Thumb2

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84585 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7960fbe0b2679bda3c6db9ebf0c13d0e0f1f8a3b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 01:11:37 2009 +0000

    lower ARM::MOVi32imm properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84583 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5044e84ffc2dfe993b050d96403ec1170645903
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 00:56:16 2009 +0000

    add support for external symbols.  The mc instprinter  can now handle
    reasonable code like Codegen/ARM/2009-02-27-SpillerBug.ll, producing
    identical output except for superior formatting of constant pool entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84582 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2483d54b25eb8f19ca58419b01918eb5a4a0a1c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 00:52:47 2009 +0000

    get fancy: support basic block operands.  Yay for jumps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84579 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37cd7db2c8fa2817637d8b5ecafcc33a167865ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 00:46:11 2009 +0000

    add supprort for the 'sbit' operand, MOVi apparently has one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31c1d7b06d5f7ec47ec96d99275faee9624cffd0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 00:42:49 2009 +0000

    add support for instruction predicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84575 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4eb7345116dbb08a81742416317b707b6c2cb76
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 20 00:40:56 2009 +0000

    implement printSORegOperand, add lowering for the nasty and despicable MOVi2pieces :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84573 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8d6989f39c90afddab819efd17372519278e71c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 00:38:19 2009 +0000

    Refs: A8-598.
    Leave Inst{11-8}, which represents the starting byte index of the extracted
    result in the concatenation of the operands and is left unspecified.

    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77ef7774b592306694272b141712dec57a94caab
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 20 00:19:08 2009 +0000

    Add missing encoding bits to NLdSt class of instructions.

    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ac9153989bc41f2b4f6b20379870e7caf22b86d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 23:35:57 2009 +0000

    X86 should ignore implicit regs when lowering to MCInst also,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84567 91177308-0d34-0410-b5e6-96231b3b80d8

commit aabf5bee0bd2fc12e02937511e4e28d400c8211e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 23:31:43 2009 +0000

    handle addmode4 modifiers, fix a fixme in printRegisterList
    by ignoring all implicit regs when lowering.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84566 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9e0e2a295cd5d167dfe579d2f889f091c5e7f95
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 23:05:23 2009 +0000

    simplify by using the twine form of GetOrCreateSymbol

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84565 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07e97529cb7a8e1608ceedefb5ba5fde32cdb74f
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Oct 19 23:00:00 2009 +0000

    Updated cmake library dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46999f20018606012039e3fe0861ea8d0a632593
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Oct 19 22:57:03 2009 +0000

    Enable allocation of R3 in Thumb1

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84563 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1ca870b6187d888ca1b83095fc0a37b38a33613
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 22:51:16 2009 +0000

    use EmitLabel instead of text emission

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2743f3605a9fcd16f1045a8d9bcb8950cab0860e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 22:49:00 2009 +0000

    add a twine version of MCContext::GetOrCreateSymbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84561 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c565d8576a1ceb933301e7437723978ba985553
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 22:33:05 2009 +0000

    lower the ARM::CONSTPOOL_ENTRY pseudo op, giving us constant pool entries
    like:

    @ BB#1:
    	.align	2
    LCPI1_0:
    	.long	L_.str-(LPC0+8)

    Note that proper indentation of the label :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84558 91177308-0d34-0410-b5e6-96231b3b80d8

commit 976a864c9995dced48ffaca18ff68921f0a4d5df
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Oct 19 22:27:30 2009 +0000

    Adjust the scavenge register spilling to allow the target to choose an
    appropriate restore location for the spill as well as perform the actual
    save and restore.

    The Thumb1 target uses this to make sure R12 is not clobbered while a spilled
    scavenger register is live there.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 817d551945e7ce46b12f8b3d022c7a7a0e90275e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 22:23:04 2009 +0000

    add MCInstLower support for lowering ARM::PICADD, a pseudo op for pic stuffola.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84553 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7d4c7c42ec13195de5096d6d82d68e175a1fde4
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Oct 19 22:14:22 2009 +0000

    Refactor lookup_or_add to contain _MUCH_ less duplicated code.  Add support for
    numbering first class aggregate instructions while we're at it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84547 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8bdad042bc8e9f7c0aad7194ab4c120f38aba01
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 22:09:23 2009 +0000

    add register list and hacked up addrmode #4 support, we now get this:

    _main:
    	stmsp! sp!, {r7, lr}
    	mov r7, sp
    	sub sp, sp, #4
    	mov r0, #0
    	str r0, [sp]
    	ldr r0, LCPI1_0
    	bl _printf
    	ldr r0, [sp]
    	mov sp, r7
    	ldmsp! sp!, {r7, pc}

    Note the unhappy ldm/stm because of modifiers being ignored.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84546 91177308-0d34-0410-b5e6-96231b3b80d8

commit 965998b0cd1ca7f0e3a389cd2086034fc16a5d2b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 21:59:25 2009 +0000

    revert r84540, fixing build breakage I didn't see because of
    broken makefile deps :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84544 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1977ef5f64e12407799dbb7b6c113b4b0567db1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 21:57:05 2009 +0000

    add addrmode2 support, getting us up to:

    _main:
    	stm ,
    	mov r7, sp
    	sub sp, sp, #4
    	mov r0, #0
    	str r0, [sp]
    	ldr r0, LCPI1_0
    	bl _printf
    	ldr r0, [sp]
    	mov sp, r7
    	ldm ,

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84543 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9521525ee4beef3f057a4b1921399322c5060f97
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 21:53:00 2009 +0000

    add jump tables, constant pools and some trivial global
    lowering stuff.  We can now compile hello world to:

    _main:
    	stm ,
    	mov r7, sp
    	sub sp, sp, #4
    	mov r0, #0
    	str r0,
    	ldr r0,
    	bl _printf
    	ldr r0,
    	mov sp, r7
    	ldm ,

    Almost looks like arm code :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96a4cb23a20b1c7c67bd04759f2a67bf4f289bbd
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Mon Oct 19 21:47:22 2009 +0000

    Malloc calls are marked NoAlias, so the code below the isMalloc() check makes it redundant.  Removing the isMalloc() check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84541 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed37b58917e817139e25466c91e36813435fb1f9
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 21:45:31 2009 +0000

    pass mangler in as a reference instead of a pointer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33576323678a64f89b0f2598b54a8a9b6d95b93a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Oct 19 21:24:28 2009 +0000

    More refactoring...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84537 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba9c060b0e2a2bc7cadcbc2bff3a8e025f00213d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 21:23:15 2009 +0000

    reduce #includes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84536 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc309683cabf05c1ec7175ecdaf5ba97a36fb1cc
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 21:21:39 2009 +0000

    add printing support for SOImm operands, getting us to:

    _main:
    	stm ,
    	mov r7, sp
    	sub sp, sp, #4
    	mov r0, #0
    	str r0,

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84535 91177308-0d34-0410-b5e6-96231b3b80d8

commit b472cd8f456dc9cb9e8071c2ea9e068a07566308
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Oct 19 21:14:57 2009 +0000

    Simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 799e7c15430c30c25ad374e2022c23b88a27a7fe
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 20:59:55 2009 +0000

    wire up some basic printOperand goodness, giving us stuff like this before
    we abort:

    _main:
    	stm ,
    	mov r7, sp
    	sub sp, sp,
    	mov r0,
    	str r0,

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1526e99433566fb172e9f82340455fbf783963a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 20:21:05 2009 +0000

    add the files that go with the previous rev

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84531 91177308-0d34-0410-b5e6-96231b3b80d8

commit da6d01a3c6e8fcf1685b7903f966ac6c27cd6c62
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 20:20:46 2009 +0000

    wire up skeletal support for having llc print instructions
    through mcinst lowering -> mcinstprinter, when llc is passed
    the -enable-arm-mcinst-printer flag.  Currently this
    is very "aborty".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84530 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee99626c6bd31b4c0eea7de52945f514d7b2b0c6
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Oct 19 20:11:52 2009 +0000

    Banish ConstantsLock.  It's serving no purpose other than slowing things down
    at the moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84529 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd73ff4241505512fbaba4781c019338774893a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 19:59:05 2009 +0000

    wire up ARM's printMCInst method.  Now llvm-mc should be able to produce
    "something" when printing MCInsts, it will just be missing all the
    operand info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d01409390c7392f92540fa207556c2acc2ed89b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 19:56:26 2009 +0000

    stub out a minimal ARMInstPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84527 91177308-0d34-0410-b5e6-96231b3b80d8

commit be7efccdb9578e39f224bf36a66c191dd6943e9e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 19:51:42 2009 +0000

    remove strings from instructions who are never asmprinted.
    All of these "subreg32" modifier instructions are handled
    explicitly by the MCInst lowering phase.  If they got to
    the asmprinter, they would explode.  They should eventually
    be replace with correct use of subregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84526 91177308-0d34-0410-b5e6-96231b3b80d8

commit e45e6f933f7296f36a21918ef8d59431550c8eda
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Oct 19 18:49:59 2009 +0000

    Clean up the JITResolver stub/callsite<->function maps.

    The JITResolver maps Functions to their canonical stubs and all callsites for
    lazily-compiled functions to their target Functions. To make Function
    destruction work, I'm going to need to remove all callsites on destruction, so
    this patch also adds the reverse mapping for that.

    There was an incorrect assumption in here that the only stub for a function
    would be the one caused by needing to lazily compile it, while x86-64 far calls
    and dlsym-stubs could also cause such stubs, but I didn't look for a test case
    that the assumption broke.

    This also adds DenseMapInfo<AssertingVH> so I can use DenseMaps instead of
    std::maps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c7f8d32d6edd39000fbb2643828d86d2235b139
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:49:14 2009 +0000

    simplify code, reducing string thrashing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84521 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9a6f16cfc733a242378b2bd57f744e46f88fed5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:44:38 2009 +0000

    switch hidden gv stubs to use MachineModuleInfoMachO instead of a custom map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5212138dbd0f9b3f1b0ce4db245fc43f7e29b242
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:38:33 2009 +0000

    use MachineModuleInfoMachO for non-lazy gv stubs instead of a private map.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84519 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3a3110595d5ac406334584886588e5c94ea9d78
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:27:56 2009 +0000

    convert to filecheck syntax and make a lot more aggressive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e1e52272a4d8168ae18689877ae1fe7737ced4f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Oct 19 18:21:09 2009 +0000

    Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43bc0c42b35039d7ad103d3dfd5e075c9fb52a61
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:18:07 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14f3c57043c80ba21e32c04f4b911872a154fc86
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:11:25 2009 +0000

    remove dead map

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 882baf592d34dab3679b411d457b5a36f6b53a22
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:08:02 2009 +0000

    don't bother trying to avoid emitting redundant constant pool alignment directives.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55112546ec17566bda9c1baece0837b0f8645d43
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:03:41 2009 +0000

    remove accidental comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84510 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe284f7efed56c46bae93eb3980924544ec9f513
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 18:03:08 2009 +0000

    emit .subsections_via_symbols through MCStreamer instead of textually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84509 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8db78262d2760d34ef451cdde7b20b9177a2f0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 17:59:19 2009 +0000

    cleanup doFinalization -> EmitEndOfAsmFile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84508 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79caa11f7f8f871914ae6915d84c8548cf194b04
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Oct 19 17:53:54 2009 +0000

    Tweak top-level Makefile to facilitate Apple-style build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 186a6a5b4f2db03622c216773e841de4255357eb
Author: Nate Begeman <natebegeman@mac.com>
Date:   Mon Oct 19 17:31:16 2009 +0000

    PR 5245 - The imediate size target flag was not set on 3A-prefixed SSSE3 instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84506 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd13d085ce8ca450d379abf127ced1cb097cce10
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 19 16:04:50 2009 +0000

    Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
    where a loop's header is being split and it has predecessors which are not
    contained by the most-nested loop which contains the loop.
    This fixes PR5235.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84505 91177308-0d34-0410-b5e6-96231b3b80d8

commit d20dd8f42feee188300b2f59ea4a9c0ab4809690
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 19 14:56:05 2009 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84504 91177308-0d34-0410-b5e6-96231b3b80d8

commit 988308e1aa1aa43502e9dd353cf50bc409ca5f96
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 19 14:52:05 2009 +0000

    Change a few instance variables to be local variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ceed37700dafc4ba39a17bfc47f9e4c468e6e7a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 19 14:47:32 2009 +0000

    Change instnamer to name arguments "arg" instead of "tmp" for clarity, and
    to name basic blocks "bb" instead of "BB", for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84502 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5382fb5c471313e455811e52766ff319d5ff389
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:56 2009 +0000

    NNT: Add -parallel-test option, which runs llvm-test with
    ENABLE_PARALLEL_REPORT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84497 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96aab414701203ede877aeac1d4a1875f63022ed
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:50 2009 +0000

    NNT: Don't hard code -l3.0 argument to make, this is very server dependent. Users who care can use -compileflags for this.

    Also, fix make clean call and a few other tweaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84496 91177308-0d34-0410-b5e6-96231b3b80d8

commit f41928152aad569778c5fd8066da19eaae636fee
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:44 2009 +0000

    NNT: Fix refactoro, I dropped the list of all (llvm-test) tests. I'm sure it was named dejagnu_test_list for a good reason.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84495 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2b34e390409e9a8c33f603782d0b6ec4ec26c01
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:38 2009 +0000

    NNT: Lift conditional logic out of test steps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b9446e3b98f9d9f3f51dc108691768138f21f81
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:31 2009 +0000

    NNT: Now that build & test steps are factored out, coalesce all the logic together.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84493 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2942b0204853452b8236646b01e50cd1d29af9a6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:25 2009 +0000

    NNT: Sink code for running nightly test into subroutine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84492 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce25dafc1634a23335e133d77c2d0bff89e7b3a6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:19 2009 +0000

    NNT: Tweaks and simplifications.
     - Split out configure log.
     - Kill off GetRegexNum.
     - Fix GetRegex to not return previous match on failure.
     - Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84491 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2ec0094a0679b9265e1722c6422f2020c9f2ba6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:13 2009 +0000

    NNT: Move build code into subroutine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84490 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4493e94e93c1c26fd70a9aeff21044b01a3f84f8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:06 2009 +0000

    NNT: Move source checkout code into subroutine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c52ad157a2afc9cf0cdc24d840ec95c4f97b86b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:20:00 2009 +0000

    NNT: Remove .{o,a} size info, this is better tracked elsewhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6981e023d9d22b1e3e8d46b84da8c32050b25521
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 13:19:53 2009 +0000

    NNT: Remove code to track build warnings, the buildbots cover this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84487 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce819f1cfc4fd012a8f7515f57cbe7fd6747c67b
Author: Edwin Török <edwintorok@gmail.com>
Date:   Mon Oct 19 11:00:58 2009 +0000

    Fix PR5247, "lock addq" pattern (and other atomics), it DOES modify EFLAGS.
    LLC was scheduling compares before the adds causing wrong branches to be taken
    in programs, resulting in misoptimized code wherever atomic adds where used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f5a54282ccce79a8d4b2a6b28515bfe86620234
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:19:32 2009 +0000

    Also check for __POWERPC__ when skipping these tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84482 91177308-0d34-0410-b5e6-96231b3b80d8

commit dce5acc21533ac83a5ba75642c0cfc4c02155937
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:19:19 2009 +0000

    NNT: Remove hard coded BuildDir and WebDir, users should have to specify these.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ec7b9e26cc036a52125efaa186321d2bbf59c1c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:19:09 2009 +0000

    NNT: Remove "CVS Stats", this isn't particularly useful and can be better done by the server or user.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 414cffec0a45ba543ddca53e8a24e8a833f1588a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:18:54 2009 +0000

    NNT: Remove now-unused -cvstag argument and CVSROOT code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84479 91177308-0d34-0410-b5e6-96231b3b80d8

commit affc0a59ae87e928f31dc939fe065e3903bd11e4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:18:46 2009 +0000

    NNT: Remove -usecvs option, this is very old.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84478 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d2151fa92c53725a76d4679c22e07f54d7dfeac
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:18:37 2009 +0000

    NNT: Remove -debug argument, it is unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84477 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae3faf16d09e5247aca536bd9b905e37a38a55f2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 09:18:24 2009 +0000

    Regroup NewNightlyTest.pl options

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84476 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ea0b60777d86112abcbee9b15dd5073f1a366d1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 07:10:59 2009 +0000

    various cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84471 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd0729d4def76cc0a73fad25eeeba48fd045f776
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 05:51:03 2009 +0000

    simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56121b8af3863dafe75a4c6caf57be85d1ff0e78
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 05:34:14 2009 +0000

    eliminate md_on_instruction.ll, md_on_instruction2.ll is a superset of it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84464 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6a1c72ff0baf32402308e691695dc40c52d91c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 19 05:31:10 2009 +0000

    clean up after metadata changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84463 91177308-0d34-0410-b5e6-96231b3b80d8

commit c62ebee717f224491aa4239b567e11c7ac78ea0f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 03:54:21 2009 +0000

    lit: When running Tcl scripts via shell, try harder to find 'bash', but fall
    back to running them internally if that fails. PR5240.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84462 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4e496517b45bd4ac4181a9c4748552409792a96
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 03:54:13 2009 +0000

    Add link to 'lit' from CommandGuide.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84461 91177308-0d34-0410-b5e6-96231b3b80d8

commit 618232c08a37f39031de8a94fa91bc6a6186373b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Oct 19 03:53:55 2009 +0000

    Teach lit that the .c files in 'test/CodeGen/CellSPU/useful-harnesses' aren't tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84460 91177308-0d34-0410-b5e6-96231b3b80d8

commit 080f8e27b25d17bba69e18e1a8eddaa32288604c
Author: Nate Begeman <natebegeman@mac.com>
Date:   Mon Oct 19 02:17:23 2009 +0000

    Add support for matching shuffle patterns with palignr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84459 91177308-0d34-0410-b5e6-96231b3b80d8

commit af4fb5a5cc937dd6aa982e393c6574707913d0ed
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Oct 18 22:51:30 2009 +0000

    Refactoring, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84450 91177308-0d34-0410-b5e6-96231b3b80d8

commit c91317828c58e9780e7d6b6c127dc87cf61fa1f5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 18 19:58:47 2009 +0000

    Spill slots cannot alias.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e2f5a4d9034c358ba5b077e24b4279d1194e328
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 18 19:57:27 2009 +0000

    Turn on post-alloc scheduling for x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84431 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbbfd5928726deeefc1ae03df8a70aca8a225197
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 18 18:31:31 2009 +0000

    Oops. I forgot to change the tests first. Disable post-alloc scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84425 91177308-0d34-0410-b5e6-96231b3b80d8

commit 174e2cf99df2011a0d56e96dcdb32c1ccaf4f464
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 18 18:16:27 2009 +0000

    -Revert parts of 84326 and 84411. Distinquishing between fixed and non-fixed
    stack slots and giving them different PseudoSourceValue's did not fix the
    problem of post-alloc scheduling miscompiling llvm itself.
    - Apply Dan's conservative workaround by assuming any non fixed stack slots can
    alias other memory locations. This means a load from spill slot #1 cannot
    move above a store of spill slot #2.
    - Enable post-alloc scheduling for x86 at optimization leverl Default and above.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84424 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3820341c59acd9a1d0a664a2ce86745015d8fccb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 18 06:27:36 2009 +0000

    Only fixed stack objects and spill slots should be get FixedStack PseudoSourceValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66f2cb90e57e03f3f141ae225969c90a00ac2784
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:27:44 2009 +0000

    remove some nonascii weird stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 234d587487a9c825cef6c5f96a430f69250cbdba
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:20:17 2009 +0000

    remove a now-pointless regtest

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 708770bbcab0eeaad849b10542fcba56c72d23fc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:09:15 2009 +0000

    add some fixme's

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5451359c1e3d61ff28c2dab42cd6fc4b3f802344
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:08:07 2009 +0000

    punctuate properly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24a2abdaedcac06cea91153c375373e044dfe1ff
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:03:41 2009 +0000

    remove testcase for dead pass

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84406 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e4d92851e2a8bc442034b7b8fe1d3bf1d951d2d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:03:00 2009 +0000

    fix test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84405 91177308-0d34-0410-b5e6-96231b3b80d8

commit b68e27a04f32573543c23bbcd33518cd9257905a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 05:02:09 2009 +0000

    remove the IndMemRemPass, which only made sense for when malloc/free were intrinsic
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22a687f687f626a83c0608c45de864d76f503604
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:58:34 2009 +0000

    fix the other issue with ID's, hopefully really fixing the linux build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84403 91177308-0d34-0410-b5e6-96231b3b80d8

commit a07bed1e7ea771a4cf7e0aba70fd22c812ee3b5a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:55:26 2009 +0000

    tighten up test3, add test3a for the converse
    transform, which isn't happening yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84402 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b554f7452046589a922493f4a062c133da401f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:50:18 2009 +0000

    tighten test2, add a test that it doesn't get transformed in the invalid edge case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 285e6506294aba9e2738a3d645e1ea93101d1b04
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 18 04:41:36 2009 +0000

    Merge tests into modref.ll. Also add a test for r84174 at Chris' behest!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84400 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc8aea94fd079629681425b0d35d296ae687db88
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:27:14 2009 +0000

    fix some problems with ID definitions, which will hopefully fix the build bots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82e741607967f2d0f16af4be7d47e91ba62c43a8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:10:40 2009 +0000

    add function passes for printing various dominator datastructures
    accessible through opt.  Patch by Tobias Grosser!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84397 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f3311465b03efa4c14cc46431768a269610077f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:09:11 2009 +0000

    make DOTGraphTraits public, patch by Tobias Grosser!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84396 91177308-0d34-0410-b5e6-96231b3b80d8

commit 288dde63a65a687f73227a676c5d6d7a0656a29a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 18 04:05:53 2009 +0000

    add nodes_begin/end/iterator for dominfo, patch by Tobias Grosser!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84395 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3ad8096d8df43b24644d6fdb2485d57d12734ce
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Oct 18 02:05:42 2009 +0000

    Support GoogleTest's "typed tests"
    (http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide#Typed_Tests)
    in lit.py.  These tests have names like "ValueMapTest/0.Iteration", which broke
    when lit.py os.path.join()ed them onto the path and then assumed it could
    os.path.split() them back off.  This patch shifts path components from the
    testPath to the testName until the testPath exists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84387 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56939cebe60e2fd6ae196570764b8149f8f3b88b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 18 00:42:07 2009 +0000

    Add a couple new testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84385 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb5dd54e60ded55b75c1bfbc873210bc46c4470d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 23:59:51 2009 +0000

    replace a useless test with a useful one

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 918fdb719a332177af23aaa94bdb667979205412
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Oct 17 23:56:18 2009 +0000

    More warnings patrol: Another unused argument and more implicit
    conversions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84382 91177308-0d34-0410-b5e6-96231b3b80d8

commit b07b4b26cdda848985cf1d8e62b9d98fdc35b0f0
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Oct 17 23:52:26 2009 +0000

    Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed,
    LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the
    resulting instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4793c939b4b654a0902323f8ae32c46b5169a649
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 23:48:54 2009 +0000

    inline isGEP away.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 844797e20c5a78cdefd967a979a19415398ddd2c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 23:15:04 2009 +0000

    Fix my -Asserts warning fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84372 91177308-0d34-0410-b5e6-96231b3b80d8

commit fec939c71ac163fd0ad235cd7da545cf4472fc3b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 21:53:27 2009 +0000

    Teach vm core to more aggressively fold 'trunc' constantexprs,
    allowing it to simplify the crazy constantexprs in the testcases
    down to something sensible.  This allows -std-compile-opts to
    completely "devirtualize" the pointers to member functions in
    the testcase from PR5176.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84368 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9a0841baa2ec61270e133ffbfbe112158ba8a42
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 21:51:19 2009 +0000

    remove # uses from FileCheck lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 568b8beb18a5e4752307f149e45f71569af60e74
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 21:31:19 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 826b38064530cd5a666d7ccddc96465476c4bdeb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 20:43:42 2009 +0000

    Move UnescapeString to a static function for its sole client; its inefficient and broken.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c5f301e26efb526c76870107210598d5008c4dd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 20:43:29 2009 +0000

    Remove llvm::EscapeString, raw_ostream::write_escaped is much faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84357 91177308-0d34-0410-b5e6-96231b3b80d8

commit f89f4be5637df6ac149e83c3aa7b52bc4e6d7db0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 20:43:19 2009 +0000

    Use raw_ostream::write_escaped instead of EscapeString.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6af700555f6c97d33872c2bbf316214924247065
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 20:43:08 2009 +0000

    Add raw_ostream::write_escaped, for writing escaped strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d43539e07cc1a865b4f54bedbd0b374e04963a4
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Oct 17 20:09:29 2009 +0000

    First draft of the OptionPreprocessor.

    More to follow...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84352 91177308-0d34-0410-b5e6-96231b3b80d8

commit c53d225e9d93e78dd5ae9f8ee7b6e5fc0bec3e56
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Oct 17 20:08:47 2009 +0000

    This variable is never used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95b99cae40c20a3fa2da3ee0e58e29d4e21701ed
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Oct 17 20:08:30 2009 +0000

    Disallow multiple instances of PluginPriority.

    Several instances of PluginPriority in a single file most probably signifies a
    programming error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84350 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbe1e4185d46cf2c8bfc2413595490285665e82a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sat Oct 17 20:07:49 2009 +0000

    -O[0-3] options should be also forwarded to opt and llc.

    This will require implementing OptionPreprocessor to forbid invalid invocations
    such as 'llvmc -O1 -O2'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84349 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecae47867f4d466a71600ca7ba1cbca69befc276
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Oct 17 19:43:45 2009 +0000

    Emit newlines at the end of instructions too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84348 91177308-0d34-0410-b5e6-96231b3b80d8

commit baa7e86d8243c7fa92e72f97035339bb59412aaf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 18:21:06 2009 +0000

    Move StringMap's string has function into StringExtras.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84344 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd35458c807abf6a887ee7983639d2ebe5a9736b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 18:11:57 2009 +0000

    Remove unnecessary include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84336 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa127ee919bdff5f6363818a10fe7db8d70e0780
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 09:33:00 2009 +0000

    Suppress -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5505bc1c26d335e9a0f22f2c55fcf7544037b2d9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 17 09:20:14 2009 +0000

    Distinquish stack slots from other stack objects. They (and fixed objects) get FixedStack PseudoSourceValues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84326 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96156ef84788d3fdfe445226b4904e3bc37321df
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 17 08:57:09 2009 +0000

    Re-arrange some fields.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84324 91177308-0d34-0410-b5e6-96231b3b80d8

commit 766b3658894b467195bc3ecde407f4c31711fe17
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 08:12:36 2009 +0000

    Add another required #include for freestanding .h files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f99657b2abd791d220018261e21d9f4008708b4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 17 07:53:04 2009 +0000

    Revert 84315 for now. Re-thinking the patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77e61b46fce5e165ecfedb5666c43b3d2c1dc971
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 17 06:22:26 2009 +0000

    Rename getFixedStack to getStackObject. The stack objects represented are not
    necessarily fixed. Only those will negative frame indices are "fixed."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84315 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1adc252eb5e951fc26ff19d06854d7828f9c5f48
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Oct 17 06:05:11 2009 +0000

    80 col violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a5b9f815bc8bcbac451d4d6e9c4f23fc2376683
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 05:39:39 2009 +0000

    Simplify some code (first hunk) and fix PR5208 (second hunk) by
    updating the callgraph when introducing a call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14bff688ddb01a7b6c8dee87934d4535b27e71c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 17 04:47:42 2009 +0000

    check in a bunch of content from TestingGuide.  Part of PR5216

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 479d5af531b5f84661180a3dc3435cd3ffeb7942
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 03:28:28 2009 +0000

    llvm-as: Simplify, and don't create empty output files with -disable-output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84304 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdd9c1a09a9dd512d440f432ff6ea5152198e545
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 03:28:20 2009 +0000

    Reclaim a lost month.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 852942c7c83c65c39e3758423e7251e45067c596
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Oct 17 03:28:07 2009 +0000

    Add required #includes for freestanding .h files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84302 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb39ea144fef229366341ab9636934e73de09b43
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 17 01:37:38 2009 +0000

    Delete an obsolete comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37f513df87ceb54e873adc113a1fcf4af9556833
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Oct 17 01:18:07 2009 +0000

    Remove MallocInst from LLVM Instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2996ee5c9a9e0c05141675726ba67d5484c541e
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 17 00:32:43 2009 +0000

    Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic
    to be more general and understand more varieties of loops.

    Teach CodePlacementOpt to reorganize the basic blocks of a loop so that
    they are contiguous. This also includes a fair amount of logic for preserving
    fall-through edges while doing so. This fixes a BranchFolding-ism where blocks
    which can't be made to use a fall-through edge and don't conveniently fit
    anywhere nearby get tossed out to the end of the function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20c851251fd60708146d2ece04972eb6ce4e3deb
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 17 00:28:24 2009 +0000

    Add a splice member function which accepts a range instead of a
    single iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84294 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6203d9d219ba79ef8427a773cc0b2df69e3165f7
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Sat Oct 17 00:00:19 2009 +0000

    Autoupgrade malloc insts to malloc calls.
    Update testcases that rely on malloc insts being present.

    Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d1e0840efbf5ad8d6f9578ff9b7029b0246c3af
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Oct 16 23:12:25 2009 +0000

    HeapAllocSRoA also needs to check if malloc array size can be computed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84288 91177308-0d34-0410-b5e6-96231b3b80d8

commit 304ec288964451a72c3f632bc5c6c927337f3b8f
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Oct 16 22:09:05 2009 +0000

    Update tests to use FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84282 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd49010577b9dcf3e3dea49f8412662a4b73f5cc
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Oct 16 22:07:19 2009 +0000

    Add test case for r84279

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84280 91177308-0d34-0410-b5e6-96231b3b80d8

commit e50ac8f2f5743922862162859c658dfb3ca4ab14
Author: Mon P Wang <wangmp@apple.com>
Date:   Fri Oct 16 22:05:48 2009 +0000

    Allow widening of extract subvector

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84279 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18a7d1c9020268e07643101f0944fe4c4febef25
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 16 21:27:43 2009 +0000

    Do not emit name entry for a pointer type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84276 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86e24b01e3cfdd1d2f533df99be1824515b677c5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 21:06:15 2009 +0000

    Change createPostRAScheduler so it can be turned off at llc -O1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84273 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e1dcfc3d1327614ac50f7f6ad8e298a3b90f927
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 21:02:20 2009 +0000

    Add a CodeGenOpt::Less level to match -O1. It'll be used by clients which do not want post-regalloc scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ddf5988322bcade2fc323adf82b95a63db1d2b4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 16 20:59:35 2009 +0000

    Move zext and sext casts fed by loads into the same block as the
    load, to help SelectionDAG fold them into the loads, unless
    conditions are unfavorable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84271 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a2ffff5b616781b32f48ef657bdcf79bef4e2d3
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 16 18:45:49 2009 +0000

    Parse PHI instruction with attached metadata.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84264 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6871afa41a2f40b6c1c3d8ef087c474d999ffc7
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 16 18:18:03 2009 +0000

    If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84262 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17c3d2a4a530bc8e63919de919b3b94c425dc499
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Oct 16 18:08:17 2009 +0000

    Invert isSafeToGetMallocArraySize check because we return NULL when we don't know the size.

    Thanks to Duncan Sands for noticing this bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84261 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6201175b20cfea5318be7e5fe1740352310078e3
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Oct 16 18:07:17 2009 +0000

    Invert isSafeToGetMallocArraySize check because we return NULL when we don't know the size.

    Thanks to Duncan Sands for noticing this bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84260 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9235ce598591f5a1b3909bcfaf7f165c7a401d51
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 16 16:30:58 2009 +0000

    Update from Cristina, llvm-gcc doesn't build on the SPARC version of solaris
    at the moment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84258 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa1562a685ba347b2dae203d2988fc031cce9c2d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 16:30:02 2009 +0000

    Force triple in tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84257 91177308-0d34-0410-b5e6-96231b3b80d8

commit d483c393bc30eceb75bf59dc0ea8778ac7f265b5
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Oct 16 15:20:13 2009 +0000

    Strip trailing white space.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31c1be0731372506379290d0329d6ba53d00105d
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Oct 16 12:18:23 2009 +0000

    Check that GVN performs this transform even if the calls
    themselves are not marked readonly, but only the called
    functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84253 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8581c1174108faf2b7c8c4f02b7190f35438f762
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Oct 16 10:29:08 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 018db6635bdae3d0d7a12a1cab571b7c8c4a4cce
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Fri Oct 16 08:58:34 2009 +0000

    Cleaned up some code. No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1302f57663145190ad603a572aeeadb066def866
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 06:18:09 2009 +0000

    I am no spelling bee.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84250 91177308-0d34-0410-b5e6-96231b3b80d8

commit cae7b0e6150f2fe795277324bb7107dba39a78e7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 06:11:08 2009 +0000

    Enable post-alloc scheduling for all ARM variants except for Thumb1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57796906e96fa68af19262323496e4b9c038a516
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 06:10:34 2009 +0000

    If post-alloc scheduler is not enabled, it should return false, not true.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 722d96604ba2eed55fc01e166566935979f4739b
Author: Zhongxing Xu <xuzhongxing@gmail.com>
Date:   Fri Oct 16 05:42:28 2009 +0000

    Indent code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84247 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11891b19a322b2bf91180b7be3d322a280af5f8c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 05:33:58 2009 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84246 91177308-0d34-0410-b5e6-96231b3b80d8

commit e7a6705ab48692b1c34be80322bc4846bd3c2a74
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 05:18:39 2009 +0000

    80 column violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84244 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05538f12cafe7defa2e94364b8f0efba3ace7483
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 16 03:58:44 2009 +0000

    Fix more NEON instruction encodings.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84243 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60a6b65b8c1d4ce983ff3e8813fb5b6d841a947d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 16 02:13:51 2009 +0000

    Add half precision floating point support (float16) to APFloat,
    patch by Peter Johnson! (PR5195)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 814d6c1a619c09ce2f14ce63a056caad815d515d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 16 02:06:30 2009 +0000

    add haiku support, patch by Paul Davey!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84238 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ea11530adf5179347449057cd5dabfde6e15bcc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:58:23 2009 +0000

    MC: Set symbol values in MachO MCStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84236 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a37ec3deab603bd7691b56104887cb6de8bb22
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:58:15 2009 +0000

    Minor formatting tweaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e5c1b69df607d4894e005a357d0c90a86aeabc5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:58:03 2009 +0000

    MC: Switch assembler API to using MCExpr instead of MCValue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 123febf23cf84ced76a714912c4ad4c16712ee9f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:57:52 2009 +0000

    MC: Remove unneeded context argument to MCExpr::Evaluate*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ce249c9b86d74dec723948d70f533194e750807
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:57:39 2009 +0000

    MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute
    variables and symbols invalid.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86cd1e91b877072006f660b7a8baaa96c4e5597a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:34:54 2009 +0000

    MC: When parsing a variable reference, substitute absolute variables immediately
    since they are allowed to be redefined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84230 91177308-0d34-0410-b5e6-96231b3b80d8

commit e824b0813023c66cc8b4cd7c6cf4d7623750f779
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:33:57 2009 +0000

    MC: Move assembler variable values from MCContext to MCSymbol.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ad36277631403be640bf9fb0fad79ce7e1f262a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Oct 16 01:33:11 2009 +0000

    MC: Switch MCContext value table to storing MCExprs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84228 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ae95c36f52cdc38b9e68c0db0115fa286657f4c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 16 00:33:09 2009 +0000

    When checking aliases between phi sources and V2, we know the sources are not themselves phi nodes. However, V2 may be. Call aliasCheck with V2 first to potentially eliminate a std::swap call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ab1f273514d6d87fa421c9bc8fc819615707dbf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 15 23:12:05 2009 +0000

    Revert svn r80498 and replace it with a different solution.  The only problem
    I can see with the original code was that I forgot that this runs after
    type legalization and hence the result type will always be i32. (Custom
    legalization of EXTRACT_VECTOR_ELT is only enabled for vector types with
    8- and 16-bit elements.)

    Regarding the FIXME comment: any information about sign and zero-extension
    should be captured by separate extension operations.  The DAG combiner should
    handle those to produce either VGETLANEu or VGETLANEs, and that seems to be
    working now.  If there are cases that we're missing, let me know.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84218 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5fcb1d9b141f0d99023b2f804aa82830ba3b30c
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Oct 15 22:36:18 2009 +0000

    Dllexport stuff cleanup:
    1. Emit external function type information for all COFF targets since it's
    a feature of object format
    2. Emit linker directives only for cygming (since this is ld-specific stuff)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84214 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28d7ecb80c7a6a39039e73f1f3aa8ad91bf05bd3
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Thu Oct 15 22:25:32 2009 +0000

    Branches must be the last instruction in a Thumb2 IT block. Approved by Evan Cheng.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84212 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85f30d7362b1e8543f1988d02548e6f00949c3fe
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 15 21:57:47 2009 +0000

    Fix encoding bits for N3VLInt3_QHS multiclass with 8-bit elements.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84206 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6e22392e070a3159fe844aefedbdaad6973e423
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu Oct 15 21:42:45 2009 +0000

    Fix ARM memory operand parsing of post indexing with just a base register, that
    is just "[Rn]" and no tailing comma with an offset, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bfd59f06e8d1e8242d8775fe4e15a792394c698
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 15 20:49:47 2009 +0000

    Fix a potential performance problem in placing ARM constant pools.
    In the case where there are no good places to put constants and we fall back
    upon inserting unconditional branches to make new blocks, allow all constant
    pool references in range of those blocks to put constants there, even if that
    means resetting the "high water marks" for those references.  This will still
    terminate because you can't keep splitting blocks forever, and in the bad
    cases where we have to split blocks, it is important to avoid splitting more
    than necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 804b26d218ceff164c578c1fdbf8c2a14d52aaf8
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu Oct 15 20:48:48 2009 +0000

    More bits of the ARM target assembler for llvm-mc, code added to parse labels
    as expressions, code for parsing a few arm specific directives (still needs
    the MCStreamer calls for these).  Some clean up of the operand parsing code
    and adding some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84201 91177308-0d34-0410-b5e6-96231b3b80d8

commit c70e2907ad8de87b0c1b3756632ac685a927d61e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 15 20:23:21 2009 +0000

    Remove X86Subtarget::IsLinux. It's no longer being used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84200 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8905891e04393b45d9d1857f379027b7ce0d0324
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Oct 15 20:14:52 2009 +0000

    Fix bug where array malloc with unexpected computation of the size argument resulted in MallocHelper
    identifying the malloc as a non-array malloc.  This broke GlobalOpt's optimization of stores of mallocs
    to global variables.

    The fix is to classify malloc's into 3 categories:
    1. non-array mallocs
    2. array mallocs whose array size can be determined
    3. mallocs that cannot be determined to be of type 1 or 2 and cannot be optimized

    getMallocArraySize() returns NULL for category 3, and all users of this function must avoid their
    malloc optimization if this function returns NULL.

    Eventually, currently unexpected codegen for computing the malloc's size argument will be supported in
    isArrayMalloc() and getMallocArraySize(), extending malloc optimizations to those examples.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84199 91177308-0d34-0410-b5e6-96231b3b80d8

commit e62d85d3b7616d5d48dce3683e755eadd5ccb78f
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Oct 15 19:46:34 2009 +0000

    Add files Sanjiv forgot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84196 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac2620eaebfccc759fbd341cfa5cfda563b7a71d
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Thu Oct 15 19:26:25 2009 +0000

    Re-apply 84180 with the fixed test case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b2cfa4be33b01c9fe32b1dcb7a9ba2298e8e25c
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Oct 15 18:50:52 2009 +0000

    Move Blackfin intrinsics into the Target/Blackfin directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75dbdd10525ae7cb7c2f16ecc7092a667b69556f
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Oct 15 18:50:03 2009 +0000

    Report errors correctly for unselected target intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84193 91177308-0d34-0410-b5e6-96231b3b80d8

commit e33a1faef145f2b87ecb308b08245fb6e5fb119d
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Oct 15 18:49:26 2009 +0000

    Clean up TargetIntrinsicInfo API. Add pure virtual methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84192 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8ecbbda5f6305de7d163d4bbb453f7a0c13814f
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Oct 15 18:48:58 2009 +0000

    Add missing break statements!  Thanks to Duncan Sands for pointing this out!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84191 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0b820977c50aba1a967ee0748b687a598166e3b
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Thu Oct 15 18:48:47 2009 +0000

    Tablegen target intrinsics from the target main .td file.

    Fix pasto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84190 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0d1f50857f0c1fe106159d0333db80c8e038c20
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Oct 15 16:49:16 2009 +0000

    Disable another unittest that doesn't work on arm and ppc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0522c9e121aafb968248ab057fc722d00d727e45
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Oct 15 15:02:14 2009 +0000

    Revert "Complete Rewrite of AsmPrinter, TargetObjectFile based on new
    PIC16Section class", it breaks globals.ll.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c138172ed03d189bd006f80aedc51875958d662
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Thu Oct 15 10:10:43 2009 +0000

    Complete Rewrite of AsmPrinter, TargetObjectFile based on new PIC16Section class
    derived from MCSection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89e8a22aa6899efce0b56f864ce6cde83e12a36a
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Thu Oct 15 09:48:25 2009 +0000

    Few changes to comply with new DebugInfo Metadata representation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84179 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6fb71472108d47156409bd5c87f91203688e2d4
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Oct 15 08:17:44 2009 +0000

    The gcc plugin is now called dragonegg.so and no longer llvm.so.
    Pointed out by Gabor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84177 91177308-0d34-0410-b5e6-96231b3b80d8

commit b42a8b3a5647931071b48055a1278610eb9b7682
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Oct 15 07:11:24 2009 +0000

    Teach basicaa about memcpy/memmove/memset. The length argument can be used to
    improve alias results if constant, and the source pointer can't be modified.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00649ad5ae87a3cf23e087e2fd9c8c8ba17ec431
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Oct 15 06:12:11 2009 +0000

    Teach BasicAA to use the size parameter of the memory use marker intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57d88c38edb3667eb54c26571bcee5d57ae8ef12
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 15 05:52:29 2009 +0000

    Be smarter about reusing constant pool entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84173 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9cdce8ba7928ac8a5176243fbf847415130f644
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 15 05:10:36 2009 +0000

    Fix another problem with ARM constant pools.  Radar 7303551.
    When ARMConstantIslandPass cannot find any good locations (i.e., "water") to
    place constants, it falls back to inserting unconditional branches to make a
    place to put them.  My recent change exposed a problem in this area.  We may
    sometimes append to the same block more than one unconditional branch.  The
    symptoms of this are that the generated assembly has a branch to an undefined
    label and running llc with -debug will cause a seg fault.

    This happens more easily since my change to prevent CPEs from moving from
    lower to higher addresses as the algorithm iterates, but it could have
    happened before.  The end of the block may be in range for various constant
    pool references, but the insertion point for new CPEs is not right at the end
    of the block -- it is at the end of the CPEs that have already been placed
    at the end of the block.  The insertion point could be out of range.  When
    that happens, the fallback code will always append another unconditional
    branch if the end of the block is in range.

    The fix is to only append an unconditional branch if the block does not
    already end with one.  I also removed a check to see if the constant pool load
    instruction is at the end of the block, since that is redundant with
    checking if the end of the block is in-range.

    There is more to be done here, but I think this fixes the immediate problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84172 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4269e5fe007052e6216dd91637003c197b91fb6
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 15 04:59:28 2009 +0000

    only try to fold constantexpr operands when the worklist is first populated,
    don't bother every time going around the main worklist.  This speeds up a
    release-asserts opt -std-compile-opts on 403.gcc by about 4% (1.5s).  It
    seems to speed up the most expensive instances of instcombine by ~10%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84171 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee5839b4da5f9aa3e5a2ea25b18733cd4b630e52
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 15 04:13:44 2009 +0000

    don't bother calling ConstantFoldInstruction unless there is a use of the
    instruction (which disqualifies stores, unreachable, etc) and at least the
    first operand is a constant.  This filters out a lot of obvious cases that
    can't be folded.  Also, switch the IRBuilder to a TargetFolder, which tries
    harder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f67407416b0c020a4955c9ba5d67b92564dbfc8
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Oct 15 00:36:35 2009 +0000

    Take advantage of TargetData when available; we know that the atomic intrinsics
    only dereference the element they point to directly with no pointer arithmetic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84159 91177308-0d34-0410-b5e6-96231b3b80d8

commit cebc72ccbc6215b71808c2be76779ecfee77f0ee
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 15 00:36:22 2009 +0000

    Make CodePlacementOpt align loops, rather than loop headers. The
    header is just the entry block to the loop, and it needn't be at
    the top of the loop in the code layout.

    Remove the code that suppressed loop alignment for outer loops,
    so that outer loops are aligned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84158 91177308-0d34-0410-b5e6-96231b3b80d8

commit d94b8ee12edef4928c7fc762e3c8a4bf7075bdd8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 23:39:27 2009 +0000

    When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobber marker if the superreg def has it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84153 91177308-0d34-0410-b5e6-96231b3b80d8

commit b71c46ced3b6452d2d96e06b5fde59910541ccb5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 23:37:31 2009 +0000

    Print earlyclobber for implicit-defs as well.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ad23fdef67f0088e7b610a6a19149a2a1b16639
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 14 22:14:18 2009 +0000

    One more iteration here and a yet better way to solve it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67d5877e544e547779e1b3349d9c8f3b56d7474a
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 14 21:45:49 2009 +0000

    Fix the unused argument problem here a different way - cast to void.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84147 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4897545e4e21d0dbdc788c5576f4b80071a95d8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 21:43:17 2009 +0000

    Fix instruction encoding bits for NEON VPADAL.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a567357c7179b5c3c39f21d774578f362a4c033
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 21:40:45 2009 +0000

    Remove unused variables to fix build warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84144 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2febcd7aeb104f4afd876aa1526195459159f31
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 14 21:22:39 2009 +0000

    Make loop not recalc getNumOperands() each time around

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84138 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd7bb43d6a6e61569368046b33fbe2d700d5bc68
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 14 21:08:09 2009 +0000

    Add support to record DbgScope as inlined scope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84134 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ce93edf8e13e59909f6b87e8532c3961fd2c80d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 14 21:07:11 2009 +0000

    quiet compiler warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84133 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d53c631654d3a04a85738a29ecee83d200cc3c4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 14 20:39:01 2009 +0000

    Delete bogus semicolons.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84132 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9921a052e234642eb7db4f77ae777123d73b62f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 14 20:31:01 2009 +0000

    Inst{11-8} for vshl should be 0b0101, not 0b1111.
    Refs: A7-17 & A8-750.

    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 932740916d76b3253cf710e424abf73e525ee5cd
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 14 20:28:33 2009 +0000

    Remove a bunch of unused arguments from functions, silencing a
    warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84130 91177308-0d34-0410-b5e6-96231b3b80d8

commit ede4ff04cde85ad8ed196f0bb6386734c8232f4a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Oct 14 20:04:41 2009 +0000

    The ARM and PowerPC jits are broken in this regard.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84128 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3d726a12e19ecf7985a485fc72f3097091b57fa
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Oct 14 20:01:39 2009 +0000

    There seems to be no reason for opt's -S option to be hidden.
    Make it visible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84127 91177308-0d34-0410-b5e6-96231b3b80d8

commit b289010eda885d07a3d224243e0e7478fa072f5e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Oct 14 19:02:13 2009 +0000

    Make use of the result of the loads even though that means adding -instcombine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84125 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfb46c5a762f118fbe73fb50eec5be56a1fcd247
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 19:00:24 2009 +0000

    Set instruction encoding bits 4 and 7 for ARM register-register and
    register-shifted-register instructions.  Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84124 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4ff1a619f2a68222def8d30406ceb9f768ad410
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 18:32:29 2009 +0000

    Refactor code to select NEON VST intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84122 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9d08b8dc372ef97faa5f5e47863f06a3ba8f74d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 14 17:29:00 2009 +0000

    Use isVoidTy()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84118 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ccc85a153111ff9f03ec36b0f78ffdd27e3ff09
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 17:28:52 2009 +0000

    Refactor code to select NEON VLD intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84117 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad89036441492939570bf8972f93b00b6a358264
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 14 17:02:49 2009 +0000

    Add copyMD to copy metadata from one instruction to another instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10c6f85c9ba78275c9f6de2ac9ea136200a09d10
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 16:46:45 2009 +0000

    More refactoring.  NEON vst lane intrinsics can share almost all the code for
    vld lane intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84110 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98e68ba7ff1b12e185eb7fa677683cc00e1e97e1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 14 16:19:03 2009 +0000

    Refactor code for selecting NEON load lane intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4205cfe3fe4c86814b91248d25f0cf01ecf642b4
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Oct 14 16:11:37 2009 +0000

    I don't see any point in having both eh.selector.i32 and eh.selector.i64,
    so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector.
    Likewise for eh.typeid.for.  This aligns us with gcc, which always uses a
    32 bit value for the selector on all platforms.  My understanding is that
    the register allocator used to assert if the selector intrinsic size didn't
    match the pointer size, and this was the reason for introducing the two
    variants.  However my testing shows that this is no longer the case (I
    fixed some bugs in selector lowering yesterday, and some more today in the
    fastisel path; these might have caused the original problems).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84106 91177308-0d34-0410-b5e6-96231b3b80d8

commit f27a0438aa24fb0ab2e5095fc22525d7e2933033
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 14 15:21:58 2009 +0000

    make instcombine's instruction sinking more aggressive in the
    presence of PHI nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84103 91177308-0d34-0410-b5e6-96231b3b80d8

commit f693477fe44829276ad0b270fb8856228c6313d8
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Oct 14 11:12:33 2009 +0000

    Undo pthread patch from rev. 83930 & 83823. Credit to Paul Davey.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8407f6b1defd05a0adf914c15c33a273e22819c6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 06:46:26 2009 +0000

    Clear VisitedPHIs after use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84080 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d17125f7a6ac8eb8e679b1fd7c14a0b539d15f9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 06:41:49 2009 +0000

    Another BasicAA fix. If a value does not alias a GEP's base pointer, then it
    cannot alias the GEP. GEP pointer alias rule states this clearly:
    A pointer value formed from a getelementptr instruction is associated with the
    addresses associated with the first operand of the getelementptr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e004f69769d7fc77faabbb9f67a3e6600c6d1f1
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Oct 14 05:55:03 2009 +0000

    AuroraUX needs special Solaris system header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7292a4ed9741e2456a41808e0dffb57f2f6addad
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 05:22:03 2009 +0000

    More code clean up based on patch feedback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84074 91177308-0d34-0410-b5e6-96231b3b80d8

commit f365008a16f295572515fdab85e50a5515313cab
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 05:05:02 2009 +0000

    Change VisitedPHIs into an instance variable that's freed by each alias() call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48baab84c72b491fc64ab18b482a135e847ffde8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Oct 14 01:45:10 2009 +0000

    Replace test with a simpler hand crafted one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84069 91177308-0d34-0410-b5e6-96231b3b80d8

commit a635c3bfa9c12c34afdcbf178c4cc7c9fa82dd0c
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Wed Oct 14 00:44:50 2009 +0000

    Provide AuroraUX triple support in configure. Credit to - Paul Davey.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84067 91177308-0d34-0410-b5e6-96231b3b80d8

commit be13ae5c35e4956241f95efabf864e19e53dbdbd
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Oct 14 00:34:56 2009 +0000

    Use llvmgxx for C++ test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84066 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d6ff0f9d29c7043545bb44c7783f57db6849dbe
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 14 00:28:48 2009 +0000

    Fix this test to account for a movl $0 being emitted as an xor now,
    and convert it to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b1329794aba9952e3bd68eceb4f501c11cda72d
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Oct 14 00:10:54 2009 +0000

    Testcases for msasm bit (llvm-gcc 84062).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84063 91177308-0d34-0410-b5e6-96231b3b80d8

commit f20cb16e938f29db7c1ab8579efe470db1d724c2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 14 00:08:59 2009 +0000

    Make isSafeToClobberEFLAGS more aggressive. Teach it to scan backwards
    (for uses marked kill and defs marked dead) a few instructions in
    addition to forwards. Also, increase the maximum number of instructions
    to scan, as it appears to help in a fair number of cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84061 91177308-0d34-0410-b5e6-96231b3b80d8

commit d32578ed8fc15abf79d37b9b1f62f0c8fa7ce01d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 14 00:02:01 2009 +0000

    This remat entry is basically done. There are hooks to allow targets
    to remat non-load instructions as loads, and the remat code now uses
    the UnmodeledSideEffects flags, MachineMemOperands, and similar things
    to decide which instructions are valid for rematerialization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60547e8e863ea6b31029e1d2875cd947a320f9d0
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 23:58:05 2009 +0000

    Add a few README.txt items.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 815008ee195e15946d9754a8f71fc2a8d194c9c5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 23:36:36 2009 +0000

    Fix resetCachedCostInfo to reset all of the cost information, instead of
    just the NumBlocks field.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84056 91177308-0d34-0410-b5e6-96231b3b80d8

commit 404500c0966b24922b62c6718713afdee5b88b7e
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Oct 13 23:33:38 2009 +0000

    Correct comment about ARM immediates using '#' not '$' and TODO for modifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84055 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc1df34dea6dae98d823f9cf95afbb364201ec97
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 23:28:53 2009 +0000

    s/DebugLoc.CompileUnit/DebugLoc.Scope/g
    s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84054 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3829c8912580d00aaf3c07661de34e4894983db
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 22:56:32 2009 +0000

    Check void type before using RAUWd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31a5af59b207ac90e75ddd830ff6c2e916b4a7ae
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 13 22:29:24 2009 +0000

    More Neon clean-up: avoid the need for custom-lowering vld/st-lane intrinsics
    by creating TargetConstants during instruction selection instead of during
    legalization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d4c8b383ab4e089c9662cd3f6a0afdb144ecf6f
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Oct 13 22:19:02 2009 +0000

    More bits of the ARM target assembler for llvm-mc to parse immediates.
    Also fixed a couple of coding style things that crept in.  And added more
    to the temporary hacked up ARMAsmParser::MatchInstruction() method for testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84040 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c11ed7fff8d07010e27d0374a2b9caa8fe95a54
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 13 22:02:20 2009 +0000

    Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 648950ff0e202e9ceb550c7c45406378093526f4
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Oct 13 21:56:55 2009 +0000

    Documentation for the new msasm flag, which is no
    worse than the rest of the asm documentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84037 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f742e55de300e938ae76643a8e640913fc7a40e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 13 21:55:24 2009 +0000

    NEON VLD/VST are now fully implemented.  For operations that expand to
    multiple instructions, the expansion is done during selection so there is
    no need to do anything special during legalization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84036 91177308-0d34-0410-b5e6-96231b3b80d8

commit edad36f13386447e75436d250c8a06fecef7535d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 21:41:20 2009 +0000

    Do not check use_empty() before replaceAllUsesWith(). This gives ValueHandles a chance to get properly updated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84033 91177308-0d34-0410-b5e6-96231b3b80d8

commit f905746744a1a3802e530321aa028fe25fd76d9e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 13 21:32:57 2009 +0000

    Keep track of stubs that are created. This fixes PR5162 and probably PR4822 and
    4406. Patch by Nick Lewycky!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07087113c591107ec2b39346a39c160a8e5f1170
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Tue Oct 13 21:17:00 2009 +0000

    Add is_same type trait

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84029 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd7bd93b11d18bc0bcb64e8ee5261c5724b25614
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Oct 13 21:04:12 2009 +0000

    Introduce new convenience methods for sign extending or
    truncating an SDValue (depending on whether the target
    type is bigger or smaller than the value's type); or zero
    extending or truncating it.  Use it in a few places (this
    seems to be a popular operation, but I only modified cases
    of it in SelectionDAGBuild).  In particular, the eh_selector
    lowering was doing this wrong due to a repeated rather than
    inverted test, fixed with this change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84027 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ad986e1fb4598bf9a3a4298152da7b2b63ae2a6
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 20:56:38 2009 +0000

    Optimizer may remove debug info.  This test checks debug info for include headers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84025 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6855b2222d78ecf39a0855bec858c8c395e04538
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 13 20:50:28 2009 +0000

    Revise ARM inline assembly memory operands to require the memory address to
    be in a register.  The previous use of ARM address mode 2 was completely
    arbitrary and inappropriate for Thumb.  Radar 7137468.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84022 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2477bfe9a3bdbc1474034214d1cd7ffb014024c8
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Oct 13 20:46:56 2009 +0000

    Add an "msasm" flag to inline asm as suggested in PR 5125.
    A little ugliness is accepted to keep the binary file format
    compatible.  No functional change yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68ca7fcda8b8b00e70e08b9e34fd7df1bd82ffd3
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 20:45:18 2009 +0000

    These tests now pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84019 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7a7fc9585a5dc3afa894b6e5bdfd26fd17eca38
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Tue Oct 13 20:25:58 2009 +0000

    Fix method name in comment, per Bob Wilson.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84017 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9b9295d0601de7ee7673efc241a17c42873d08e
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 20:12:23 2009 +0000

    Use the new CodeMetrics class to compute code size instead of
    manually counting instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cb17acf4c2d135199764894ec788fff8f0864b5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 20:10:10 2009 +0000

    Compute a full cost value even when a setjmp call is found.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41c6d59aec5f3cebb414f951bb2c948aab984778
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 19:58:07 2009 +0000

    Split code not specific to Function inlining out into a separate class,
    named CodeMetrics. Move it to be a non-nested class. Rename RegionInfo
    back to FunctionInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 958921a663e7b11ad8dcb246924864548d4810e7
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Oct 13 19:16:03 2009 +0000

    Add debugging output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28aff231cfcbf047bcf618c7fb371ac4544ee9f8
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Oct 13 19:08:10 2009 +0000

    Provide a mode for ImmutableMap/ImmutableSet to not automatically canonicalize the internal functional AVL trees.  This should speedup clients that use ImmutableMap/ImmutableSet but don't require fast comparisons of maps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84010 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb4648a936134616f3bef1097520afd80b496970
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Tue Oct 13 18:59:48 2009 +0000

    Add ARMv6T2 SBFX/UBFX instructions. Approved by Anton Korobeynikov.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84009 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4d7aa76bb002aa044467d2c346f3e7435d7b43b
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Oct 13 18:57:27 2009 +0000

    Update CMake file (lexically order files).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 872bc634b0da92ae0db414daa52a6c221dc71d8a
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 18:51:28 2009 +0000

    Do not write empty METADATA_ATTACHMENT record.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3314e600f24362268b08833d60977509ef4e5a5b
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 18:51:03 2009 +0000

    Remove unnecessary assert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84004 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91b676c7280dd85581610d1b0cf57676d977f7e2
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Oct 13 18:50:54 2009 +0000

    Update the other CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84003 91177308-0d34-0410-b5e6-96231b3b80d8

commit 88900a0acbfb3cd8cb39475001117ff88a5ea8f5
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 18:49:55 2009 +0000

    Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84002 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdcd492c1d47bff46fbf2b60c29fdcec939441aa
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Oct 13 18:48:07 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84001 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd217c030bea3858468768e46c5846115c3186dd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Oct 13 18:42:04 2009 +0000

    Refactor some code. No functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84000 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cb01e1e36b59295a907a07b4b40539e87c28069
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 18:37:20 2009 +0000

    Commit the removal of this file, which is now moved to lib/Analysis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83999 91177308-0d34-0410-b5e6-96231b3b80d8

commit fad07189d3c7d121a1dc1473211096a76197177d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 18:30:07 2009 +0000

    Move the InlineCost code from Transforms/Utils to Analysis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c8728645b94500b5197da9f2413528becc11a02
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 18:24:11 2009 +0000

    Start refactoring the inline cost estimation code so that it can be used
    for purposes other than inlining.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83997 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8a7d3e1a68fce4b087e39e67176fe3c36039bd9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 18:13:05 2009 +0000

    change simplifycfg to not duplicate 'unwind' instructions.  Hopefully
    this will increase the likelihood of common code getting sunk towards
    the unwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5afeae814f97bea55783376496dc92afaf65f3e0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 18:10:05 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83995 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5e16eec73040a25df9f8d48ef46eb2884aff798
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 18:08:21 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f542bfbc4da1bfffed2fcd42c87dedd62780450
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 17:50:43 2009 +0000

    Make LoopUnswitch's cost estimation count Instructions, rather than
    BasicBlocks, so that it doesn't blindly procede in the presence of
    large individual BasicBlocks. This addresses a class of code-size
    expansion problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b6ea7aacd105e7fbdf5edc18446487cfd03039c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 17:48:04 2009 +0000

    rename ReleaseNotes-2.6.html -> ReleaseNotes.html

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 385cf88d65178e344e1e37468516d4bfeede5131
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 17:47:06 2009 +0000

    add Zero

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83988 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2be240354e170f362ec70ba0aa68e1f070d71f9c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 13 17:42:08 2009 +0000

    Make the ExecutionEngine automatically remove global mappings on when their
    GlobalValue is destroyed.  Function destruction still leaks machine code and
    can crash on leaked stubs, but this is some progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83987 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0bcdc3f719e79dcd849918aa1ee1712801cd8078
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 17:39:29 2009 +0000

    don't use dead loads as tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 107176143cbbb5f5546ddc2a16c6a88801130bf0
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 17:35:35 2009 +0000

    "there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83984 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce7c9ebddf4e1742e71087fae5abf239061475f2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 13 17:35:30 2009 +0000

    Add some ARM instruction encoding bits.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83983 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0976f41d9100957bf1eca01436dc8546d95ee39
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 13 17:29:13 2009 +0000

    Fix regression introduced by r83894.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 897be2a525c03c3c2331ac5ef74a2e7483434e4d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 17:00:54 2009 +0000

    Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83977 91177308-0d34-0410-b5e6-96231b3b80d8

commit b89ac779620ca5fe55c2854dd28fa3b295fb6b69
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 16:32:09 2009 +0000

    Disable this test for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83975 91177308-0d34-0410-b5e6-96231b3b80d8

commit b072c755593e95a598b683c12be63c359e274c02
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 13 15:27:23 2009 +0000

    Fix a tab.  Thanks to Johnny Chen for pointing it out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83973 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa02f165570eee052008e8bd8d706f454ee277b6
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Oct 13 09:24:02 2009 +0000

    The eh.exception intrinsic only reads from memory, it doesn't
    write to it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12e4ccf0ce8e66b23104171e35a4a94c09c94cef
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Oct 13 09:23:11 2009 +0000

    Pacify the compiler (signed with unsigned comparison) by making
    these constants unsigned.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83962 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23f49980e325ac4e698ebc0ed3a0a7e3e298941e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Oct 13 07:57:33 2009 +0000

    Force memory use markers to have a ConstantInt for the size argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc461aee7449bb8010b6f4946d88afd8e2b05e3e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Oct 13 07:48:38 2009 +0000

    Teach BasicAA a little something about the atomic intrinsics: they can only
    modify through the pointer they're given.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959 91177308-0d34-0410-b5e6-96231b3b80d8

commit c888d3594875d75fc81e4cd3b6630b4b88f8054e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Oct 13 07:03:23 2009 +0000

    Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
    sections of memory objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953 91177308-0d34-0410-b5e6-96231b3b80d8

commit c74255d3943b40a2dc36226750cfedf6f4482c72
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Oct 13 06:47:08 2009 +0000

    Fix a -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83950 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1b6f5af69b22ab3a9a40458edc4a4dc9dc33c18
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 05:33:26 2009 +0000

    remove dead header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83943 91177308-0d34-0410-b5e6-96231b3b80d8

commit d68d06d66398db5439efd49c3a8a44daaebe1d91
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 04:27:02 2009 +0000

    remove notcast, it is now dead!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83938 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe2b3c30a3709b51950225038e289b9eacc35a29
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 13 04:25:24 2009 +0000

    remove two old and nearly useless tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83937 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c04f26c3e682a28878f7eb58e324892aaee875a
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 13 01:51:29 2009 +0000

    XFAIL these tests for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83933 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbf0a780e9c94afc562bafbb40ea0afd6377000f
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 13 01:49:02 2009 +0000

    Add a ceilLogBase2 function to APInt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fc5fb659c7acd0415e6f7b02393179303071982
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Oct 13 01:42:53 2009 +0000

    Memory dependence analysis was incorrectly stopping to scan for stores to a pointer at bitcast uses of a malloc call.
    It should continue scanning until the malloc call, and this patch fixes that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83931 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cd10be5c1c09b7aa2272e00571540c082834c4a
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Tue Oct 13 01:01:38 2009 +0000

    Regenerate configure for rev. 83823 putback.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e02bc626b03039d40d461df1bb5c3c322a74fef
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 12 23:22:09 2009 +0000

    Enable "debug info attached to an instruction" mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6096157c93259c3484c250b3541e9851dfc55da4
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 12 23:11:24 2009 +0000

    Find enclosing subprogram info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cd02c5e750dea8637fe300b27a0bf14a53e22bd
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 12 23:10:55 2009 +0000

    Set default location for a function if it is not set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83921 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bbbc7d65719ff18592a21cb2246e7fa68e213d4
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon Oct 12 22:51:49 2009 +0000

    Fix two warnings about unused variables that are only used in assert() calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83917 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1449b8594c0a82f80d198ddadda5d23795cad922
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 22:49:05 2009 +0000

    Delete a comment that makes no sense to me.  The statement that moving a CPE
    before its reference is only supported on ARM has not been true for a while.
    In fact, until recently, that was only supported for Thumb.  Besides that,
    CPEs are always a multiple of 4 bytes in size, so inserting a CPE should have
    no effect on Thumb alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83916 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5286ef78bba77aed8e21685baa8567e63316937
Author: Kevin Enderby <enderby@apple.com>
Date:   Mon Oct 12 22:39:54 2009 +0000

    Fix a problem in the code where ARMAsmParser::ParseShift() second argument
    should have been a pointer to a reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dab5a226a623e256b6df9bef3634fa371b63bf6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Oct 12 22:25:23 2009 +0000

    Make licm debug message readable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83908 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96b37b64f271bec34a6a650fa875acff17cb53d5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 21:39:43 2009 +0000

    Change CreateNewWater method to return NewMBB by reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83905 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5001730bd4aa9b23daa7861ea3ef08c35e77777
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 21:23:15 2009 +0000

    Last week, ARMConstantIslandPass was failing to converge for the
    MultiSource/Benchmarks/MiBench/automotive-susan test.  The failure has
    since been masked by an unrelated change (just randomly), so I don't have
    a testcase for this now.  Radar 7291928.

    The situation where this happened is that a constant pool entry (CPE) was
    placed at a lower address than the load that referenced it.  There were in
    fact 2 CPEs placed at adjacent addresses and referenced by 2 loads that were
    close together in the code.  The distance from the loads to the CPEs was
    right at the limit of what they could handle, so that only one of the CPEs
    could be placed within range.  On every iteration, the first CPE was found
    to be out of range, causing a new CPE to be inserted.  The second CPE had
    been in range but the newly inserted entry pushed it too far away.  Thus the
    second CPE was also replaced by a new entry, which in turn pushed the first
    CPE out of range.  Etc.

    Judging from some comments in the code, the initial implementation of this
    pass did not support CPEs placed _before_ their references.  In the case
    where the CPE is placed at a higher address, the key to making the algorithm
    terminate is that new CPEs are only inserted at the end of a group of adjacent
    CPEs.  This is implemented by removing a basic block from the "WaterList"
    once it has been used, and then adding the newly inserted CPE block to the
    list so that the next insertion will come after it.  This avoids the ping-pong
    effect where CPEs are repeatedly moved to the beginning of a group of
    adjacent CPEs.  This does not work when going backwards, however, because the
    entries at the end of an adjacent group of CPEs are closer than the CPEs
    earlier in the group.

    To make this pass terminate, we need to maintain a property that changes can
    only happen in some sort of monotonic fashion.  The fix used here is to require
    that the CPE for a particular constant pool load can only move to lower
    addresses.  This is a very simple change to the code and should not cause
    any significant degradation in the results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31d9eb561b52a70ac181ad610115e35ab86298dc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 20:45:53 2009 +0000

    Another minor clean-up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83897 91177308-0d34-0410-b5e6-96231b3b80d8

commit df5d0b3525506c916e4bb14fc6288ab43415f940
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 12 20:42:35 2009 +0000

    allow this testcase to pass with recent changes.  The test hasn't been
    producing any stores at all for a long time, but ".store." was in some
    IR instruction names until recently.  This removal caused the test to
    start failing.  Just make it reject any stores.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8454df9db700b63793f4f73f3df6e69d4a54572a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 20:37:23 2009 +0000

    Remove redundant parameter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93312097c5c22dac9e6fa9b2e63ab29708f51ba0
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 19:04:03 2009 +0000

    Use early exit to reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83874 91177308-0d34-0410-b5e6-96231b3b80d8

commit 688468aa23fe332955436b2acd062fd9bf289f8d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 19:01:12 2009 +0000

    Change to return a value by reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83873 91177308-0d34-0410-b5e6-96231b3b80d8

commit b15413cce529d24d6ae4e52116eac7c56f042023
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Oct 12 18:52:13 2009 +0000

    Add a typedef for an iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83872 91177308-0d34-0410-b5e6-96231b3b80d8

commit f215bb209351a7fa2244cc691ef214b6beaa757e
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Oct 12 18:49:00 2009 +0000

    Revert the kludge in 76703.  I got a clean
    bootstrap of FSF-style PPC, so there is some
    reason to believe the original bug (which was
    never analyzed) has been fixed, probably by
    82266.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83871 91177308-0d34-0410-b5e6-96231b3b80d8

commit b58870629223e655f015b90de48154b7b837259b
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Oct 12 18:45:32 2009 +0000

    Fix warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83870 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f216b73b69538d39ab7f84c6a0816270bc7f4dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 12 18:33:33 2009 +0000

    fix validation error pointed out by gabor (and the w3c :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83868 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6608a010f11207afbe01650d9dffa30783b920ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 12 18:12:47 2009 +0000

    Improve bugpoint doc, patch by Timo Lindfors!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83865 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b3c779a1dfd96ccced1d0e8c6e3f95519ab23cf
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Oct 12 17:43:32 2009 +0000

    Fix http://llvm.org/PR5160, to let CallbackVHs modify other ValueHandles on the
    same Value without breaking things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83861 91177308-0d34-0410-b5e6-96231b3b80d8

commit aee4b899c056aa56539c4ed530e8d7b05da874c3
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Oct 12 16:50:25 2009 +0000

    another bunch of <tt>s

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83860 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69a9b168a959772b096ef8f7ad53992ec2c663d9
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 12 16:44:10 2009 +0000

    Remove a redundant member variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81be561deccf40f5f3ea1b4bda8c35c6c53cb429
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 12 16:43:44 2009 +0000

    Delete some obsolete declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c765f3562d346774d9988ce5a26e984c7e4da75
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Oct 12 16:40:25 2009 +0000

    even more <tt>s

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c738f5ee6c48df39332389e307de1305903c8e7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 12 16:36:12 2009 +0000

    Don't forget to mark RAX as live-out of the function when arranging for
    it to hold the address of an sret return value, for x86-64 ABI purposes.

    Also, fix the test that was originally intended to test this to actually
    test it, using FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83853 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6acc86c5d19e865476fc4926de6dbb6797ee880
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Oct 12 16:27:44 2009 +0000

    more typewriter face

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83852 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55646ef432b266fb169dfec13d0d7ae0d47b5224
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Oct 12 16:13:36 2009 +0000

    fix three validation errors, I leave the fourth to sabre :-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51a2dab0f36873ec09e8b8949dff285af7a0eb16
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Oct 12 16:08:52 2009 +0000

    set some options in typewriter font

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fb9d7e8d4fe8ec08d086e07c83c8c5952cf071a
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Oct 12 14:46:08 2009 +0000

    Documentation: Perform automated correction of common typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83849 91177308-0d34-0410-b5e6-96231b3b80d8

commit b26e279e163669d34e45697b2ebe0e1003b7d8f8
Author: Edwin Török <edwintorok@gmail.com>
Date:   Mon Oct 12 13:37:29 2009 +0000

    Fix typo, patch from Timo Juhani Lindfors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83848 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c301a8de25cc35ae384b63fc4560874dd6a27fd
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Oct 12 09:31:55 2009 +0000

    Eliminate some redundant llvm-as calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83837 91177308-0d34-0410-b5e6-96231b3b80d8

commit f402dc1c9976e809aec4d4e486e62496c9d92180
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 09:01:26 2009 +0000

    Missing CHECK: lines makes test exit abnormally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56b1d0597f0f97824098a34fddfcd936fbda194b
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 08:51:28 2009 +0000

    FileCheck not CheckFile, oops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83834 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5b320e759bf05872182af0e182a7369c1b7932c
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 08:46:47 2009 +0000

    Convert InstCombine/call.ll to CheckFile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83833 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53966cf901cc222b47ffdcb8a6c5ffb293e1680e
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 07:18:14 2009 +0000

    Convert the rest of the InstCombine tests from notcast to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83828 91177308-0d34-0410-b5e6-96231b3b80d8

commit fef913ffdb15b2fbbb2b7151e135eb3d7fba1ca2
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Oct 12 06:32:42 2009 +0000

    Remove this part of the test, it never actually tested anything anyways. This
    unbreaks make check after evocallaghan's changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83827 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0e2835fda304f3250cc4433b4b53d50a072a94f
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 06:23:56 2009 +0000

    Fix syntax error missed in converting zext.ll test. Convert 2003-11-13-ConstExprCastCall.ll to FileCheck from notcast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79711e110cdba700bee125d1356c804edad847e4
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 06:14:06 2009 +0000

    Convert InstCombine tests from notcast to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83825 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4e67c4d7b48ad44a7647ae33fac429025963387
Author: Nate Begeman <natebegeman@mac.com>
Date:   Mon Oct 12 05:53:58 2009 +0000

    More heuristics for Combiner-AA.  Still catches all important cases, but
    compile time penalty on gnugo, the worst case in MultiSource, is down to
    about 2.5% from 30%

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83824 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c24c914c9726197266242a89c899a43c852bce2
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 04:57:20 2009 +0000

    Haiku porting patches, Credit to Paul Davey.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8935700747e6774fc1732c2608c80e533690a0f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 12 04:22:44 2009 +0000

    Fix PR5087, patch by Jakub Staszak!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5dd66f99bc3d857188292aebead57d7251f63268
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 12 04:01:02 2009 +0000

    add some more hooks to the C bindings, patch by Kenneth Uildriks!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83821 91177308-0d34-0410-b5e6-96231b3b80d8

commit cddb07767225ac456e52fd730bc1de8ca0e2b9b2
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Mon Oct 12 04:00:13 2009 +0000

    Make ParallelJIT pthreads linking with CMake slightly less broken

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83820 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84354c70bd3d1b20ec40883c6caf06fe26c27807
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 12 04:00:11 2009 +0000

    Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83819 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5663c7c1eaf8cf8fb1d857780811ea3bf2c7b58
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 12 03:58:40 2009 +0000

    populate instcombine's initial worklist more carefully, causing
    it to visit instructions from the start of the function to the
    end of the function in the first path.  This greatly speeds up
    some pathological cases (e.g. PR5150).

    Try #3, this time with some unneeded debug info stuff removed
    which was causing dead pointers to be added to the worklist.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92f8d26a987f8fa57ceacd18d0802e7010ad49df
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 23:56:08 2009 +0000

    revert r83814 for now, it is making the llvm-gcc bootstrap unhappy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83817 91177308-0d34-0410-b5e6-96231b3b80d8

commit 204c64a7117240e986fc265224e3209455247698
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 23:19:44 2009 +0000

    pic16 uses 16 bit pointers, but is 8 bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83815 91177308-0d34-0410-b5e6-96231b3b80d8

commit fab98956ee8bb06aa5357ac0364ed15e949f4d7a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 23:17:43 2009 +0000

    populate instcombine's initial worklist more carefully, causing
    it to visit instructions from the start of the function to the
    end of the function in the first path.  This greatly speeds up
    some pathological cases (e.g. PR5150).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83814 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6018f7a47052775c969148546ffde541b69e80ad
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 11 23:10:09 2009 +0000

    Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83813 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2012d00dec16d998c3c3c05fb8b59614772ee490
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Oct 11 23:03:53 2009 +0000

    Add missed mem-mem move patterns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bb755cbeeabe6610220f1867fc08ea9503775a4
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Oct 11 23:03:28 2009 +0000

    Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83811 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89f19d1b3a3da269ee5267eab8dad7c07def855b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 23:02:46 2009 +0000

    remove some harmful code that would turn an insertelement on an undef
    into a shuffle even if it was used by another insertelement.  If the
    visitation order of instcombine was wrong, this would turn a chain of
    insertelements into a chain of shufflevectors, which was quite painful.

    Since CollectShuffleElements handles these cases, the code can just
    be nuked.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0505cb155a108d6b9ad4c7866be5d012d2f46181
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Oct 11 23:02:38 2009 +0000

    Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83809 91177308-0d34-0410-b5e6-96231b3b80d8

commit b88a9f6ec39bcd6c3d40072ec2ae2854c9653683
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:54:48 2009 +0000

    reduce vec_shuffle2 and merge into vec_shuffle.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83807 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2680eb6a3be4623b53e8ab3423973a30bc5ac57
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:52:15 2009 +0000

    filecheckize vec_shuffle.ll and merge shuffle.ll into it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83806 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d94ef475390a3b506202af22be9482ba21f99b4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:45:17 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83805 91177308-0d34-0410-b5e6-96231b3b80d8

commit bce34da6aa0fafd04739231b1e2c68a2e7d5cb6f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:44:16 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83804 91177308-0d34-0410-b5e6-96231b3b80d8

commit df025c2d02814a3263c9f4a5d535c93c44301999
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:42:06 2009 +0000

    remove old testcase

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cb155c0a2e3302ddcb4ecb2c0021f6aafabdaa0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:39:58 2009 +0000

    merge test into shift.ll, this also eliminates awful grepping on -stats output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83802 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31eecb906b881523b8997b5b2f77734b81be8369
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:36:59 2009 +0000

    convert to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83801 91177308-0d34-0410-b5e6-96231b3b80d8

commit eefa89c5b8ccf1a50ffeca3493d9608f3c3ae491
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:22:13 2009 +0000

    teach instcombine to simplify xor's harder, catching the
    new testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4580d45e185e24ae6460f55c8bd825b222881e25
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 22:00:32 2009 +0000

    cleanups

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83797 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf28e6a58b5cde2d8178206ca9754b4fd6d15d6b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 21:42:08 2009 +0000

    convert xor2 to filecheck, merge in a random regtest

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3508c5ca5968647a4b5f303bd9cc6d139ffde10f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 21:36:10 2009 +0000

    cleanup, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83795 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ca76f7f980d23a1d7a82559592838a91eb1fb4f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 21:29:45 2009 +0000

    generalize a transformation even more: we don't care whether the
    input the the mul is a zext from bool, just that it is all zeros
    other than the low bit.  This fixes some phase ordering issues
    that would cause us to miss some xforms in mul.ll when the worklist
    is visited differently.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 291872e65ebb3cf049e50f76fe0cc1b126b2207e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 21:22:21 2009 +0000

    simplify a transformation by making it more general.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57842c564561b7e696d1fc016ec0c55e6b08bcd4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 21:05:34 2009 +0000

    temporarily revert previous patch

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83791 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54874018d447572ff91ee9a5e1fb22ddc12b73a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 21:04:37 2009 +0000

    populate instcombine's initial worklist more carefully, causing
    it to visit instructions from the start of the function to the
    end of the function in the first path.  This greatly speeds up
    some pathological cases (e.g. PR5150).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83790 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb2683a5dda25516ad0c224f0bc5046b8f10f687
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sun Oct 11 19:58:35 2009 +0000

    Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it
    here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83789 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2734bdb105226b7f4a5cbabee2b730fcbc4ac928
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Oct 11 19:40:38 2009 +0000

    More DragonEgg verbiage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c9e52d4836192ce0463bd735667ac9861ba8fe9
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Oct 11 19:30:56 2009 +0000

    Remove spurious brackets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83787 91177308-0d34-0410-b5e6-96231b3b80d8

commit aeb2b5ba57596a8b077fb2e7878cf63ab2652ca4
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sun Oct 11 19:15:54 2009 +0000

    LICM shouldn't sink/delete debug information. Fix this and add a testcase.
    For now the metadata of sinked/hoisted instructions is still wrong, but that'll
    be fixed when instructions will have debug metadata directly attached.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83786 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cbe2bc74aff10a95b2ee6ed6fb4a47dffee4751
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Oct 11 19:14:21 2009 +0000

    Implement 'm' memory operand properly

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c425acb0ed7cbc27602e7b7faa1e6ff755e37b5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Oct 11 19:14:02 2009 +0000

    Implement proper asmprinting for the globals. This eliminates bogus "call" modifier and also adds support for offsets wrt globals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83784 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92edf7f8851ef0b58a0545195d7d749d2c1785f1
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Oct 11 19:13:34 2009 +0000

    Implement asm printing for inline asm memory operands

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83783 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8ab34d04b0472a623f3aa7a2da0fce1fdace2ca
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 19:07:23 2009 +0000

    add PR5004 as a known problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 711542c40f2d29a3d693a6bf59387c1bae4efd3e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 19:02:54 2009 +0000

    duncan points out that llvm-gcc doesn't do the right thing with -fverbose-asm yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83781 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6178bed87c4874e4760711a68fd4aa50f9a1d588
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 11 18:53:09 2009 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42170ac977990187aa1fe8f11b96b5966234c9da
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Oct 11 18:47:33 2009 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83779 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59be447db438daefb7cdc64feeb2595f474f0be8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 18:39:58 2009 +0000

    when folding duplicate conditions, delete the
    now-probably-dead instruction tree feeding it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c50edbc5a7493d03d1561eeb139a316b582b65d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 18:21:32 2009 +0000

    some notes from Anton

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83777 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1654ea87b71d0c7a965b5fffa05f83ffcc90c3d
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Oct 11 11:44:34 2009 +0000

    catch some other serial commas that my earlier grep did not spot

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83772 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00ade922bbb18d8e8fca7a4e69bef5b9c5dbe1fe
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Oct 11 11:23:40 2009 +0000

    eliminate some instances of serial comma. sabre, if you feel strong about this, feel free to revert this rev

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83771 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6486965df5826add65108c0ebdf0a8a530b40b00
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Oct 11 11:20:26 2009 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25d7536a03070dc647e4cae021e9fae10111c60c
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Oct 11 10:44:44 2009 +0000

    apply some tweaks

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 669766de5f5883fd1e378347017986980a35b527
Author: Gabor Greif <ggreif@gmail.com>
Date:   Sun Oct 11 10:27:57 2009 +0000

    fix some obvious typos

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f506a9c91975bcff3af5a4100f093002a0db636
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Oct 11 09:07:15 2009 +0000

    Add an outline of the DragonEgg gcc plugin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83765 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6438c58898936351337a02c6f3d89dbefcf8d6c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 07:53:15 2009 +0000

    implement rdar://7293527, a trivial instcombine that llvm-gcc
    gets but clang doesn't, because it is implemented in GCC's
    fold routine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83761 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c7a6448809f6dc46ba73d35edfe8710c9758f64
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 07:51:25 2009 +0000

    add a helper for matching "1".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83760 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed90ae261ab94579121d50605807e8b9ad5e9b00
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 07:24:57 2009 +0000

    implement a transformation in jump threading that is currently
    done by condprop, but do it in a much more general form.  The
    basic idea is that we can do a limited form of tail duplication
    in the case when we have a branch on a phi.  Moving the branch
    up in to the predecessor block makes instruction selection
    much easier and encourages chained jump threadings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83759 91177308-0d34-0410-b5e6-96231b3b80d8

commit a84c14e849681bc0fcf86529593d9475c0250617
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 07:11:11 2009 +0000

    another testcase jump threading shouldn't crash on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41e44ea0443e3fda16de10d4ac56574ad4cdaae4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 07:10:28 2009 +0000

    rename a file, remove a poorly reduced testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83757 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bf9d1b142a7646cc02c22faa44ca229cded4999
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 04:40:21 2009 +0000

    restructure some code, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 353c7f9d63875f26c94cd63f9824d33a5a29bd63
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 04:33:43 2009 +0000

    factor some code better and move a function, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83755 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5c0a111a8bc2c320b19e042b941a04cc51dbc48
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 04:18:15 2009 +0000

    make jump threading on a phi with undef inputs happen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83754 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3fb398811b1fa62ff2262e0f96bca634aa96224
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 04:17:33 2009 +0000

    there is no need to run mem2reg after jump threading at LTO time now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83753 91177308-0d34-0410-b5e6-96231b3b80d8

commit 990739315fb919324c69c035ab3ac6e2b00d22d4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 04:03:22 2009 +0000

    fix a bunch of bad formatting, delete the dead
    ConstantInt::TheTrueVal/TheFalseVal members.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3733adba857257f94b0945022794fb1c1bbefbbb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 03:55:30 2009 +0000

    merge two tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f68e0c66398707bce7c1304f09ed42c863337e7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 03:54:21 2009 +0000

    simplify some run lines, convert a test to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83750 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c5465e27e51577bdee6797f31a9bd5c7545d5c7
Author: Ted Kremenek <kremenek@apple.com>
Date:   Sun Oct 11 03:10:25 2009 +0000

    Update release notes blurb on the static analyzer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83749 91177308-0d34-0410-b5e6-96231b3b80d8

commit e98866c4d6898e2502af1f30d1d5ae7cfbd14bc3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 02:53:37 2009 +0000

    rewrite LCSSA to use SSAUpdate, to only return true if it modifies
    the IR, and to implement the FIXME'd optimization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83748 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7dd77a530bc7f7e74dc137cf93a7dd04f3829831
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Oct 11 01:07:15 2009 +0000

    clean up and simplify some code.  Don't use setvector when things will be
    inserted only once, just use vector.  Don't compute ExitBlocks unless we
    need it, change std::sort to array_pod_sort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83747 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e5ea272663faaaf886a17f77963b5c12bdf8802
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 23:50:30 2009 +0000

    switch GVN to use SSAUpdater.  Besides removing a lot of complexity
    from GVN, this also speeds it up, inserts fewer PHI nodes (see the
    testcase) and allows it to remove more loads (due to fewer PHI nodes
    standing in the way).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2daa0fe12d450b31d9b79e66edd08e65623adbbc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 23:41:48 2009 +0000

    add a simple helper method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83745 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4f2c548e29dacb887d3249f35cc881fb1b29bbe
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 23:15:24 2009 +0000

    add ability for clients of SSAUpdater to find out about the
    PHI nodes inserted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83744 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b04a44b984696613a6469db5927268de2f762f6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 23:05:42 2009 +0000

    clarify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b06de142ad444492acf76879609cc3a99e91d18
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 23:04:12 2009 +0000

    remove dead code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83742 91177308-0d34-0410-b5e6-96231b3b80d8

commit af354a777f57a5585a3b210d785db6349539953f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 23:00:11 2009 +0000

    add the ability to get a rewritten value from the middle of a block,
    not just at the end.  Add a big comment explaining when this could
    be useful (which never happens for jump threading).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20c6ad636a273a51464d58d8f8bc1c56084e74af
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 22:41:58 2009 +0000

    rename GetValueInBlock -> GetValueAtEndOfBlock to better reflect
    what it does.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a9bcf02f7e5e0ad89a228f87e19e9e6cf2527d7
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Oct 10 22:17:47 2009 +0000

    It seems that OR operation does not affect status reg at all.
    Remove impdef of SRW. This fixes PR4779

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83739 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9a5155e6a8ce63a720f7a3451716b18c2d28fa4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 22:15:25 2009 +0000

    fix broken link

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8767bdca785849ff566f409d4d3801f274686e3a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 22:13:38 2009 +0000

    final changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83737 91177308-0d34-0410-b5e6-96231b3b80d8

commit 835f25302bc50f969d425fd9c2b911113bf61d96
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 22:02:58 2009 +0000

    down to 'major changes'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83736 91177308-0d34-0410-b5e6-96231b3b80d8

commit fdf24e7c757b6ab6fef50461bdc3467230d576b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 21:40:13 2009 +0000

    more updates

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83735 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69c5440a5bd6d4e6016cf892d6950753f175e4dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 21:37:16 2009 +0000

    add a link to the GSG for info on how to check out svn trunk

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83734 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7305d116823dc875501092035f458734c0663161
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 21:30:55 2009 +0000

    x86 uses 5 operands for most memory refs now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83733 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4f53350fb0367b3b87ce3230083a7709294ba24
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Oct 10 20:06:04 2009 +0000

    More spelling and grammar tweaks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83728 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08f0add2e589d69edcb270125e86533fcb751e48
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Oct 10 19:45:13 2009 +0000

    More spelling fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83724 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc5bd2bcab36d8df81d308baefbf36441b676b37
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Oct 10 19:30:16 2009 +0000

    Spelling fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10abb752d27135245e6565c347fa7c61a69d3159
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 19:26:21 2009 +0000

    more tweaks

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83721 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccedda4f3460575743ed25a090ee3904d971ab5a
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Oct 10 19:16:25 2009 +0000

    Remove an inappropriate line in the description of the
    clang static analyser.  Decrease duplication in the text.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83720 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51ead6da49d101c8507fa07b7d1b35dc563abeed
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 19:00:55 2009 +0000

    continue decoding chris scribble.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83719 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bb49c3f61f371f06fd85f34fbd886bbf513667a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 18:40:48 2009 +0000

    remove some dead passes

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d91d4d3e9e2383157ccb0404ae3d6eb432fd54d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 18:33:13 2009 +0000

    checkpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83716 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fee5c2ba2015f5d738d413b3980ab71a0fdfb74
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 18:26:06 2009 +0000

    fix broken anchors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83715 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2caa3dbab217e4ec2efa8ee04fa9de812aac99c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 09:09:20 2009 +0000

    use a typedef instead of spelling out an insane type.  Yay for auto someday.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83707 91177308-0d34-0410-b5e6-96231b3b80d8

commit cad6e47254b042d7ee8168c0b19240436f397baa
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 09:05:58 2009 +0000

    Change jump threading to use the new SSAUpdater class instead of
    DemoteRegToStack.  This makes it more efficient (because it isn't
    creating a ton of load/stores that are eventually removed by a later
    mem2reg), and more slightly more effective (because those load/stores
    don't get in the way of threading).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4baac8e63aae277b30891647cb8cc91500035a28
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 09:04:27 2009 +0000

    Implement an efficient and fully general SSA update mechanism that
    works on unstructured CFGs.  This implements PR217, our oldest open PR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83705 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8bb5a4841c7f35bdad091ac5e9ffd8515ffcd5a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 08:27:29 2009 +0000

    add some WeakVH::operator='s.  Without these, assigning
    a Value* to a WeakVH was constructing a temporary WeakVH
    (due to the implicit assignment operator).  This avoids
    that cost.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0470c8bf65383fcdf8e19fab6350e9dc8992c343
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 08:01:27 2009 +0000

    change some static_cast into cast, pointed out by Gabor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c097ffa6542b236a22d784f35c69c28a54189a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 07:42:42 2009 +0000

    add a version of PHINode::getIncomingBlock that takes a raw
    Use, to complement the version that takes a use_iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34635fd2a1fa61305f64291b89ad230ad0c1abfb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Oct 10 06:22:45 2009 +0000

    random tidying

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83701 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5ee5165329daef7db0c6a8a0abc23d344e9e6f9
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 10 01:32:21 2009 +0000

    Create a new InstrEmitter class for translating SelectionDAG nodes
    into MachineInstrs. This is mostly just moving the code from
    ScheduleDAGSDNodesEmit.cpp into a new class. This decouples MachineInstr
    emitting from scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83699 91177308-0d34-0410-b5e6-96231b3b80d8

commit e1c0b3bed2a6e94779604ba226ee8721496f20e7
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 10 01:29:16 2009 +0000

    Make getMachineNode return a MachineSDNode* instead of a generic SDNode*
    since it won't do any folding. This will help avoid some inconvenient
    casting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83698 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe5ef8c515912e0217c2730731f5f0385a14c250
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 10 00:36:09 2009 +0000

    Remove a no-longer-necessary #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ef188518b791f048bd10dc1e8d0f62e63086198
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 10 00:34:18 2009 +0000

    Replace X86's CanRematLoadWithDispOperand by calling the target-independent
    MachineInstr::isInvariantLoad instead, which has the benefit of being
    more complete.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 101611d6083ca81b9bcf86d51be4717fbe1edc5a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Oct 10 00:15:38 2009 +0000

    Fix a missing initialization of PostRAScheduler's AA member.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04e1b1d338e24537ab7c42bd0a1f0bf544732080
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 23:33:48 2009 +0000

    The ScheduleDAG framework now requires an AliasAnalysis argument, though
    it isn't needed in the ScheduleDAGSDNodes schedulers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83691 91177308-0d34-0410-b5e6-96231b3b80d8

commit d85c2fe674dcb1b5e8c3bfa740a8e396e1a43290
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 23:31:04 2009 +0000

    Update this test; the code is the same but it gets counted as one
    fewer remat.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83690 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78e1a77cde46b7ba5de7d39b3a6db14e058f897c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 23:28:27 2009 +0000

    Mark the LDR instruction with isReMaterializable, as it is rematerializable
    when loading from an invariant memory location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83688 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a4c09e724bd3ab7c9a1d3a1615894e7bf209179
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 23:27:56 2009 +0000

    Factor out LiveIntervalAnalysis' code to determine whether an instruction
    is trivially rematerializable and integrate it into
    TargetInstrInfo::isTriviallyReMaterializable. This way, all places that
    need to know whether an instruction is rematerializable will get the
    same answer.

    This enables the useful parts of the aggressive-remat option by
    default -- using AliasAnalysis to determine whether a memory location
    is invariant, and removes the questionable parts -- rematting operations
    with virtual register inputs that may not be live everywhere.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83687 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40c80212c1c0be155e7a561f0a18a94856d7eb2f
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 9 22:42:28 2009 +0000

    Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.

    While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83684 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43304d30b79b35253613e21f34375a5493f62550
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Oct 9 22:10:27 2009 +0000

    ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse
    mappings, which could cause errors and assert-failures.  This patch fixes that,
    adds a test, and refactors the global-mapping-removal code into a single place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83678 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04e3e0aec0ee96b3c0c59404d7715aaa97d95eb0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 22:09:05 2009 +0000

    Add a const qualifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83677 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5c20d7bc7641c093c9630366823584817b1f784
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Oct 9 21:42:02 2009 +0000

    Use names instead of numbers for some of the magic
    constants used in inlining heuristics (especially
    those used in more than one file).  No functional change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83675 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60bc0274f8e3cc55dd9332c4f404afee1c675b95
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri Oct 9 21:12:28 2009 +0000

    Added another bit of the ARM target assembler to llvm-mc to parse register
    lists.  Changed ARMAsmParser::MatchRegisterName to return -1 instead of 0 on
    errors so 0-15 values could be returned as register numbers.  Also added the
    rest of the arm register names to the currently hacked up version to allow more
    testing.  Some changes to ARMAsmParser::ParseOperand to give different errors
    for things not yet supported and some additions to the hacked
    ARMAsmParser::MatchInstruction to allow more testing for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83673 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5496f6ba52d5603eb26d72b421c2d8731f4ac24
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 21:02:10 2009 +0000

    isTriviallyReMaterializable checks the
    TargetInstrDesc::isRematerializable flag, so it isn't necessary to do
    this check in its callers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83671 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9a38e927ec463018c38d44e71c096032d2bd855
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 20:35:19 2009 +0000

    Fix the x86 test-shrink optimization so that it doesn't shrink comparisons
    when one of the bits being tested would end up being the sign bit in the
    narrower type, and a signed comparison is being performed, since this would
    change the result of the signed comparison. This fixes PR5132.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83670 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff57ca95835abff5340b955ef0277117c35439db
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 9 20:20:54 2009 +0000

    Merge a bunch of NEON tests into larger files so they run faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83667 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7973eb023472b13237076954240d915c30c2c69
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 18:10:05 2009 +0000

    Add basic infrastructure and x86 support for preserving MachineMemOperand
    information when unfolding memory references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83656 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb8127571e3f12f3c71b90f92b561ba34b4c0582
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Oct 9 17:51:49 2009 +0000

    Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66037312be7232178d30cfcab772f4e8e330ff5c
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Oct 9 17:33:33 2009 +0000

    when previous scratch register is killed, flag the value as no longer tracking

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83653 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20399e118dce04d516184b0d75e64ce701101f3d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 9 17:20:46 2009 +0000

    Convert some ARM tests with lots of greps to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83651 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5ceadfdacd1076a9449ec317dc8c6f7f621ca62
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 16:35:06 2009 +0000

    Revert r83606 and add comments explaining why it isn't safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13eff6afac77654d75c584382caf1ae89295168d
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Fri Oct 9 13:17:57 2009 +0000

    As it turns out, the bug fixes in GC codegen did not make it
    to llvm-2.6. Remove the precise garbage collection feature.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dcee36aa05b0bec97f63996fcb9f34626e86118
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Fri Oct 9 10:17:14 2009 +0000

    80-columns!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12c0e568a1c2bc53ada189e7e846c8fc6f0fea4a
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Fri Oct 9 10:13:08 2009 +0000

    Add initial information on VMKit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 896d258c97e62cda9273af7c16420116652a4520
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 9 06:36:25 2009 +0000

    more random updates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83625 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1aa3e5f0fe657b868ff72e8bab8db7359e1bc98
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 9 06:31:25 2009 +0000

    Give Dan and my recent changes, machine LICM is now code size neutral.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83624 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d60110630c3869e7a8f0dbeb8a1228856425760
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 9 06:24:25 2009 +0000

    checkpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83623 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dd21c11a02af6dede438855f9b433be3dfb1abc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 9 06:21:52 2009 +0000

    Fix a logic error that caused non-rematable loop invariants loads to be licm'ed out of loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e6d33cba1b2c637e02dbb91639ce9832b77c0a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 9 05:55:04 2009 +0000

    checkpoint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a22d57b59002c06bcc397a2d0896880748da5d6
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Oct 9 05:45:38 2009 +0000

    Slight rewording.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83620 91177308-0d34-0410-b5e6-96231b3b80d8

commit 731bacfd51b94138ba08e635eff3ca6fdcbac118
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Oct 9 05:45:21 2009 +0000

    Omit the 'out_file_index != -1' check when possible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83619 91177308-0d34-0410-b5e6-96231b3b80d8

commit 220acf8eeb24372c18be5fcb09801f990dffe4c7
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Oct 9 05:45:01 2009 +0000

    Use llvm-as only for compiling .ll -> .bc.

    llc can compile .ll files directly these days.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83618 91177308-0d34-0410-b5e6-96231b3b80d8

commit abdc3b88031c863d2f74d104127686a5a69af598
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 9 05:31:56 2009 +0000

    Commit one last NEON test to use FileCheck.  That's all of them now!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83617 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb2151d7341f051c8a01aa098bf2eda3379e9234
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 9 05:14:48 2009 +0000

    Convert more NEON tests to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 401ec6d06b636887ac3d25016aea353151394e54
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Oct 9 05:01:15 2009 +0000

    update clang section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83615 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbaa50309d57421f5bdd4d90a94a36b88444fb73
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Oct 9 04:15:52 2009 +0000

    Raise the limit on built-in plugins in llvmc to 10.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83614 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bdb7471aa50c84fdbe958fe5b2a2e0ca20fe930
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Fri Oct 9 02:40:01 2009 +0000

    Reconfigure automatically when Base.td.in is changed.

    Thanks to Chris for heads-up!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83613 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b4ac5427138629eb3cf8419fcf059b1b8848f91
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 9 01:17:11 2009 +0000

    Reset kill markers after live interval is reconstructed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83608 91177308-0d34-0410-b5e6-96231b3b80d8

commit afa08b51a65fd3e945cb752281f7ad5f02c4fa29
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 9 00:57:38 2009 +0000

    Indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83607 91177308-0d34-0410-b5e6-96231b3b80d8

commit 837b52307f0cc56172a43dab64d2fbcfe1bd5d5f
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 00:41:22 2009 +0000

    Preserve HasNSW and HasNUW when constructing SCEVs for Add and Mul
    instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83606 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa77a95f69eb7ebf8ad5eec689ab92f2f8961f64
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Oct 9 00:11:32 2009 +0000

    When considering whether to inline Callee into Caller,
    and that will make Caller too big to inline, see if it
    might be better to inline Caller into its callers instead.
    This situation is described in PR 2973, although I haven't
    tried the specific case in SPASS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83602 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9afeb35476d80a581127cd6e46b62a75727de30
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Oct 9 00:10:36 2009 +0000

    Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83601 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7692e0185faaab4a68386afc362d95be591b455
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Oct 9 00:01:36 2009 +0000

    Add codegen support for NEON vst4lane intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83600 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbffb21337be67595a47585d60e8dda083038601
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 23:51:31 2009 +0000

    Add codegen support for NEON vst3lane intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18e94a7a1d02201407370ce9f73be9798bd4b7cc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 23:38:24 2009 +0000

    Add codegen support for NEON vst2lane intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83596 91177308-0d34-0410-b5e6-96231b3b80d8

commit e76c59427191dff2450a644ad14db0a8d973b18e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 23:33:03 2009 +0000

    Convert more NEON tests to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a8c6dfd8b82ead296bebcb567580cf08c5d449d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 22:53:57 2009 +0000

    Add codegen support for NEON vld4lane intrinsics with 128-bit vectors.
    Also fix some copy-and-paste errors in previous changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83590 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e95fbdc67767a5b924b05be00174db40a0cce57
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 8 22:42:35 2009 +0000

    Remove code that makes no sense.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83589 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f38db881ebc7e8d6e3723f74306fc179bc6a26d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 22:33:53 2009 +0000

    Convert more NEON tests to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83587 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47a1ff630bcc4c6ad5fc198b0b1fe9f7cd07a85c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 22:27:33 2009 +0000

    Add codegen support for NEON vld3lane intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83585 91177308-0d34-0410-b5e6-96231b3b80d8

commit 872cba53706d4b15c7d44ee586495daaf9acb850
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Oct 8 21:24:34 2009 +0000

    Update CMake build yet again after a source file was removed

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83575 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee60911ca1e826c45202025244f0d1d273d1c2c0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Oct 8 20:52:51 2009 +0000

    It's possible for a global variable to be optimized out of a metadata object. So
    we should allow a "null" with this dyn_cast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c196ef25d4afaf139cf282e439df7afa2c4e6ad
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Oct 8 20:43:22 2009 +0000

    Use lower16 / upper16 imm modifiers to asmprint 32-bit imms splitted via movt/movw pair.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83572 91177308-0d34-0410-b5e6-96231b3b80d8

commit f57e106e4ef58a165435aef6683db98b559f594b
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 8 20:41:17 2009 +0000

    Clear variable debug info map at the end of the function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83571 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5687d8a26c08d089c60df2c92d048ab85bcdb2b9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 18:56:10 2009 +0000

    Add codegen support for NEON vld2lane intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5642cc9b885987140f2f385af99fd6ad3ff47845
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 18:52:56 2009 +0000

    Clean up some unnecessary initializations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67902736c48e80706297e3141221c4951a15dabc
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 18:51:31 2009 +0000

    Clean up a comment (indentation was wrong).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83565 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcaa4cff1b4f3a5b7a731c6e591f345ce5fcdbc1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 18:49:46 2009 +0000

    Add a SelectionDAG getTargetInsertSubreg convenience function,
    similar to getTargetExtractSubreg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83564 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6882dff7faafcef6f4099c22fcb8f1720b021720
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 8 18:48:03 2009 +0000

    Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83563 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37f93448e6320e093f256f4884200656a3441f03
Author: Richard Osborne <richard@xmos.com>
Date:   Thu Oct 8 17:14:57 2009 +0000

    Add missing names for the XCore specific LADD and LSUB nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 130a245ddcec93d0105d56a5490bf15261fc5775
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 8 17:00:02 2009 +0000

    Add a form of addPreserved which takes a string argument, to allow passes
    to declare that they preserve other passes without needing to pull in
    additional header file or library dependencies. Convert MachineFunctionPass
    and CodeGenLICM to make use of this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83555 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59a302773ef641214008b3fca3d18a6227e06f5d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 8 16:01:33 2009 +0000

    some updates from users of llvm

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83551 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3a9f20fbd8ce4f486a775c526f6915da438072e
Author: Richard Osborne <richard@xmos.com>
Date:   Thu Oct 8 15:38:17 2009 +0000

    Add some peepholes for signed comparisons using ashr X, X, 32.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83549 91177308-0d34-0410-b5e6-96231b3b80d8

commit 169c7013404386716ee4fa02d8c88286a15b598c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 8 07:01:46 2009 +0000

    all content split into sections, still much work to be done.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 019ef5c94bf984de5c7ed18e3cd8174199cae615
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 8 06:42:44 2009 +0000

    remove LoopVR pass.  According to Nick:
    "LoopVR's logic was copied into ScalarEvolution::getUnsignedRange and
    ::getSignedRange. Please delete LoopVR."

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6aaf6907619d567b988c88dc787974141d093fa0
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 8 06:27:53 2009 +0000

    checkpoint, this is still not comprehendible.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96c75278165e3401271e659bb9375c0b0cb76241
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Oct 8 06:03:38 2009 +0000

    Unbreak the build.

    Forgot about the need to reconfigure after modifying Base.td.in....

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c70c0aaa6bcd91504049046a85ef1320be6e442
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 06:02:10 2009 +0000

    Convert more NEON tests to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94b5d43b15023b4757c1b08838104c6a14438e45
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 05:18:18 2009 +0000

    Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83526 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18c78e698719eea38d06de611575087e084e1dfc
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Oct 8 04:40:28 2009 +0000

    Make the Base plugin understand -MF and -MT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83525 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c7d766abfd5bdebe8e27baf0e92fe4c11e2dcc9
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Oct 8 04:40:08 2009 +0000

    Input files should go before all other options.

    Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 508ceee8273f7a4f579c60fd9e1ad2fee9f40241
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Oct 8 01:50:26 2009 +0000

    Cleanup up unused R3LiveIn tracking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83522 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4820d98aaad1442bfb4efb104a2ac91b64bc3a36
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Oct 8 01:46:59 2009 +0000

    Re-enable register scavenging in Thumb1 by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51d82f19af9992ec249e8494031365864defd035
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Oct 8 01:09:45 2009 +0000

    bugfix. The target may use virtual registers that aren't tracked for re-use but are allocated by the scavenger. The re-use algorithm needs to watch for that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83519 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7200e5d850492bc316cf1cef72cfff01fb88fdb5
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 00:28:28 2009 +0000

    Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83518 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd43d1eec2d82eb61329b5940fc2c7f4165cd9ed
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Oct 8 00:21:01 2009 +0000

    Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17091f035fcfa8a12b319146d199c043fbc59fce
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Oct 8 00:12:24 2009 +0000

    In instcombine's debug output, avoid printing ADD for instructions that are
    already on the worklist, and print Visited when an instruction is about to be
    visited.  Net, on one input, this reduced the output size by at least 9x.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83510 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ce4750b6014e38275dcf2878b6ca15a7111ac6d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 23:54:04 2009 +0000

    Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83508 91177308-0d34-0410-b5e6-96231b3b80d8

commit d48ca59eb7bd0af0e294c309b403f7bd72fdab0a
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 23:47:21 2009 +0000

    Convert more NEON tests to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83507 91177308-0d34-0410-b5e6-96231b3b80d8

commit da8caccf975ceec8914586e3f0ae7e46a228e640
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 23:39:57 2009 +0000

    Add codegen support for NEON vld3 intrinsics with <1 x i64> vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83506 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed8f6834c213d06f4b31cf1747d8900d346b461f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Oct 7 23:22:42 2009 +0000

    Fix the OProfile part of PR5018. This fixes --without-oprofile, makes
    it the default, and works around a broken libopagent on some Debian
    systems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c3be587276cc116d834bf213f80149e40add2b9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 22:57:01 2009 +0000

    Add codegen support for NEON vld2 intrinsics with <1 x i64> vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83502 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7d2c5396f2876ed2ac8e5c3b65291a769a90767
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 7 22:49:41 2009 +0000

    reverting thumb1 scavenging default due to test failure while I figure out what's up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83501 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcd68c3cde6340d81b205a97d9855c55c131150b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Oct 7 22:49:30 2009 +0000

    second half of lazy liveness removal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bf03f7398acced77fdf5dcc70543c47f550e956
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Oct 7 22:47:20 2009 +0000

    Fix handling of x86 'R' constraint.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83499 91177308-0d34-0410-b5e6-96231b3b80d8

commit c85628e8a290be582bf9c9845aedc29ac8dac99e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 22:30:19 2009 +0000

    Convert more NEON tests to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83497 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce7bfc50779b980e76e470733c72c25c82a5c0bf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 7 22:26:31 2009 +0000

    Enable thumb1 register scavenging by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d57f4b9260b0e0133e79e4fad874dfaf1739975
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 7 22:26:14 2009 +0000

    Enable thumb1 register scavenging by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47b9a3a81764a9db2834279dd716127112d0ca72
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 7 22:04:08 2009 +0000

    Extract subprogram and compile unit information from the debug info attached to an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83491 91177308-0d34-0410-b5e6-96231b3b80d8

commit b172116673cb33453971b6308941bc7cbd2f624c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 21:53:04 2009 +0000

    Add some instruction encoding bits for NEON load/store instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83490 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8d0f170e091f38e57a5889655d2e14497c20563
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 7 21:14:25 2009 +0000

    80-column and whitespace fixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0479a8535055d21c086964c753787a62f8688cb0
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Oct 7 20:57:20 2009 +0000

    Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
    that a symbol stub section with no attributes can be parsed as in:
    .section __TEXT,__picsymbolstub4,symbol_stubs,none,16

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83488 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa506f44c225410cb1592fb48bbb9e1a85bba76b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 20:51:42 2009 +0000

    Convert test to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 931c76b4c08ea058d90f9fd5f5a59aea52010c0d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 20:49:18 2009 +0000

    Add codegen support for NEON vst4 intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83486 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a85bd13a0155cef6081a7f78e4b59c70ba8f5b4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 20:30:08 2009 +0000

    Add codegen support for NEON vst3 intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83484 91177308-0d34-0410-b5e6-96231b3b80d8

commit a3330a871867e32033b8e0ea4134517d0ff62b9d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 7 19:08:36 2009 +0000

    grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fa67d35b87341e9990fb7b3a26e3de7e76c0e64
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 18:47:39 2009 +0000

    Add codegen support for NEON vst2 intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83482 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1355fe89fe28726ead6203e1b1f6e43f3292a81
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 7 18:44:24 2009 +0000

    add initializers for clarity. Add missing assignment of PrevLastUseOp.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83481 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd4a856fb7ad8ccf886eebd9a1575be404ada2f9
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Oct 7 18:40:17 2009 +0000

    Remove LazyLiveness from the tree.  It doesn't work right now, and I'm not going to have the time
    to finish it any time soon.  If someone's interested it, they can resurrect it from SVN history.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 004a2e16d3ac693fad8bbd5a6798406653f672ba
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 18:09:32 2009 +0000

    Add codegen support for NEON vld4 intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 308327301d99c310723d2ac204dc1fc513f89243
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Oct 7 18:01:35 2009 +0000

    Add another bit of the ARM target assembler to llvm-mc to parse registers
    with writeback, things like "sp!", etc.  Also added some more stuff to the
    temporarily hacked methods ARMAsmParser::MatchRegisterName and
    ARMAsmParser::MatchInstruction to allow more parser testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c1b793895e57d2696e6c84215f63bfd699e222e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 7 17:47:20 2009 +0000

    Replace some code for aggressive-remat with MachineInstr::isInvariantLoad, and
    teach it how to recognize invariant physical registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83476 91177308-0d34-0410-b5e6-96231b3b80d8

commit eef78170dfb5ee4137742e94dbb0253cdda451f8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 7 17:38:06 2009 +0000

    Replace TargetInstrInfo::isInvariantLoad and its target-specific
    implementations with a new MachineInstr::isInvariantLoad, which uses
    MachineMemOperands and is target-independent. This brings MachineLICM
    and other functionality to targets which previously lacked an
    isInvariantLoad implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83475 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5ce7033ba2445d8fd13504e422afeeffb61c3d3
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 7 17:36:00 2009 +0000

    Add a few simple MachineVerifier checks for MachineMemOperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83474 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8b4362ee4e3a8442c18c5c951594a018cb7a682
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 17:24:55 2009 +0000

    Add codegen support for NEON vld3 intrinsics with 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 520f5611addbb5e14f6c0140155c94690e421414
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 17:23:09 2009 +0000

    Rearrange code for selecting vld2 intrinsics.  No functionality change.
    This is just to be more consistent with the forthcoming code for vld3/4.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23e40bb47e44e9c84d3597d5ab6728e7656acbdf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Oct 7 17:19:13 2009 +0000

    Add tests for vld2 of 128-bit vectors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83468 91177308-0d34-0410-b5e6-96231b3b80d8

commit b67fb2b7be5c577e88578d240998a7ed3bf210db
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Oct 7 17:12:56 2009 +0000

    Add register-reuse to frame-index register scavenging. When a target uses
    a virtual register to eliminate a frame index, it can return that register
    and the constant stored there to PEI to track. When scavenging to allocate
    for those registers, PEI then tracks the last-used register and value, and
    if it is still available and matches the value for the next index, reuses
    the existing value rather and removes the re-materialization instructions.
    Fancier tracking and adjustment of scavenger allocations to keep more
    values live for longer is possible, but not yet implemented and would likely
    be better done via a different, less special-purpose, approach to the
    problem.

    eliminateFrameIndex() is modified so the target implementations can return
    the registers they wish to be tracked for reuse.

    ARM Thumb1 implements and utilizes the new mechanism. All other targets are
    simply modified to adjust for the changed eliminateFrameIndex() prototype.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83467 91177308-0d34-0410-b5e6-96231b3b80d8

commit faad9ce705c2531b896c96c880137fdba93f96e6
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Oct 7 16:37:55 2009 +0000

    Do not assume that the module is set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83462 91177308-0d34-0410-b5e6-96231b3b80d8

commit f57115c4bc5ab3acb1c2fafae53e340c9591a924
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Oct 7 09:23:56 2009 +0000

    Add a comment explaining how DenseMap::insert works, because it is not
    intuitive.
    It does NOT update the value if the key is already in the map,
    it also returns false if the key is already in the map, regardless
    if the value matched.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d7579c137eb7b85a3e40f4b89c1d73c4d29dea3
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Oct 7 09:22:55 2009 +0000

    Add PR to this FIXME, looks like I didn't commit this change after all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9657ce5edd48f028aa8f8e07ce043aad5dd24e6b
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Oct 7 07:35:19 2009 +0000

    Make getPointerTo return a const PointerType* rather than
    an unqualified PointerType* because it seems more correct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83454 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1f241ac09c5f93dd0f967eeb75172b7ff27d874
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 7 03:00:18 2009 +0000

    INTRINSIC_W_CHAIN and INTRINSIC_VOID do not use MemSDNode. They
    may access memory, but they don't carry a MachineMemOperand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83449 91177308-0d34-0410-b5e6-96231b3b80d8

commit b656c2722d3d782e893fccb11f0be2c9fbf4b31a
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 7 00:54:08 2009 +0000

    Add FreeInst to the "is a call" check for Insts that are calls, but
    not intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83441 91177308-0d34-0410-b5e6-96231b3b80d8

commit e725a19617ce125a02ad9c96279a68fbb0459240
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Oct 7 00:33:10 2009 +0000

    Fix this comment. The loop header is the loop entry point.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83437 91177308-0d34-0410-b5e6-96231b3b80d8

commit f68604a29b3058546a6ec8d7f244523d59893a3b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Oct 7 00:06:35 2009 +0000

    Add PseudoSourceValues for constpool stuff on ELF (Darwin should use something similar)
    and register spills.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83435 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9081aa6d5f1ab9e2ec8d14ec71c5b2bc3bbbf9cb
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Oct 7 00:02:18 2009 +0000

    While we still have a MallocInst treat it as a call like any other
    for inlining.

    When MallocInst goes away this code will be subsumed as part of
    calls and work just fine...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91e27daccce0af4bff6f9299fa52c8cbbeab5ce1
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Oct 6 22:26:42 2009 +0000

    Added bits of the ARM target assembler to llvm-mc to parse some load instruction
    operands.  Some parsing of arm memory operands for preindexing and postindexing
    forms including with register controled shifts.  This is a work in progress.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83424 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9829cafca9811fa616f8046ce384b797814fa67
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 6 22:01:59 2009 +0000

    Add codegen support for NEON vld2 operations on quad registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3360945de1c4c74c224806f22405ad8081b29701
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 6 22:01:15 2009 +0000

    Use copyRegToReg hook to copy registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83421 91177308-0d34-0410-b5e6-96231b3b80d8

commit 233b35a9018db719a4538efa59b00ba8c7582688
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 6 21:45:26 2009 +0000

    r83391 was completely broken since Twines keep references to their inputs, and
    some of the inputs were temporaries.  Here's a real fix for the miscompilation.
    Thanks to sabre for pointing out the problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83417 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc6baa536fe873f258c8aef5cb170d1d4b67f0c4
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 6 21:16:19 2009 +0000

    Update NEON struct names to match llvm-gcc changes.
    (This is not required for correctness but might help with sanity.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83415 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3443c216b30567ecf229ce43fe31ecb60e5e7ed3
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Oct 6 20:18:46 2009 +0000

    Fix a comment typo.
    Patch by Johnny Chen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83407 91177308-0d34-0410-b5e6-96231b3b80d8

commit 870fd046ae63c0ff664ba52054d8c6dd7debaf33
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Tue Oct 6 19:55:53 2009 +0000

    Bugfix for the CommaSeparated option. The original code was adding the whole
    string at the end of the list, instead of the last comma-separated string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83405 91177308-0d34-0410-b5e6-96231b3b80d8

commit b814315fa8e7762d1d8ce33513e001f3df900245
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Oct 6 19:45:38 2009 +0000

    Update CMake file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83404 91177308-0d34-0410-b5e6-96231b3b80d8

commit abf70f8384290d8a2f26d494c27f20cefd1fed60
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 6 19:06:16 2009 +0000

    Fix illegal cross-type aliasing. Found by baldrick on a newer gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83401 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0feae424692b07197998bd7a451d8da44fd0ac9a
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 18:37:31 2009 +0000

    Add support to handle debug info attached to an instruction.
    This is not yet enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c45a0c48614b2387855cee4f1e3f99013344ecf
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 6 17:43:57 2009 +0000

    Make LLVMContext's pImpl member const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83393 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fda434b0d4932d63b21ce3b5dd72c18e855da26
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Oct 6 17:38:38 2009 +0000

    Instead of printing unnecessary basic block labels as labels in
    verbose-asm mode, print comments instead. This eliminates a non-comment
    difference between verbose-asm mode and non-verbose-asm mode.

    Also, factor out the relevant code out of all the targets and into
    target-independent code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392 91177308-0d34-0410-b5e6-96231b3b80d8

commit c28187ff2fb70821affaa8b0a58b2a350af7b795
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 6 17:25:50 2009 +0000

    Fix PR5112, a miscompilation on gcc-4.0.3.  Patch by Collin Winter!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83391 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f9e3d8c96438bfdc3953f3f85a44753e3bcf652
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Oct 6 16:59:46 2009 +0000

    remove predicate simplifier, it never got the last bugs beaten
    out of it, and jump threading, condprop and gvn are now getting
    most of the benefit.  This was approved by Nicholas and Nicolas.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83390 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4a940b7700547f0f96469c52d155d15c97306ac
Author: Richard Osborne <richard@xmos.com>
Date:   Tue Oct 6 16:17:57 2009 +0000

    Remove xs1b predicate since it is no longer needed to differentiate betweem
    xs1a and xs1b.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83383 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1163f506d4d4cf143812d4b729ab43524f043a66
Author: Richard Osborne <richard@xmos.com>
Date:   Tue Oct 6 16:01:09 2009 +0000

    Remove xs1a subtarget. xs1a is a preproduction device used in
    early development boards which is no longer supported in the
    XMOS toolchain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83381 91177308-0d34-0410-b5e6-96231b3b80d8

commit d90b176bd923fef57b155202ce529076f3b4c587
Author: Richard Osborne <richard@xmos.com>
Date:   Tue Oct 6 15:41:52 2009 +0000

    Default to the xs1b subtarget

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83380 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2519d6193d736ee7f2b9cc24e0143cfa933f79e
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Oct 6 15:40:36 2009 +0000

    Introduce and use convenience methods for getting pointer types
    where the element is of a basic builtin type.  For example, to get
    an i8* use getInt8PtrTy.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8

commit 33b6450f08ca9ef6306adbd8cdb24145bf9a2202
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Oct 6 15:03:44 2009 +0000

    grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83378 91177308-0d34-0410-b5e6-96231b3b80d8

commit f434889fb46c722f22c99a827ccc026f6271e3cd
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 03:15:38 2009 +0000

    Fix cut-n-pasto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83367 91177308-0d34-0410-b5e6-96231b3b80d8

commit de8d48befd3a916c3389898c67a4f4adfa61fe78
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 03:04:58 2009 +0000

    Update processDebugLoc() to handle requests to process debug info, before and after emitting instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5450fc15cb5de674d4e5203ab9ace59d3d6c38e5
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 02:19:11 2009 +0000

    Update processDebugLoc() so that it can be used to process debug info before and after printing an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83363 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac35dcf9887f9e7883745876525c2a7dc39bf8d4
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 02:01:32 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 393a46deb66be6885fd064a38e650bed859af5a1
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 01:50:42 2009 +0000

    Add utility routine to set begin and end labels for DbgScopes.
    This will be used by processDebugLoc().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83361 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77354f12a0fd1882f4ec787e0a4309c2aaeae819
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 01:31:35 2009 +0000

    Remove unintentional function decl.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8413999c15ade93fff73f9e43738f1dfd885ba70
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 01:26:37 2009 +0000

    Add utility routine to collect variable debug info. This is not yet used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83355 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d3b7ca3aa24f7b0f1edc18c8f72d9bf1a84169c
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Tue Oct 6 00:35:55 2009 +0000

    Fix http://llvm.org/PR5116 by rolling back r60822.  This passes `make unittests
    check-lit` on both x86-64 Linux and x86-32 Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93d2e89b3e82de8ab53b252b5f86de4e3b6980b6
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 00:09:08 2009 +0000

    Set default location for the function if it is not already set.
    This code is not  yet enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95d477eff9aa5b68b022546565f0a41eee38cb89
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Oct 6 00:03:14 2009 +0000

    Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83348 91177308-0d34-0410-b5e6-96231b3b80d8

commit 186ee5cfbdf8c08394250e41d4bd6493999d56a1
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 5 23:59:00 2009 +0000

    If subprogram die is not available then construct new one.
    This can happen if debug info is processed lazily.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c62b1e8b968a5a02d52913d3f4957e7a307bd5e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Oct 5 23:51:08 2009 +0000

    Add a test for http://llvm.org/PR3043.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 695c8b08cab0e2844ddc14e3e7f87916fd90fdc6
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 5 23:40:42 2009 +0000

    Adjust context for the global variables that are not at file scope, e.g.
    void foo() { static int bar = 42; }
    Here, foo's DIE is parent of bar's DIE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83344 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6bd5cc8a280aee4124ba96c146ea9672ae8a9712
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 5 23:22:08 2009 +0000

    Set address while constructing DIE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b1adaa251c9e496d2e1be180dd83da49a001548
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 5 23:05:32 2009 +0000

    CMake misses a check for sbrk on NetBSD.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2bffa8f29fe36f76343f7bf82beefa5ef505b3fe
Author: Evan Phoenix <evan@fallingsnow.net>
Date:   Mon Oct 5 22:53:52 2009 +0000

    Extend ConstantFolding to understand signed overflow variants

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83338 91177308-0d34-0410-b5e6-96231b3b80d8

commit adf4cf604eeca26d6a854945893fa6c264e02900
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Oct 5 22:30:23 2009 +0000

    In Thumb1, the register scavenger is not always able to use an emergency
    spill slot. When frame references are via the frame pointer, they will be
    negative, but Thumb1 load/store instructions only allow positive immediate
    offsets. Instead, Thumb1 will spill to R12.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1567166b9fe417a0656f9fcb2a18b35d915c34c3
Author: Evan Phoenix <evan@fallingsnow.net>
Date:   Mon Oct 5 22:29:11 2009 +0000

    First test commit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83334 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72c9ef41f51bf3a71ce5d44001d944e4223679f3
Author: Edwin Török <edwintorok@gmail.com>
Date:   Mon Oct 5 21:15:43 2009 +0000

    Don't treat malloc calls with non-matching prototype as malloc.
    Fixes second part of PR5130, miscompilation in FreeBSD kernel, where malloc takes 3 params,
    and *does* initialize memory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83324 91177308-0d34-0410-b5e6-96231b3b80d8

commit ddaf8eb6dc30ea98c9f28eefa779a70d14114fd7
Author: Edward O'Callaghan <eocallaghan@auroraux.org>
Date:   Mon Oct 5 18:43:19 2009 +0000

    No newline at end of files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 946d0aef89afb5752d65e1900532c2afdc0cd700
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Oct 5 18:03:19 2009 +0000

    Gracefully handle various scopes while recording source line info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83317 91177308-0d34-0410-b5e6-96231b3b80d8

commit f49f7b0e07de54727532f40a75be162878b882c7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 5 16:36:26 2009 +0000

    Remove an unnnecessary LLVMContext argument in
    ConstantFoldLoadThroughGEPConstantExpr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3af2d41b3ea4d448dffb3761ea0339e7025ec447
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 5 16:31:55 2009 +0000

    Use Use::operator= instead of Use::set, for consistency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83310 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6421f8134ceb2bb306e98dda770afc317fcbff42
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 5 15:52:08 2009 +0000

    Remove explicit enum integer values. They don't appear to be needed, and
    they make it less convenient to add new entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83308 91177308-0d34-0410-b5e6-96231b3b80d8

commit a93849c7f7d379b51fa23747f75afa5252fe3eae
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 5 15:42:08 2009 +0000

    Add RIP to GR64_NOREX. This fixed a MachineVerifier error when RIP
    is used in an operand which requires GR64_NOREX.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 290c17ca7b6f528a6780647273e9b9169a58d9eb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Oct 5 15:23:17 2009 +0000

    Fix a name in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 807767e1e711d943b51e579413858adbbc6e9807
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 07:07:29 2009 +0000

    callgraph changes came after the 2.6 branch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83299 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82cdc06a6626e9a9fae300fafaeae9702ffb3808
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 05:54:46 2009 +0000

    strength reduce a ton of type equality tests to check the typeid (Through
    the new predicates I added) instead of going through a context and doing a
    pointer comparison.  Besides being cheaper, this allows a smart compiler
    to turn the if sequence into a switch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4509b017dfea39a23da470417d3abbeab298b79f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 05:48:40 2009 +0000

    add more type predicates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2825098ca09e0a7a620fafe8fe422071c1ff3291
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 05:26:04 2009 +0000

    teach the optimizer how to constant fold uadd/usub intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83295 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc5e4678c9bc6558c66c0e42cc61b14ce68cc984
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 05:06:24 2009 +0000

    simplify this code a bunch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83294 91177308-0d34-0410-b5e6-96231b3b80d8

commit db63a6816974cca1962bce6a84d5baa7b51cdd1e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 05:05:57 2009 +0000

    add some helper functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5fd5ce6e5f28b20073b61cfcaa684418bda852ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 05:00:35 2009 +0000

    code simplifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83292 91177308-0d34-0410-b5e6-96231b3b80d8

commit f68c8b637b794fc2a98b75b41077ae21901243cc
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Oct 5 02:51:06 2009 +0000

    Move implicit and paralle to a separate codegen specific section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83291 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95ac4ebe1d2951233c5e2dad1e9873258b890f3f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 02:47:47 2009 +0000

    instcombine shouldn't delete all null checks for mallocs.
    This fixes PR5130.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83290 91177308-0d34-0410-b5e6-96231b3b80d8

commit d511acce19f3f29ab933a90e0f1972d31685fd40
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 02:35:05 2009 +0000

    stop MachineFunctionPass from claiming that it preserves LoopDependence info,
    which causes dependence info to be linked into lli.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83289 91177308-0d34-0410-b5e6-96231b3b80d8

commit afb1c45acace0b0f6fe0aaae1cf08ac6ad93091a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 02:29:51 2009 +0000

    remove llvm-db: it is completely broken and if anyone wants to do a debugger,
    they should not base it on llvm-db (which not following almost any "best practices").

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83288 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2d434792c8ef1d97da45acc4266b873c71b837e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Oct 5 02:12:39 2009 +0000

    add some completely unformated and probably incoherent notes about things
    I saw while reading all the commits between the 2.5 and 2.6 release branches.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83287 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa289966b6b7ae54a3c17822f5155d0588783342
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Oct 4 18:49:55 2009 +0000

    Do away with the strange use of BitVectors in SSI, and just use normal sets.  This makes the code much more C++/LLVM-ish.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83286 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc0aeb29f77c1d84341f2843edf6c0f78642f125
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Oct 4 18:18:39 2009 +0000

    Whitespace and formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20bf333554b755a1f1633e0ee0517ac6ec7ca5fa
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Sun Oct 4 17:54:36 2009 +0000

    Remove trailing whitespace from build output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11a021db1a24a060fbd14a383a0da3cb7ec439eb
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Oct 4 17:52:13 2009 +0000

    Fix a typo in the comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83283 91177308-0d34-0410-b5e6-96231b3b80d8

commit de650865a291a022b69a1b2b9e6e554073915e5b
Author: Owen Anderson <resistor@mac.com>
Date:   Sun Oct 4 17:47:39 2009 +0000

    SSI needs to require DT and DF transitively, since it uses them outside of its runOnFunction.
    Similarly, it can be marked setPreservesAll, since it does no work in its runOnFunction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 85cf4cfee00f555cc782773fe9c1241b038a24cd
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Oct 4 06:24:57 2009 +0000

    CMake: remove .so file extension from library names when building
    dependency info.

    Patch by Peter Collingbourne!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83275 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c46ca5cfeec9bc6fe2d8ddc14dfefa66151189c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 4 06:13:54 2009 +0000

    Allow -inline-threshold override default threshold even if compiling to optimize for size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83274 91177308-0d34-0410-b5e6-96231b3b80d8

commit 763375a457d612e0300d71f78850f9bcf6e14650
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Oct 4 05:25:42 2009 +0000

    Rename enum NumOccurrences to NumOccurrencesFlag since there is a member named NumOccurrences.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83273 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ec15365c18c2cd9a5f73ec27e356dcbcfb7212f
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Oct 3 19:30:43 2009 +0000

    Requires element types in a constant initializer to match the element types of
    of the constant. This reverts r6544 and r7428.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8af7b535e3d97a9edb29b0ce3e6c4a4529b081a8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Oct 3 04:44:16 2009 +0000

    Add a comment to describe letters used in multiclass name suffixes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64c60918f15571fbb4dabdfa074c2bcdc0b9296d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Oct 3 04:41:21 2009 +0000

    Fix encoding problem for VMLS instruction.
    Thanks to Johnny Chen for pointing this out!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83256 91177308-0d34-0410-b5e6-96231b3b80d8

commit ead9d35fa9885422f4d1168f9261c63e194b21ff
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Oct 3 04:31:31 2009 +0000

    Oops. Renamed remaining MachineInstrIndex references.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83255 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a6f4525040fd90996d1391cef8b24284b817ed3
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Oct 3 04:21:37 2009 +0000

    Renamed MachineInstrIndex to LiveIndex.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83254 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4ab6051f82185a6cbb90a9269924510c4ee1064
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Oct 2 19:52:33 2009 +0000

    Try to fix unit test linking on linux ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56656b73ef40540b43ebb537846f1ab09b7bcb3b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Oct 2 19:36:31 2009 +0000

    MingW build fixes

    - MingW needs -lpsapi (in ${LIBS}) linked after -lLLVMSystem.
      Noticed by Ronald Pijnacker!

    - Some parts of the System library must be build with exceptions on windows.
      Based on a patch by Jay Foad!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83251 91177308-0d34-0410-b5e6-96231b3b80d8

commit e3901ce4809ad26b8173855549cc5adbe7b29b56
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Oct 2 15:59:52 2009 +0000

    Fix a use-after-free in post-ra-scheduling.

    MI->addOperand invalidates references to it's operands, avoid touching
    the operand after a new one was added.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30aa6a6b4bc96797d71e8c3cd542973a198124b5
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Oct 2 09:30:03 2009 +0000

    Fix make rule when objdir is inside srcdir.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-27 12:44:52 +02:00
Török Edvin
6c5344d3ea Merge LLVM upstream r83242.
Squashed commit of the following:

commit 6f2bf0bd6f1ff49887d30f3433d05bd906e6b3d3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 06:57:25 2009 +0000

    getFunctionAlignment should return log2 alignment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83242 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69e343b1b893bf2b11cc0320973d329eb9102e79
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 06:53:57 2009 +0000

    Fix tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83241 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42b0e2ad0096357ac3f62e5e7066703bdb93ba75
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 06:50:50 2009 +0000

    Fix test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 62213e4da7f2ac9b615a3bd53baad974c1c36bdd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 06:07:47 2009 +0000

    C++ member functions must be 2 byte aligned per ABI.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a6e6dd500a86c44803aa7b1414c8603d9e5c753
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 05:03:07 2009 +0000

    Forgot about ARM::tPUSH. It also has a new writeback operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83237 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2e9ca91163c46e55d5ee9e16efb3a1ab6a01467
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 04:57:15 2009 +0000

    Move load / store multiple before post-alloc scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83236 91177308-0d34-0410-b5e6-96231b3b80d8

commit 926c44a79e4e6eb86e44028d9f313640c6238ddf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Oct 2 04:45:37 2009 +0000

    Test case for aligned attribute on function declaration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83234 91177308-0d34-0410-b5e6-96231b3b80d8

commit db397e1ea09a961e2b3f16d7ee85eae5f19f8771
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 1 23:28:47 2009 +0000

    All callee-saved registers are live-out of a return block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 736fed9ff71ae677a7c947ac80ebb42a527de0dc
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 1 22:19:57 2009 +0000

    Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83218 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d14abe36967fe67c85915dc6102a3b24fc1cd4a
Author: Mike Stump <mrs@apple.com>
Date:   Thu Oct 1 22:08:58 2009 +0000

    Expand api out in the usual inserter way, though, I do have a
    question, can we get rid of the BasicBlock versions of all inserters
    and use Head == 0 to indicate the old case when GetInsertBlock == 0?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83216 91177308-0d34-0410-b5e6-96231b3b80d8

commit 089aa85274d26ebec4989ac1ceeefba7fca5e5ea
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 1 21:46:35 2009 +0000

    Restore the -post-RA-scheduler flag as an override for the target specification. Remove -mattr for setting PostRAScheduler enable and instead use CPU string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83215 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9a6b6528197d68ea551f665bc6be722a0009630
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 1 20:54:53 2009 +0000

    ARM::tPOP and tPOP_RET each has an extra writeback operand now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83214 91177308-0d34-0410-b5e6-96231b3b80d8

commit 254350268fc9c24618049ec56bb13484a12bd7ea
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Oct 1 20:45:06 2009 +0000

    remove trailing whitespace

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a26010c218cd8979439036cc90d3bea93b3996b
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 1 20:31:14 2009 +0000

    Add support to extract lexical scope information from DebugLoc attached with an machine instruction.
    This is not yet enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83210 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdb56fcef112775875904583d3cc07a262a28af3
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Oct 1 19:45:32 2009 +0000

    Use MachineFrameInfo.getPristineRegs() to determine which callee-saved registers are available for anti-dependency breaking. Some cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83208 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90ecd198e2f605f8a613ce0861aeea7e16a56575
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 1 18:25:23 2009 +0000

     Record first and last instruction of a scope in DbgScope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83207 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23e904656c452ab739af152a9f767a5e504be4f5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Oct 1 17:39:52 2009 +0000

    Don't use identifiers that start with an underscore followed
    by a capital letter, which invokes undefined behavior.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83206 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f9678ef172077982826809d5111881929175d83
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Oct 1 17:25:36 2009 +0000

    Teach CMake to look for bidirectional_iterator, iterator, forward_iterator, uint64_t, and u_int64_t, from Yonggang Luo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04be082a4a304483410133a89dbd0f1dfe902c9a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 1 08:26:23 2009 +0000

    Observe hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. Do not change
    operands of instructions with these properties while breaking anti-dep.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c8d5ea09fb5e7a585533f711b9540e9b3b95a5e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 1 08:22:27 2009 +0000

    Add hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq flags to ld / st multiple,
    ld / st pairs, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83197 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6ea3038ef1d98019eb620ad0fbb8f2ca5f49da5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 1 08:21:18 2009 +0000

    Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When
    set, these flags indicate the instructions source / def operands have special
    register allocation requirement that are not captured in their register classes.
    Post-allocation passes (e.g. post-alloc scheduler) should not change their
    allocations. e.g. ARM::LDRD require the two definitions to be allocated
    even / odd register pair.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ae1c40d8152145e9810bc28383af1d3ebf5b52b
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Thu Oct 1 05:30:05 2009 +0000

    Remove GVNPRE.cpp from the CMake makefile

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50ee6c55ed015693e91bcebda0c100f6185a47fe
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Oct 1 02:18:36 2009 +0000

    remove the GVNPRE pass.  It has been subsumed by the GVN pass.
    Ok'd by Owen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83193 91177308-0d34-0410-b5e6-96231b3b80d8

commit 713ff84d1467c64ad625681baa355b49bcc44ca3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 1 01:39:21 2009 +0000

    Update ARM JIT emitter to account for ld/st multiple changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83192 91177308-0d34-0410-b5e6-96231b3b80d8

commit b43a20e3bce6b4b16151ec25ef3541494fce8425
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Oct 1 01:33:39 2009 +0000

    Change ld/st multiples to explicitly model the writeback to base register. This fixes most of the -ldstopti-before-sched2 regressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83191 91177308-0d34-0410-b5e6-96231b3b80d8

commit f736728788cddfb56d44fb826cb5d91dfdbfe294
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 1 01:15:28 2009 +0000

    Add another MDNode into DebugLocTuple. This will be used to keep track of inlined functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 539f434334ae6cc5becba8b3099eb20ab7fe48dc
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Oct 1 01:03:26 2009 +0000

    If location info is attached with an instruction then keep track of alloca slots used by a variable. This info will be used by AsmPrinter to emit debug info for variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86049dcedaba49929bf6e4c1cd84f9d85cadb987
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 23:12:50 2009 +0000

    Use MachineInstr as an processDebugLoc() argument.
    This will allow processDebugLoc() to handle scopes for DWARF debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d23d84af58fc21b50dce528a8a26a30a62db355
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 22:51:28 2009 +0000

    Use MDNode * directly as an RecordSourceLine() argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16030402039c222229fe0e64cbc8307964480e31
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 22:43:52 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83181 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3733e0ac886bb85bd0735fdee4421683d9be3682
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 22:34:41 2009 +0000

    Add isFOO() helpers. Fix getDirectory() and getFilename() for DIScope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f9b67a27f82ba4d75625c2e260d40cb3b662393
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 30 22:25:37 2009 +0000

    Use OutStreamer.SwitchSection instead of writing out textual section directives.
    Add a new TargetLoweringObjectFileMachO::getConstTextCoalSection method to
    get access to that section.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83178 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5f835ee6e48aedbffb804a6bf5308465867e67b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 30 22:06:26 2009 +0000

    Add a new virtual EmitStartOfAsmFile method to the AsmPrinter and use this
    to emit target-specific things at the beginning of the asm output.  This
    fixes a problem for PPC, where the text sections are not being kept together
    as expected.  The base class doInitialization code calls DW->BeginModule()
    which emits a bunch of DWARF section directives.  The PPC doInitialization
    code then emits all the TEXT section directives, with the intention that they
    will be kept together. But as I understand it, the Darwin assembler treats
    the default TEXT section as a special case and moves it to the beginning of
    the file, which means that all those DWARF sections are in the middle of
    the text.  With this change, the EmitStartOfAsmFile hook is called before
    the DWARF section directives are emitted, so that all the PPC text section
    directives come out right at the beginning of the file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83176 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4901f432e56cb1b6823a9b3170a08ff56f1f2c37
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 30 21:44:42 2009 +0000

    Fix a comment typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c6b6fc5b3777a3001043ba3a5db54ac41f97a1b
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 21:26:51 2009 +0000

    Check for null MDNode element while printing comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83172 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ed4b620633aff7001447bf3ddd86924f8fd7d10
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 30 21:26:13 2009 +0000

    Fix a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83171 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd8cb7f1e4075f66179e15deb0c0aecaf09fe4be
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 30 21:24:45 2009 +0000

    The AsmPrinter base class contains a DwarfWriter member, so there's no need
    for derived AsmPrinters to add another one.  In some cases, fixing this
    removes the need to override the doInitialization method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83170 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd36d91b6775ae45eb46eb2a0f4ac47b4a8cb9d8
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Sep 30 21:08:08 2009 +0000

    Assert that ConstantArrays are created with correctly-typed elements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83168 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6c9ec0753ed03948b49ae3e0d96b87b484ee247
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 30 20:54:16 2009 +0000

    Fix this code so that it doesn't try to iterate through a std::vector
    while calling changeImmediateDominator, which removes elements from the
    vector. This fixes PR5097.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83166 91177308-0d34-0410-b5e6-96231b3b80d8

commit 64ccb3919aa594caf4c2196eed9e72cc9797fe57
Author: Reid Kleckner <reid@kleckner.net>
Date:   Wed Sep 30 20:43:07 2009 +0000

    Silence comparison always false warning in -Asserts mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83164 91177308-0d34-0410-b5e6-96231b3b80d8

commit af24317c91a2383560a6707d35ae41f770c05a14
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 30 20:35:36 2009 +0000

    Add additional assert() to verify no extraneous use of a scavenged register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60a7ae26df4ce7d2dac4636e924c29eed0f97df4
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 20:16:54 2009 +0000

    Print tag name for MDNodes that are used to encode debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83160 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9b95fd1ebb1f046d17afd0123d7c3afcd4ddef0
Author: Reid Kleckner <reid@kleckner.net>
Date:   Wed Sep 30 20:15:38 2009 +0000

    Fix integer overflow in instruction scheduling.  This can happen if we have
    basic blocks that are so long that their size overflows a short.

    Also assert that overflow does not happen in the future, as requested by Evan.

    This fixes PR4401.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a8c00d3394922bbc310fdd6ffb829939de37cd1
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 17:13:41 2009 +0000

    Silence unused variable warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65a2b9aff1084c5c54afd4577555a5bf3b124114
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 30 15:23:38 2009 +0000

    Clarify comment phrasing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83148 91177308-0d34-0410-b5e6-96231b3b80d8

commit 140523508f5e2af96e8c01218b4c4fc1c73abcdb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 30 08:53:01 2009 +0000

    Add a option which would move ld/st multiple pass before post-alloc scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83145 91177308-0d34-0410-b5e6-96231b3b80d8

commit caa654136388c6b3b1909149a5d9002159983ee1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 30 08:49:50 2009 +0000

    Add a target hook to add pre- post-regalloc scheduling passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28568c1e49f9781afd921e2fbb52b18fb2ec6321
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 30 08:41:27 2009 +0000

    Forgot this test earlier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83143 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2375debd3ff878723a90be0f69860eae30ace312
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 30 06:27:22 2009 +0000

    add macruby, fix a validation problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 133cf876fff85ed26381f2964e5c1de43764a051
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Wed Sep 30 04:50:26 2009 +0000

    Fix compile error as debug interface changed.

    By the way, this code is buggy. You can't keep a map<MDNode *, something>
    because the MDNode may be destroyed and reused for something else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83141 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0e180ac4672e4a304f93a2d0207428c83de155e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 30 01:47:59 2009 +0000

    replace TRI->isVirtualRegister() with TargetRegisterInfo::isVirtualRegister()
    per customary usage

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83137 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce096d7654254793f6df9dcfea8e44345afa42bf
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 30 01:43:29 2009 +0000

    When checking whether we need to reserve a register for the scavenger,
    the size of the saved frame pointer needs to be taken into account.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83136 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6f0c0268cdad78cdc3b8d4b4ad597d1c3ce7ba2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 30 01:35:11 2009 +0000

    Add "isBarrier = 1" to return instructions.

    Patch by Sylvere Teissier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83135 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25e34f9b00ed6c3b69f77fbec6173ca9071ac793
Author: Jim Grosbach <grosbach@apple.com>
Date:   Wed Sep 30 00:37:40 2009 +0000

    fix compiler warning

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83132 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcadb50767616efc30787f5e5bcbf67b3fc3d7f0
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Sep 30 00:23:57 2009 +0000

    Remove regression that requires post-RA scheduling from a target that does not use that scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5147f1174ae1b6f8af2bc03d8f9915bda2937961
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 30 00:23:42 2009 +0000

    For Darwin, emit all the text section directives together before the dwarf
    section directives.  This causes the assembler to put the text sections at
    the beginning of the object file, which helps work around a limitation of the
    Darwin ARM relocations.  Radar 7255355.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48e8d7af49d3f3e2cd279c13b8897fcade1801a5
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 30 00:14:40 2009 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83123 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf89a609bc2c368e2c5c970131edc40c08175893
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Sep 30 00:10:16 2009 +0000

    Remove -post-RA-schedule flag and add a TargetSubtarget method to enable post-register-allocation scheduling. By default it is off. For ARM, enable/disable with -mattr=+/-postrasched. Enable by default for cortex-a8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83122 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3abdd85bbfd3f3f16e7c4551ba86fed9c412ea82
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Sep 30 00:08:25 2009 +0000

    Forward-declare ValueSymbolTable so that SymbolTableListTraits.h can be parsed by itself

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83121 91177308-0d34-0410-b5e6-96231b3b80d8

commit b22cd0ff4c6c3ba4a39b8b11afb21ddf40e79f74
Author: Mike Stump <mrs@apple.com>
Date:   Wed Sep 30 00:08:22 2009 +0000

    Add a way for a frontend to generate more complex dwarf location
    information.  This allows arbitrary code involving DW_OP_plus_uconst
    and DW_OP_deref.  The scheme allows for easy extention to include,
    any, or all of the DW_OP_ opcodes.  I thought about just exposing all
    of them, but, wasn't sure if people wanted the dwarf opcodes exposed
    in the api.  Is that a layering violation?

    With this scheme, the entire existing block scheme used by llvm-gcc
    can be switched over to the new scheme.  I think that would be
    cleaner, as then the compiler specific bits are not present in llvm
    proper.  Before the old code can be yanked however, similar code in
    clang would have to be removed.

    Next up, more testing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 278c839fdb36f39a25935fd83e12144b374d4e75
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 29 23:17:20 2009 +0000

    minor cleanup and add clarifying comment

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c888f47d45c8b462e23cc270731bff109e55e0f
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 22:05:52 2009 +0000

    Lookup handler name only when assertions are enabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83114 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91291d92510d559e84bb36184703684dcd330469
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 20:42:25 2009 +0000

    Add removeMD().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3402a11ab9fadebbfd897d532e3dd3ec33bc76d5
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 20:30:57 2009 +0000

    Only one custom meadata of each kind can be attached with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f2144540eebd8dfd6161f7f1e350f7f0cf8fc89
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 29 20:11:10 2009 +0000

    Additional check for regno==0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 789d5d396510406c9dfbf26b8b5e5ee463f0eb60
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 20:01:19 2009 +0000

    Use assertion instead of early exit to catch malformed custom metadata store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83102 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50ffdfb9df7dceaba43fd40a1053d22787257fd6
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 19:56:13 2009 +0000

    Remove unnecessary cast.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83100 91177308-0d34-0410-b5e6-96231b3b80d8

commit aaf012ebb492482ba3626e4129140713cd7836b7
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 18:40:58 2009 +0000

    Remove std::string uses from DebugInfo interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4002bc8194a36ff425f37829d6fb04a56ef1358
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 18:39:56 2009 +0000

    Create empty StringRef is incoming cstring is NULL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 428fa81b068032e70a4df96a9bf95aea8647bae7
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 29 18:23:15 2009 +0000

    Simplify the tracking of virtual frame index registers. Ranges cannot overlap,
    so a simple "current register" will suffice. Also add some additional
    sanity-checking assertions to make sure things are as we expect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1261bc74142b823bf80824e5f7e20697cb136747
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 29 17:24:37 2009 +0000

    Moving register scavenging to a post pass results in virtual registers in
    the instruction we're scavenging for. The scavenger needs to know to avoid
    them when analyzing register usage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83077 91177308-0d34-0410-b5e6-96231b3b80d8

commit d87b736e032e2bb48df5de77b2632197cd89d73f
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Sep 29 17:10:26 2009 +0000

    Post-RA regressions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 350c913b054b04ffd2c0041e8cf63d6031cb060b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 29 07:07:30 2009 +0000

    Fix PR4687. Pre ARMv5te does not support ldrd / strd. Patch by John Tytgat.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c2dc21a880cfd629c485bf65dcc7d8380da234d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 29 06:18:23 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83052 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5f12fed540b9487fe8a48e7480344ab0c33676d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 29 06:18:00 2009 +0000

    Fix configure bug that only shows up in a clean build. Don't try to invoke gcc
    until after the compiler itself has been set up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83051 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2813d0d6d353fb32749e66adc03e5a388c6eee2
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 29 05:48:51 2009 +0000

    Roll back r83048.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83050 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4ba4c6918a704922ebaf2dada823423d503fe7a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 29 05:41:21 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c6df93ec728e0c4109690a0712100f2381002ce
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 29 05:40:45 2009 +0000

    On Linux, uname -m reports the kernel type. Some Linux systems are 32-bit but
    with a 64-bit kernel, which confuses LLVM. Make LLVM double-check this by
    checking which defines the system gcc actually sets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83047 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17c60df1f139b966e696c18683d6fac7afb0d4ac
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 29 00:01:14 2009 +0000

    Parse custom metadata attached with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83033 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a60e6ab5c0bdebeeb93bf7837306b526c6174cd
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Sep 28 23:42:38 2009 +0000

    B&I's buildit forces a PATH that omits /Developer.  Temporarily add
    /Developer/usr/bin to the PATH when looking for llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83028 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe70981db2dc986f570f7aeefc6035477e704653
Author: Stuart Hastings <stuart@apple.com>
Date:   Mon Sep 28 22:17:53 2009 +0000

    For B&I-style builds, tweak build_llvm script to prefer LLVM-G++ if
    available.  Override by setting CC and CXX in the environment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83024 91177308-0d34-0410-b5e6-96231b3b80d8

commit e68f04e420b7b2422586e4927db982f30c654e2f
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Sep 28 22:08:06 2009 +0000

    Adjust processFunctionBeforeCalleeSavedScan() to correctly reserve a stack
    slot for the register scavenger when compiling Thumb1 functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83023 91177308-0d34-0410-b5e6-96231b3b80d8

commit 79af72b8cc78f43bda065f66a27992f14f44839b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 21:51:41 2009 +0000

    Add C API calls for building FNeg operations. Patch by KS Sreeram!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83021 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6de78e26bd0bb682ac466ae1b46a8a29c9d6ae9c
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Sep 28 21:41:20 2009 +0000

    s/class Metadata/class MetadataContext/g

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83019 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5896160216cae66e3a06cb58c3c38ba09f6969e
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Sep 28 21:14:55 2009 +0000

    Do not use global typedef for MDKindID.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb8bbe7d7b17bf387769d86e614034a36adc159e
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Mon Sep 28 21:14:38 2009 +0000

    Forgot to update the documentation in r82906. s/DEBUG_RUNTIME/DEBUG_SYMBOLS/.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83015 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb2172f0d0c6dff8c8df6099930aa8c6d97c4a46
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Sep 28 21:06:38 2009 +0000

    Remove unnecessary include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6218ff80a55e355aed58ecd5626a28bcba5f2309
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 21:03:02 2009 +0000

    Add a testcase for r83011.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5de2a439373415252635c44a5441c699c6a9a982
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 21:01:47 2009 +0000

    When extending the operands of an addrec, iterate through all
    the operands, rather than trying to partition them into a start
    and a step. This handles non-affine add recurrences correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83011 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1b5c1ac519a42ccf25664de3acee4b97f5c87a0
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Sep 28 20:56:00 2009 +0000

    Do not hardcode metadata names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83cefbc8b9b22deae1a74c27b6c3576928ec5e83
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 20:48:39 2009 +0000

    Add a CHECK line to check the position of the second divsd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56a506296805c4967326a41bd5b0ae3202ace90f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Sep 28 20:47:15 2009 +0000

    Fix Thumb2 IT block pass bug. t2MOVi32imm may not be the start of a IT block.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b17870ccf5ae6abd45044f2788825fa0db381e5
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Sep 28 20:32:46 2009 +0000

    Use KILL instead of IMPLICIT_DEF in LowerSubregs pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f12c7cd04af1b2eadddf46f00bf9527fa484188
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Sep 28 20:32:26 2009 +0000

    Introduce the TargetInstrInfo::KILL machine instruction and get rid of the
    unused DECLARE instruction.

    KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF
    in the places where IMPLICIT_DEF is just used to alter liveness of physical
    registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83006 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0404c87e5e2d880e347a1e97e97e775534031692
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 18:40:27 2009 +0000

    Add a testcase to help test analysis preservation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24e32c155493661e8a9a5dbda73cda80d97e5203
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 18:38:53 2009 +0000

    Create a README.txt for lib/Analysis, and add an entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83001 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8fdfc78fa6e85af471e6be708819ba7df013613
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Sep 28 18:31:56 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82999 91177308-0d34-0410-b5e6-96231b3b80d8

commit c7d0e9d24270f52cdc47b94ebaad316d4fcc2b44
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 16:09:41 2009 +0000

    Use VerifySchedule instead of doing the work manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82995 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52646b13f315ad45d6999871491c804a5ba706df
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 15:40:01 2009 +0000

    Fix this debug output to handle the case where the loop has been deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05e9fccefe7b54166c82415d0d2ab497a22eecb4
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 15:07:18 2009 +0000

    Include the name of the loop header in debug messages.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2dac97890a66877e9f433d75b0f31f07df2ef84a
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 14:38:19 2009 +0000

    Remove a redundant #ifndef and add an assertion string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82991 91177308-0d34-0410-b5e6-96231b3b80d8

commit b65091d85c1c7a467ecf0622747900e54012b2fb
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 14:37:51 2009 +0000

    Convert LoopSimplify and LoopExtractor from FunctionPass to LoopPass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82990 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4ecc68efa92c06e2de1937f2a6408f57318ee3f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Sep 28 14:30:20 2009 +0000

    Pass the optimization level when constructing the ARM instruction selector.
    Otherwise, it is always set to "default", which prevents debug info from
    even being generated during isel.  Radar 7250345.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82988 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16c012d9a28fe4db3ee081192a587ad7f30d4cc2
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Sep 28 09:14:39 2009 +0000

    Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo
    instruction. This makes it re-materializable.

    Thumb2 will split it back out into two instructions so IT pass will generate the
    right mask. Also, this expose opportunies to optimize the movw to a 16-bit move.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82982 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4468959a4eab134d4ca50b755aac6452617e8857
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 28 07:32:45 2009 +0000

    Don't traverse into .svn directories.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82978 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe89b6a96501aabf8edbd991e9fb81108ecde782
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Mon Sep 28 07:26:46 2009 +0000

    Fix thinko in my recent movt commit: it's not safe to remat movt, since it has input reg argument.
    Disable rematting of it for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82975 91177308-0d34-0410-b5e6-96231b3b80d8

commit da3ee9ce1a46cf351e614a6c17627b63cec9b2b4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 28 06:49:44 2009 +0000

    The select instruction is not neccesarily in the same block as the
    phi nodes.  Make sure to phi translate from the right block.

    This fixes a llvm-building-llvm failure on GVN-PRE.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82970 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58cb38c09d1b7e0e8c27d56ac94a524552ef436c
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Sep 28 05:28:43 2009 +0000

    Coalescer should not delete extract_subreg, insert_subreg, and subreg_to_reg of
    physical registers. This is especially critical for the later two since they
    start the live interval of a super-register. e.g.
    %DO<def> = INSERT_SUBREG %D0<undef>, %S0<kill>, 1
    If this instruction is eliminated, the register scavenger will not be happy as
    D0 is not defined previously.
    This fixes PR5055.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82968 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4cf975e89642255701b2f279b1647caf430947c
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Sep 28 04:42:55 2009 +0000

    Document a bug in the ocaml bindings has wrong linkage values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82966 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61c452d71b139822208536338069d2bc7d464256
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Sep 28 04:42:47 2009 +0000

    Expose the rest of the attribute settings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dc7c1fc51b4268897da277fffbac812cce94e66
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Sep 28 04:42:36 2009 +0000

    Fix a bug in ocaml bindings that has incorrect linkage options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82964 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6625665544615314e66cbf54fe4b529a6dcd9441
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Sep 28 01:28:26 2009 +0000

    Regenerate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82958 91177308-0d34-0410-b5e6-96231b3b80d8

commit d42557f9880111a13da39570d5e47e69e72648df
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Sep 28 01:16:42 2009 +0000

    Add a way to query the number of input files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c3e02c66a2ac85384c3d7a84a02a60aa71ea591
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Sep 28 01:16:07 2009 +0000

    Document the 'not' combinator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82956 91177308-0d34-0410-b5e6-96231b3b80d8

commit c93d3814ca1727b694a4ac3b88a7979f61915ff7
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Sep 28 01:15:44 2009 +0000

    A bit prettier formatting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82955 91177308-0d34-0410-b5e6-96231b3b80d8

commit e414c1e0cd9d1c1e0e650c5710c3df04bf707762
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 00:44:15 2009 +0000

    Remove temporary debugging hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07fbbcdcfb6812cd5986ccc0188b293a8d01e961
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 00:27:48 2009 +0000

    Move the dominator verification code out of special code embedded within
    the PassManager code into a regular verifyAnalysis method.

    Also, reorganize loop verification. Make the LoopPass infrastructure
    call verifyLoop as needed instead of having LoopInfo::verifyAnalysis
    check every loop in the function after each looop pass. Add a new
    command-line argument, -verify-loop-info, to enable the expensive
    full checking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f7ba836613f713ff32349e1c08c152d0803100b
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 00:10:28 2009 +0000

    Move this assert to check the condition as soon as it is known.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82951 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7265f0826dddbc1d46ad1df769a99fc81c4adfe3
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 28 00:07:05 2009 +0000

    Extend the StartPassTimer and StopPassTimer functions so that the
    code that stops the timer doesn't have to search to find the timer
    object before it stops the timer. This avoids a lock acquisition
    and a few other things done with the timer running.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 609289558295a0f4a1f6529c14ffe96db547ec41
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Sep 27 23:52:58 2009 +0000

    Use movt/movw pair to materialize 32 bit constants on ARMv6T2+.
    This should be better than single load from constpool.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82948 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee836a04ed5b6c302790bf4db303d04e17d48dfd
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 23:52:07 2009 +0000

    Fix an old copy+pasto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82947 91177308-0d34-0410-b5e6-96231b3b80d8

commit a86280282a7ddd9df2015d13012ad229ccfcd383
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 23:49:43 2009 +0000

    Extract the code for inserting a loop into the loop queue into
    a separate function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72a3f38563c08ff695f37880ca47a0212d5eef8f
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 23:43:07 2009 +0000

    When a loop is deleted, immediately release all of the active
    LoopPasses for that loop. This avoids trouble with the PassManager
    trying to call verifyAnalysis on them, and frees up some memory
    sooner rather than later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82945 91177308-0d34-0410-b5e6-96231b3b80d8

commit a27e7c0803f1ec6bd2b58dce5df419100c761c52
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 23:38:27 2009 +0000

    Extract the code for releasing a pass into a separate function, and
    tidy it up a little.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82944 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb02188cd3e0b830856c05e6136523731ffa68f2
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 23:27:42 2009 +0000

    Remove the "metadata*" type and simplify the code it complicated. This was only
    used to support GlobalVariables storing MDNodes, back when they were derived
    from Constant before the introduction of NamedMDNode, but never removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82943 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49545c765c8fc928bcda29e4f87533aced3c808f
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 23:17:47 2009 +0000

    LBRX no longer has an explicit SrcValueSDNode operand, so the type
    operand is now at index 2, rather than 3. This fixes the
    "Invalid child # of SDNode!" failures on PowerPC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d1bc8e896031decb3ec0a78b58b76dc7607a840
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:46:50 2009 +0000

    simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82936 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8ad9aecbfae9799fb3cef18c8ecc4e9bfc8a735
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:42:46 2009 +0000

    The bitcast case is not needed here: instcombine turns icmp(bitcast(x), null) -> icmp(x, null) already.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82935 91177308-0d34-0410-b5e6-96231b3b80d8

commit a475d661a350f7956630f0b989c7f6aa838090c4
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 21:39:46 2009 +0000

    New unit test for the cloning module, which so far only covers cloning of
    instructions' optimization flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82934 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d1f8e4df0a7deddf1b2ee380793bd32b7c815d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:36:19 2009 +0000

    calls are already unmovable, malloc doesn't need a special case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82933 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ad04a09b7acbcc532f109c8521281124df47cf6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:35:11 2009 +0000

    calls to external functions are already marked overdefined, special casing
    malloc isn't needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82932 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35b69d45dd8e3d9b38f8377ec723d37bd458b5c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:33:46 2009 +0000

    calls are already handled, malloc doesn't need a special case.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82931 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7805c35a30b6b119e2c4b2bfd54aa484752eeef8
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 21:33:04 2009 +0000

    Round out the API for the new optimization flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82930 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a3e013c33b6cb73b01a63d5568373be55186e04
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:31:39 2009 +0000

    calls are rejected above, no need to special case malloc here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82929 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47fe1012616c84ce6211a298f822462db8dda2ef
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:29:28 2009 +0000

    remove special handling of bitcast(malloc), it will be handled
    when the loop inspects the bitcast operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e577c0241756a4d6350c2c310c0cb96a3ecee5e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:23:38 2009 +0000

    unlike the malloc instruction, "malloc" calls do not claim to be readonly, just nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82927 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb3c9102ab9db6cfde207964f78e34ceca63c57b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 21:16:52 2009 +0000

    add a new DirectiveMap stringmap, which allows more efficient dispatching
    to directive handlers and allows for easier extensibility.

    I only switched a few over for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82926 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a54febb0063e0862aee2a084a627bb029779498
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 20:58:01 2009 +0000

    Link order: it matters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82925 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b61abd17da1bff8720e5bfbb02c98fec3212ad2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 20:46:36 2009 +0000

    allow pushing icmps through phis with multiple uses and across critical edges.
    These are important to push up to encourage jump threading.  This shrinks 176.gcc a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82923 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff5cd9de8438a1fbe450b5d0b31a9ae3a0a5fbc5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 20:18:49 2009 +0000

    Enhance the previous fix for PR4895 to allow more values than just
    simple constants for the true/false value of the select.  We now
    do phi translation etc.  This really fixes PR4895 :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82917 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7843b77d709006cc6e93938f396a2aaf9dcd994
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 19:57:57 2009 +0000

    implement PR4895, by making FoldOpIntoPhi handle select conditions
    that are phi nodes.  Also tighten up FoldOpIntoPhi to treat constantexpr
    operands to phis just like other variables, avoiding moving constantexpr
    computations around.

    Patch by Daniel Dunbar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82913 91177308-0d34-0410-b5e6-96231b3b80d8

commit de228ff38a94da4f7b64b2eed20195730bc565b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 19:38:39 2009 +0000

    avoid copying MCAsmInfo by value, add an (extremely low prio) fixme.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c2770bd33b6ce5587a1226d52a77a2ad5a3f345
Author: Tilmann Scheller <tilmann.scheller@googlemail.com>
Date:   Sun Sep 27 17:58:47 2009 +0000

    Use explicit structs instead of std::pair to map callee saved regs to spill slots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a918d684b96d027630a6b65cc61a7dace0d8fd1
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 17:50:44 2009 +0000

    Delete a bogus comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82908 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbd99f3f67dcd426cc675998c95f3a119b13b42a
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 17:48:37 2009 +0000

    Remove a redundant assert.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82907 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed62bf33bce67ff2da6a8181428f48b2e4db03aa
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sun Sep 27 17:47:29 2009 +0000

    Enable -g with DEBUG_SYMBOLS and --enable-debug-symbols instead of
    DEBUG_RUNTIME.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82906 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9bf0112734209c3d98a574bdb672f2928d6ee08
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 17:46:40 2009 +0000

    Fix SCEVExpander's canonical addrec expansion code to work on loops that
    aren't in canonical loop-simplify form, since it doesn't itself depend
    on LoopSimplify. This means handling loops without preheaders and loops
    with multiple backedges.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82905 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ba2142e9397002278f4275ffbae6caa28342607
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 17:39:12 2009 +0000

    Add dominates and releaseMemory member functions to PostDominatorTree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 791c8251355c2f25f39685a7deab22560793c6fa
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 16:10:30 2009 +0000

    Grab an LLVM Context from an instruction that exists rather than one
    that is deleted in some situations. This fixes a use-after-free.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82903 91177308-0d34-0410-b5e6-96231b3b80d8

commit fecf86a40e1d27384518d37c51470352b7c5bd91
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 15:41:19 2009 +0000

    Clarify a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7936cb8d152d2881952b0013355cbda15e57b99a
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 15:37:03 2009 +0000

    Tell ScalarEvolution to forget everything it knows about a loop before
    rotating the loop, since loop rotation is a very significant change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 397d89ff4449862390e51f261b77f7570a95b563
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 15:32:21 2009 +0000

    Micro-optimize DerivedType::dropAllTypeUses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82900 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12319f23b7e7eae3c45b6a56afede0d6d88c4d6b
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 15:30:00 2009 +0000

    Instead of testing whether an instruction dominates the loop preheader,
    test whether it properly dominates the loop header. This is equivalent
    when the loop has a preheader, and has the advantage of working when
    the loop doesn't have a preheader. Since IVUsers doesn't Require
    LoopSimplify, the loop isn't guaranteed to have a preheader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82899 91177308-0d34-0410-b5e6-96231b3b80d8

commit 322a984dddfb491b560d582f03b6fc7f1122bdad
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 15:26:03 2009 +0000

    Add a properlyDominates member function to ScalarEvolution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82898 91177308-0d34-0410-b5e6-96231b3b80d8

commit b69db8035d9b7354a43b912ee10dc9e29006f3be
Author: Dan Gohman <gohman@apple.com>
Date:   Sun Sep 27 15:21:52 2009 +0000

    Remove a redundant #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 127f2c5637e7bcfda31bdb7a313726eeedb8a3ea
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sun Sep 27 11:08:03 2009 +0000

    Avoid using mutex locks if not in multithreaded mode by using a SmartScopedMutex
    in RegisterStatistic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82896 91177308-0d34-0410-b5e6-96231b3b80d8

commit 340684f156c06a256649f09657a198653fbe8881
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Sep 27 09:46:04 2009 +0000

    Enable pre-regalloc load / store multiple pass for Thumb2.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82893 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9cb1867e50c19f73e6325a34880f259263e843e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 08:01:44 2009 +0000

    rename REG -> REGISTER to make it explicit in the doc.  <tt>ify some stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8599166fed9834e8ba77289f61214bfd9a050b20
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 27 07:56:52 2009 +0000

    implement and document support for filecheck variables.  This
    allows matching and remembering a string and then matching and
    verifying that the string occurs later in the file.

    Change X86/xor.ll to use this in some cases where the test was
    checking for an arbitrary register allocation decision.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82891 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b3b54d35e1e9f0089c7efdca231a04c77e7d061
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 07:55:32 2009 +0000

    Remove dead code from this function and optimize. Update its corresponding
    LangRef entry too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82890 91177308-0d34-0410-b5e6-96231b3b80d8

commit c94270c382320cb3fe9c4dc7bf31d56c94e9643d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 07:38:41 2009 +0000

    Instruction::clone does not need to take an LLVMContext&. Remove that and
    update all the callers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82889 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebb9633af0245a3eaf03d2a9f4ceb6375cc8769e
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 06:25:05 2009 +0000

    Filecheckify this one test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82888 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7b9a48e7b9695ec1dd8d39297658aa020ff77ca
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 04:57:35 2009 +0000

    Leave a pointer to the documentation so that people don't end up change one but
    not the other in the future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 985d6d15ded32550f7c29aa7f61efd3621562558
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 04:56:27 2009 +0000

    Correct the version numbers to match those actually tested for by
    autoconf/AutoRegen.sh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 244cf489295b4fed69591a3c4f6404875d0d38ca
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 27 00:45:11 2009 +0000

    Move the integer type out of 'derived' and into 'primitive'. This permits us
    to explain that derived types are all composed of other types, which primitive
    types aren't. Without moving integer out of derived, this wouldn't be true.

    Perform a few trivial cleanups; 'i1' went from a link to #t_primitive to
    #t_integer (a holdover from when it was a bool type I suppose).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82884 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa2637b6ad3234e068167af31981d688f54191b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 26 21:27:04 2009 +0000

    remove support for "NoSub" from regex.  It seems like a minor optimization
    and makes the API more annoying.  Add a Regex::getNumMatches() method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82877 91177308-0d34-0410-b5e6-96231b3b80d8

commit e29707fa8162a0dd61380c9ca6e92a47dcb87170
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sat Sep 26 20:18:58 2009 +0000

    Speed up clang-only link, by really linking only clang, and not the unittests
    too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82873 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7714ad64800f0e4c645ed922455ce09a71686538
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 26 18:51:37 2009 +0000

    Remove this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82869 91177308-0d34-0410-b5e6-96231b3b80d8

commit c156b7b4c9323f464900e6316b97661143631a6a
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 26 18:10:13 2009 +0000

    Fix SimplifyLibCalls to transfer attributes from callees rather than
    calls, since direct calls don't always reflect the attributes of their
    callees.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a1645e66706ac33ae463ef43e6328eb5b4ec309
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 26 16:11:57 2009 +0000

    Fix a case where ScalarEvolution was expanding pointer arithmetic
    to inttoptr/ptrtoint unnecessarily.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1261dde02801ca06f9e8001747eab7fd244fa3f4
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Sep 26 15:35:35 2009 +0000

    For the NSWSub support in the builder to actually be useable,
    there need to be corresponding changes to the constant folders,
    done in this patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2221f5657297e8c645617e7304d360aceda1b409
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 26 15:24:17 2009 +0000

    Convert comparisons like (x == infinity) to (x >= infinity) on targets
    where FCMP_OEQ is not legal and FCMP_OGE is, such as x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82861 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2b6ab5a11661fd22b5020a1175ca3715b02a509
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Sep 26 15:21:48 2009 +0000

    Add methods for creating NSW subtraction, as already exists
    for addition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82860 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01d166b12f2eed6b31154b48f3f94c45e0b0977f
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 26 15:09:53 2009 +0000

    Add a comment describing natural loops.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82859 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7468751ace00baa201c34277c85ae20a896dd90
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 26 05:29:36 2009 +0000

    "Update" tests for -disable-if-conversion removal. I think branch.ll should just
    be removed, but I XFAIL'd it for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82847 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0e367e3f0866e9f690b307b4feefaec8d4a3bdfb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 26 02:49:49 2009 +0000

    Really remove this option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82838 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2bb61fd9699873daeba366e97019d660c4006ca
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 26 02:45:45 2009 +0000

    Remove a couple of unused command line options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82837 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f4c4564fc1f3955b136a050941b236467fca747
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 26 02:43:36 2009 +0000

    Add comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82836 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c1d7673235202816e1027e08eb16cf6123fe1a4
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 26 02:41:17 2009 +0000

    Convert test to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82835 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7da0592edfecaac630500ce491f7e339d416be60
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 26 02:34:00 2009 +0000

    Don't hoist or sink instructions with physreg uses if the physreg is
    allocatable. Even if it doesn't appear to have any defs, it may latter
    on after register allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82834 91177308-0d34-0410-b5e6-96231b3b80d8

commit 40dcae418d4fb290bedfd5a22eb9a63c40c1dc84
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 26 01:11:57 2009 +0000

    I put the wrong rdar number in this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13b1ad6276483958045c11cb589586e0fb0959ed
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 23:58:45 2009 +0000

    Unbreak MachineLICM for instructions that reference RIP on x86-64 too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82825 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6408b97d7cfea3250c4ada4d8ad08188d68cb9c0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 23:40:21 2009 +0000

    Rename ConstantFP's getInf to getInfinity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82823 91177308-0d34-0410-b5e6-96231b3b80d8

commit 232e4448242ec67d6a7b48906002ab7c3f7af96c
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 23:33:20 2009 +0000

    Move MachineMemOperand::getAlignment out of line, to avoid needing
    MathExtras.h in MachineMemOperand.h.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82822 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75b79e54a4fd0ea94c2bc91ab7ac3c6248d1af5c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 25 23:26:56 2009 +0000

    Remove unused variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82821 91177308-0d34-0410-b5e6-96231b3b80d8

commit b99d6f9e77125bd9ebf9ebe6df0050b974b8aa5e
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 23:10:17 2009 +0000

    Transform pow(x, 0.5) to (x == -inf ? inf : fabs(sqrt(x))), which is
    typically faster then doing a general pow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82819 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43dcfc7462c5602f9f840c6905f905b63a1d8937
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 23:00:48 2009 +0000

    Add a ConstantFP::getInf utility function for creating infinity ConstantFPs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5dedd5c716f4c2741afd8ac264d5e4e09adbcf1b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 22:53:29 2009 +0000

    Fix MachineSink to be able to sink instructions that use physical registers
    which have no defs anywhere in the function. In particular, this fixes sinking
    of instructions that reference RIP on x86-64, which is currently being modeled
    as a register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82815 91177308-0d34-0410-b5e6-96231b3b80d8

commit e222c72bba42281674d39d3d33dd75fb8f926ce5
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Sep 25 22:53:17 2009 +0000

    Regenerate

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82814 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd623a83da8cc21ab3fd2ec6175041ee68f5171d
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Sep 25 22:52:29 2009 +0000

    Provide proper masks for neon perfect shuffle table.
    I definitely need to read documentation better :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82813 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04abe740fc7391473a417d498535eed8fd834a4b
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 22:26:13 2009 +0000

    Simplify a few more uses of reg_iterator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82812 91177308-0d34-0410-b5e6-96231b3b80d8

commit 282a4ab6f595a493b5fe6cdd36ff9673454e1f16
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 22:24:52 2009 +0000

    Simplify this code by using use_iterator instead of reg_iterator
    and skipping the defs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82811 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65561df4eb4eb52ebf75755e9f9eafa36929fa0e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 25 21:44:53 2009 +0000

    Code clean up and prepare for Thumb2 support. No functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82805 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9122db8146cea80861ecaac6566ae8f75ed2497
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 25 21:38:11 2009 +0000

    Flip -disable-post-RA-scheduler to -post-RA-scheduler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41a338b1690f69bf6f35349e064e6c2543b15a6a
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Sep 25 21:07:20 2009 +0000

    Fix a compile failure introduced by r82675 on MinGW which doesn't have
    setenv().  This patch just disables the test rather than getting putenv() to
    work.  Thanks to Sandeep Patel for reporting the problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82797 91177308-0d34-0410-b5e6-96231b3b80d8

commit c78858514eb50d76bd73ca360f58971ff9bc4ac4
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 25 20:54:50 2009 +0000

    Handle sqrt in CannotBeNegativeZero.  absf and absl
    appear to be misspellings, removed in favor of fabs*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e3bb1bc735783b73f2dcca82c86b7faca1a87e8
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 20:36:54 2009 +0000

    Improve MachineMemOperand handling.
     - Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions.
       This eliminates MachineInstr's std::list member and allows the data to be
       created by isel and live for the remainder of codegen, avoiding a lot of
       copying and unnecessary translation. This also shrinks MemSDNode.
     - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated
       fields for MachineMemOperands.
     - Change MemSDNode to have a MachineMemOperand member instead of its own
       fields with the same information. This introduces some redundancy, but
       it's more consistent with what MachineInstr will eventually want.
     - Ignore alignment when searching for redundant loads for CSE, but remember
       the greatest alignment.

    Target-specific code which previously used MemOperandSDNodes with generic
    SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range
    so that the SelectionDAG framework knows that MachineMemOperand information
    is available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82794 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61fda0d889b3578fe435455679182c231a649aac
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 18:54:59 2009 +0000

    Rename getTargetNode to getMachineNode, for consistency with the
    naming scheme used in SelectionDAG, where there are multiple kinds
    of "target" nodes, but "machine" nodes are nodes which represent
    a MachineInstr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36bff0c1f84aa517c66320c6864e4443e818e574
Author: David Goodwin <david_goodwin@apple.com>
Date:   Fri Sep 25 18:38:29 2009 +0000

    Finish scheduling itineraries for NEON.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82788 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba159cf257a14d31d2dbbe8b52e934c9f8af85fb
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 25 18:15:29 2009 +0000

    Add readonly to some sin and cos calls; transformations
    being checked aren't valid without it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82786 91177308-0d34-0410-b5e6-96231b3b80d8

commit 131e0fcf808340c24aa7f519b7108121142a9b4b
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Sep 25 18:11:52 2009 +0000

    Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82784 91177308-0d34-0410-b5e6-96231b3b80d8

commit bccd219ac7eb590d369f9bda03ade6467aa49e24
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 25 18:00:35 2009 +0000

    Make sure sin, cos, sqrt calls are marked readonly
    before producing FSIN, FCOS, FSQRT.  If they aren't
    so marked we have to assume they might set errno.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82781 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2bc7c2439c37d883c22dd27c87301a4e2c935b3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 17:29:36 2009 +0000

    reject attempts to use ()'s in patterns, these are reserved for filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82780 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce89de231525a80c137a1de88fb8d0467c6ce973
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 17:23:43 2009 +0000

    reimplement the regex matching strategy by building a single
    regex and matching it instead of trying to match chunks at a time.
    Matching chunks at a time broke with check lines like
      CHECK: foo {{.*}}bar
    because the .* would eat the entire rest of the line and bar would
    never match.

    Now we just escape the fixed strings for the user, so that something
    like:
      CHECK: a() {{.*}}???
    is matched as:
      CHECK: {{a\(\) .*\?\?\?}}
    transparently "under the covers".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82779 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8891e4478909879ca4f4e745312b542cc8aca7e6
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 25 17:23:22 2009 +0000

    Generate FSQRT from calls to the sqrt function, which
    allows appropriate backends to generate a sqrt instruction.

    On x86, this isn't done at -O0 because we go through
    FastISel instead.  This is a behavior change from before
    this series of sqrt patches started.  I think this is OK
    considering that compile speed is most important at -O0, but
    could be convinced otherwise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82778 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6f6363c80e0e1fd4ff8e20a8f259d1e66310a1f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 17:09:12 2009 +0000

    special case Patterns that are a single fixed string.  This is a microscopic
    perf win and is needed for future changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82777 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4730cd3d31451fb62c8c8401cceee4439b7c1626
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 25 17:04:42 2009 +0000

    Revise C library functions description to be vaguer, per Chris.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82776 91177308-0d34-0410-b5e6-96231b3b80d8

commit e2de471c77ff3baeac8e535fffc28de1e57799a9
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Fri Sep 25 16:46:09 2009 +0000

    This patch causes the --enable-debug-runtime configure flag and the
    DEBUG_RUNTIME Makefile variable to pass -g to gcc when building LLVM's objects.
    Without this, it's very hard to debug crashes that happen in Release-Asserts
    mode but not Debug mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82775 91177308-0d34-0410-b5e6-96231b3b80d8

commit e55e52532c4a76b7ec83e530e3fe3b0bc0b8c00c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 25 16:34:46 2009 +0000

    Add some comments to clarify things that I discovered this week.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82773 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd4cb23f6a5954a3fff1afe6f807c02eab8910e9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 25 16:04:21 2009 +0000

    Make llvm-bcanalyzer percentages more readable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82772 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14a16fee44fce77ae10d7144e547b7b8bed872b6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 25 16:03:57 2009 +0000

    Strip trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82771 91177308-0d34-0410-b5e6-96231b3b80d8

commit c1c8b5e19b33c8b5e52c4b516669181f18feb98e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 25 14:41:49 2009 +0000

    pr4926: ARM requires the stack pointer to be aligned, even for leaf functions.
    For the AAPCS ABI, SP must always be 4-byte aligned, and at any "public
    interface" it must be 8-byte aligned.  For the older ARM APCS ABI, the stack
    alignment is just always 4 bytes.  For X86, we currently align SP at
    entry to a function (e.g., to 16 bytes for Darwin), but no stack alignment
    is needed at other times, such as for a leaf function.

    After discussing this with Dan, I decided to go with the approach of adding
    a new "TransientStackAlignment" field to TargetFrameInfo.  This value
    specifies the stack alignment that must be maintained even in between calls.
    It defaults to 1 except for ARM, where it is 4.  (Some other targets may
    also want to set this if they have similar stack requirements. It's not
    currently required for PPC because it sets targetHandlesStackFrameRounding
    and handles the alignment in target-specific code.) The existing StackAlignment
    value specifies the alignment upon entry to a function, which is how we've
    been using it anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82767 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c417db6fa3361d12502438264a66352a8fd6531
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Sep 25 12:28:37 2009 +0000

    Print INST_INBOUNDS_GEP rather than UnknownCode30.
    Likewise for constant inbounds GEP.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82763 91177308-0d34-0410-b5e6-96231b3b80d8

commit d777d83398260186ab5744a6eb01e55e3d8757fd
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 06:49:41 2009 +0000

    convert testcases to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82759 91177308-0d34-0410-b5e6-96231b3b80d8

commit d33999c4a5ccdb8cd555477e51987ce6c3ed1f04
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 06:47:09 2009 +0000

    filecheck should not match a \n with a .

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82758 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57f2699a01d2bf5a7544da99676c612955bbd05f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 06:37:22 2009 +0000

    remove a large unreduced testcase

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82756 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8527c712c7db0d0f0a31c225024bbef3f2dde62d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 25 06:32:47 2009 +0000

    turn a std::pair into a real class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82754 91177308-0d34-0410-b5e6-96231b3b80d8

commit aec69ee8287d0ac26b45fb20240af79e5497ef01
Author: Nate Begeman <natebegeman@mac.com>
Date:   Fri Sep 25 06:05:26 2009 +0000

    Fix combiner-aa issue with bases which are different, but can alias.
    Previously, it treated GV+28 GV+0 as different bases, and assumed they could
    not alias.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82753 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbaa5bdd135396a097a648574a6706eec224e5ec
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 25 05:30:55 2009 +0000

    Update the description of MachineFrameInfo's OffsetAdjustment.  The value of
    this adjustment does not change the direction or the signs of the object
    offsets, and the details of the offset calculations can be target-specific.
    Also mention that for most targets this value is only used to generate debug
    info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82750 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06d175346442b0b31427d8806d5022c3248bf674
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 00:57:30 2009 +0000

    Don't try to use pre-indexed addressing with sthbrx/stwbrx
    instructions. This fixes a PowerPC bug exposed by some unrelated
    changes I'm working on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82743 91177308-0d34-0410-b5e6-96231b3b80d8

commit 594bb86a065af025a8fd90ef486d9f54fb869f95
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 25 00:34:34 2009 +0000

    Add a version of dumpr() that has a SelectionDAG* argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82742 91177308-0d34-0410-b5e6-96231b3b80d8

commit abd0e3ddaf34e1589bae68eecb9fcfb7f14ac297
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 24 23:52:18 2009 +0000

    Start of revamping the register scavenging in PEI. ARM Thumb1 is the driving
    interest for this, as it currently reserves a register rather than using
    the scavenger for matierializing constants as needed.

    Instead of scavenging registers on the fly while eliminating frame indices,
    new virtual registers are created, and then a scavenged collectively in a
    post-pass over the function. This isolates the bits that need to interact
    with the scavenger, and sets the stage for more intelligent use, and reuse,
    of scavenged registers.

    For the time being, this is disabled by default. Once the bugs are worked out,
    the current scavenging calls in replaceFrameIndices() will be removed and
    the post-pass scavenging will be the default. Until then,
    -enable-frame-index-scavenging enables the new code. Currently, only the
    Thumb1 back end is set up to use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82734 91177308-0d34-0410-b5e6-96231b3b80d8

commit f47ed3b170f267cc8eb18d841e16fc60e900e9bf
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Sep 24 23:37:40 2009 +0000

    Reenable sqrt IR generation test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82731 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fd84e281e90d309c22639a7ba9585871050e777
Author: Mike Stump <mrs@apple.com>
Date:   Thu Sep 24 23:21:26 2009 +0000

    Delete space after function name, before (, reflow a comment and
    delete a few blank lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82729 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf991836d66fafd16a28b20a04bbff143c99e700
Author: Mike Stump <mrs@apple.com>
Date:   Thu Sep 24 23:11:08 2009 +0000

    Fix spacing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82727 91177308-0d34-0410-b5e6-96231b3b80d8

commit f55e81bef95886581ceb0597e7e6c4838e5cf002
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 21:47:32 2009 +0000

    add and document regex support for FileCheck.  You can now do stuff like:

    ; CHECK: movl {{%e[a-z][xi]}}, %eax

    or whatever.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2255c43ab2731fee0d00702175336d4b42ba9e0e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 21:45:57 2009 +0000

    unconditionally request MMI

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82716 91177308-0d34-0410-b5e6-96231b3b80d8

commit c77786ebfb8a4dcf223031c7140e454fad3aa702
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 21:44:20 2009 +0000

    wrap long lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82715 91177308-0d34-0410-b5e6-96231b3b80d8

commit edc81f3d96a63163abf9f4b17eb9fdc8068cd9cf
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 20:45:07 2009 +0000

    Use CanonicalizeInputFile to canonicalize the entire buffer containing the
    CHECK strings, instead of canonicalizing the patterns directly.  This allows
    Pattern to just contain a StringRef instead of std::string.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82713 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbb96e5913e916ab74cd4cec3ec40e8fa9942dda
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 20:39:13 2009 +0000

    change 'not' matching to use Pattern, move pattern parsing logic into
    the Pattern class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ee02f11e57a367a7dbdc855d65a66ab3442e177
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 20:25:55 2009 +0000

    refactor out the match string into its own Pattern class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82711 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16905eda1a5f9e55bc061df7018afc1264258b85
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 24 20:23:02 2009 +0000

    Convert to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82710 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed17499ee7446c5da5638f6c4c34eea660808a3d
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Sep 24 20:22:50 2009 +0000

    Make the end-of-itinerary mark explicit. Some cleanup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f3103731c7d2ee3608f401031d0b9f785293e35
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 24 20:20:08 2009 +0000

    Add nounwind to this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82708 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81f61b9291284bd0dc93d9dc333c1962a4399719
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 20:15:51 2009 +0000

    tidy up, fix a memory leak in Regex::isValid

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fcf4a9c8f35d53460b62db4a13fa14c7e1d1676
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Sep 24 18:38:21 2009 +0000

    Clarify that llvm attaches C language semantics to
    functions with names that match the C library.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82701 91177308-0d34-0410-b5e6-96231b3b80d8

commit 129b2d16553e46db3b5675b63e777931e2ea4cec
Author: Edwin Török <edwintorok@gmail.com>
Date:   Thu Sep 24 18:33:42 2009 +0000

    Constant propagating byval pointer is safe if function is readonly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82700 91177308-0d34-0410-b5e6-96231b3b80d8

commit b493c9735a034856258c992d967b523d0effa7ce
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Sep 24 17:47:49 2009 +0000

    Auto-upgrade malloc instructions to malloc calls.

    Reviewed by Devang Patel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82694 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92244901c3c0101b8114ffa52c1dcf0e9cda72a1
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 24 16:42:27 2009 +0000

    Fix a hypothetical problem for targets with StackGrowsUp and a non-zero
    LocalAreaOffset.  (We don't have any of those right now.)
    PEI::calculateFrameObjectOffsets includes the absolute value of the
    LocalAreaOffset in the cumulative offset value used to calculate the
    stack frame size.  It then adds the raw value of the LocalAreaOffset
    to the stack size.  For a StackGrowsDown target, that raw value is negative
    and has the effect of cancelling out the absolute value that was added
    earlier, but that obviously won't work for a StackGrowsUp target.  Change
    to subtract the absolute value of the LocalAreaOffset.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82693 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef534da2d0f3316b5ad378a00899e8d127362b5d
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 24 16:19:11 2009 +0000

    Move parent assertion check before metadata deletion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82692 91177308-0d34-0410-b5e6-96231b3b80d8

commit d54353779c9a33c745178f01785113300c7acb0e
Author: Edwin Török <edwintorok@gmail.com>
Date:   Thu Sep 24 09:47:18 2009 +0000

    Don't constant propagate byval pointers, since they are not really pointers, but
    rather structs passed by value.
    This fixes PR5038.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82689 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8b807194946fe34f364a39721205c00c1906482
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 24 06:23:57 2009 +0000

    Add count/not tools as executables.
     - Apparently, I'm willing to do incredibly stupid things in the name of portability.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82685 91177308-0d34-0410-b5e6-96231b3b80d8

commit c73e8ebf88f2c21b857296951b4babc6bd404426
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 05:44:53 2009 +0000

    unconditionally compute MMI even if the target doesn't support EH or Debug info, because the target may use it for other things, this fixes PR5036

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82684 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8b70669b5480ad74079a8b8424d58c51b0cfa84
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 24 05:38:36 2009 +0000

    reapply r82348 with a fix, thanks Jeffrey.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82683 91177308-0d34-0410-b5e6-96231b3b80d8

commit f33cdc3f423b26e209fd058d50acea55966adb00
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 24 02:27:09 2009 +0000

    Fix PR5024 with a big hammer: disable the double-def assertion in the scavenger.

    LiveVariables add implicit kills to correctly track partial register kills. This works well enough and is fairly accurate. But coalescer can make it impossible to maintain these markers. e.g.

            BL <ga:sss1>, %R0<kill,undef>, %S0<kill>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def>, ...
    ...
    	%reg1031<def> = FLDS <cp#1>, 0, 14, %reg0, Mem:LD4[ConstantPool]
    ...
       	%S0<def> = FCPYS %reg1031<kill>, 14, %reg0, %D0<imp-use,kill>

    When reg1031 and S0 are coalesced, the copy (FCPYS) will be eliminated the the implicit-kill of D0 is lost. In this case it's possible to move the marker to the FLDS. But in many cases, this is not possible. Suppose

    	%reg1031<def> = FOO <cp#1>, %D0<imp-def>
    ...
       	%S0<def> = FCPYS %reg1031<kill>, 14, %reg0, %D0<imp-use,kill>

    When FCPYS goes away, the definition of S0 is the "FOO" instruction. However, transferring the D0 implicit-kill to FOO doesn't work since it is the def of D0 itself. We need to fix this in another time by introducing a "kill" pseudo instruction to track liveness.

    Disabling the assertion is not ideal, but machine verifier is doing that job now. It's important to know double-def is not a miscomputation since it means a register should be free but it's not tracked as free. It's a performance issue instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04f3d1de138c7ebffc1d37a273e5a8675b6a933d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 24 02:15:22 2009 +0000

    Clean up LiveVariables and change how it deals with partial updates and kills. This also eliminate the horrible check which scan forward to the end of the basic block. It should be faster and more accurate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82676 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07c5e3ce817f75c90d00d48b0acd765e4e9ec6b5
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Thu Sep 24 01:14:07 2009 +0000

    Roll back r82348, which introduced an infinite loop in ParseCStringVector() that
    a trivial unittest would have caught.  This revision also adds the trivial
    unittest.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82675 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1b016061ea1eb7a321b1b4d20976a651b3c24b6
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 23 22:05:24 2009 +0000

    A minor improvment in accuracy to inline cost
    computation, and some cosmetics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82660 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b4f81c688a6b32d799f7e0b95f6fe131d7ffb24
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 23 21:46:36 2009 +0000

    Disable test; what it's testing for is wrong.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82658 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78caa12a415bbd16db04088be6378398d4909b6f
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Sep 23 21:38:08 2009 +0000

    Checkpoint NEON scheduling itineraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82657 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad4880332c61c808014c202255dce5f8fafe581e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 21:07:02 2009 +0000

    Use getStoreSize() instead of getStoreSizeInBits()/8.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63521d0ab0566f418464b29e5ac6cca7710ae094
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 21:06:36 2009 +0000

    Spruce up some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3bab1f776cf32aadd62d490f54cec968ef38eec7
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 21:02:20 2009 +0000

    Rename several variables from EVT to more descriptive names, now that EVT
    is also the name of their type, as declarations like "EVT EVT" look
    really odd.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82654 91177308-0d34-0410-b5e6-96231b3b80d8

commit a387c633b81a60a676445c8d89513a7518b8f7fc
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 20:59:10 2009 +0000

    Add an EVT::getStoreSize function, like getStoreSizeInBits but in bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82653 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef0853ae5ef4ef4dac82362ecb914ad2b3df1ae0
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Wed Sep 23 20:57:55 2009 +0000

    Fix verification of explicit operands.

    The machine code verifier did not check for explicit operands correctly. It
    used MachineInstr::getNumExplicitOperands, but that method may cheat and use
    the declared count in the TargetInstrDesc.

    Now we check the explicit operands one at a time in visitMachineOperand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95e76c5aee19e6e44bda135a7f7a32c2602c493f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 23 20:57:02 2009 +0000

    Remove BlackfinRegisterInfo::getFrameIndexOffset since it is the same as the
    default implementation.  Update comment on the default version, which made it
    sound like most targets override it.  Currently only X86 and SystemZ override
    this method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f939a29fdfdfc31e521209c44fc1ca3b1ecfc6f
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 20:40:16 2009 +0000

    Correct a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82648 91177308-0d34-0410-b5e6-96231b3b80d8

commit 579edbf7bf65497e3afa498baaf1cb6642ef3de0
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 23 20:33:51 2009 +0000

    Delete attached metadata when an instruction is deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3fad552803d264b6bf83981de305e7080cb8ef4f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Sep 23 19:04:09 2009 +0000

    ARM does not support offset folding (yet). Disable it for now.
    This fixes PR5031. Unfortunately, there is no small testcase :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82643 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9b57edff7a7dbf11ba9fe787349d21f7e3e80f6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 23 18:53:19 2009 +0000

    Edit a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82641 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b7c1e84c407ef2ba17ed953f0368eb54a5ef106
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 23 18:32:25 2009 +0000

    Do not leave behind metadata while cloning an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82638 91177308-0d34-0410-b5e6-96231b3b80d8

commit 724190977bf4a7289c24e923f33ad6b7e172cfbf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 23 18:20:27 2009 +0000

    Add nounwind.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82637 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fdd6fe71635b720cb3c47fe9bbe4c7587cb027d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 23 17:20:43 2009 +0000

    s/*Location/*DebugLocation/g

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82635 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35659ae0fc161cf474f5ca81c497d58a90b7c4e0
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Sep 23 17:05:42 2009 +0000

    PR4047: Permit configure --enable-targets=host,cpp for example.  "host" has the
    same effect that "host-only" used to have, but can be combined with other
    targets.  host-only is still available as a synonym but no longer documented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83b6ace01ffb5d8d495a4b70c7406d06f0dd2067
Author: David Goodwin <david_goodwin@apple.com>
Date:   Wed Sep 23 16:35:25 2009 +0000

    Fix bug in kill flag updating for post-register-allocation scheduling. When the kill flag of a superreg needs to be cleared because there are one or more subregs live, we instead add implicit-defs of those subregs and leave the kill flag on the superreg. This allows us to end the live-range of the superreg without ending the live-ranges of the subregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82629 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5faba0e3a308107b7a40b53ea72b6bfbdd19e28b
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Sep 23 11:48:57 2009 +0000

    Fix a struct/class mismatch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82622 91177308-0d34-0410-b5e6-96231b3b80d8

commit e9cbef31ba8c374d41249635197e58c102fe41fb
Author: John McCall <rjmccall@apple.com>
Date:   Wed Sep 23 06:53:51 2009 +0000

    Make the type traits for a const pointer defer to those for a unqualified
    pointer, instead of providing independent values modelled on the default
    implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82620 91177308-0d34-0410-b5e6-96231b3b80d8

commit d062bf740651c35ed3ee80b66b02d8363fd14a3a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 23 06:28:31 2009 +0000

    Fix PR5024. LiveVariables physical register defs should *commit* only after all
    of the defs are processed.
    Also fix a implicit_def propagation bug: a implicit_def of a physical register
    should be applied to uses of the sub-registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82616 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29a1c10040effaa8c0968a3899b053b6b591a73a
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 23 05:23:19 2009 +0000

    Fix a obvious logic error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82610 91177308-0d34-0410-b5e6-96231b3b80d8

commit d3593be80c4db01a12d00222ccd196fb10ddc766
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Sep 23 02:46:12 2009 +0000

    pretty mechanical changes to match coding guidelines (blessed by sabre on IRC)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03344a20c2a1d291282ead342f0bfb858909c7dc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 23 02:03:49 2009 +0000

    errorstr can be null, don't unconditionally set it.  Only report that
    "the jit has not been linked in" if the interpreter failed.

    This fixes a unit test failure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82601 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd0d937f2811e62d66743e588b0a2e0154af2411
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 23 01:46:04 2009 +0000

    Make EngineBuilder return more error codes, by KS Sreeram.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 915d872b7a05774ea93ba7fbb25f0944d62e10fb
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 01:33:16 2009 +0000

    Give MachineMemOperand an operator<<, factoring out code from
    two different places for printing MachineMemOperands.

    Drop the virtual from Value::dump and instead give Value a
    protected virtual hook that can be overridden by subclasses
    to implement custom printing. This lets printing be more
    consistent, and simplifies printing of PseudoSourceValue
    values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82599 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17f460a7f0b06133486bf897cc67373e07687bf2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 23 01:29:41 2009 +0000

    Fix X86's unfoldMemoryOperand to properly handle MachineMemOperands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82597 91177308-0d34-0410-b5e6-96231b3b80d8

commit 069f1c9642c471d827cfaaca98f31aef707464ee
Author: Mike Stump <mrs@apple.com>
Date:   Wed Sep 23 00:13:30 2009 +0000

    This is overly constraining with respect to clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82591 91177308-0d34-0410-b5e6-96231b3b80d8

commit efb268acfd0ecf9b39a555267393058e685030fb
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Tue Sep 22 21:15:19 2009 +0000

    Add examples for Kaleidoscope chapters 2 through 6.

    Conflicts:

    	examples/Makefile

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82574 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a20265022d36c31bdf7c4f041b10695bcb09c45
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Tue Sep 22 21:15:00 2009 +0000

    Rename Kaleidoscope to show that it's for Chapter 7 of the tutorial.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82573 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb577b0367500de745082228b0a1569365ecc68c
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Tue Sep 22 21:14:49 2009 +0000

    Sync c++ kaleidoscope tutorial with test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 191278d73343733b56e030ace8f6a9dcdf08818a
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 22 20:56:31 2009 +0000

    Add SetLocation() to allow IRBuilder user to set location info for an instruction already created.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82570 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ffdd0e9c3eb03b473ddf666c885cecbc15f8df7
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 22 20:54:13 2009 +0000

    Check exisiting dbg MDKind first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82568 91177308-0d34-0410-b5e6-96231b3b80d8

commit d80fa7f67d06ef47913578a8212be349722a9df5
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Tue Sep 22 18:50:03 2009 +0000

    No need to verify that malloc's return type is i8*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82561 91177308-0d34-0410-b5e6-96231b3b80d8

commit cc74792c99e085a14bdd6db9edea362b465406da
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Sep 22 16:47:52 2009 +0000

    Use early returns.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82554 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f854de1b687e0906e7521393f1fa176e4b15b52
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 16:33:42 2009 +0000

    Revert "Don't allow formatted_ostream to be unbuffered, even if its underlying
    buffer", while we work out a solution.

    Dan convinced me that making debugging annoying for him is worse than 10x being
    slower for me. :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82553 91177308-0d34-0410-b5e6-96231b3b80d8

commit f54515d6770a86c4268b41a60a9536b4993e6400
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 16:10:35 2009 +0000

    ... missed hiding a variable for MSVC only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82552 91177308-0d34-0410-b5e6-96231b3b80d8

commit 441722f4b863b8b9ac8410c2c36217596252dbd6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 15:58:35 2009 +0000

    Hide MSVC specific CRT interaction behind _MSC_VER.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82551 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed6353b87ccbbf7ddaa63a25bfad14afc3079da0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 22 15:40:32 2009 +0000

    Remove the GetProcessId() call from Win32/Program.inc, take 2.

    GetProcessId() was introduced only in Windows XP, and we want to support earlier
    versions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82548 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2d3000deec82fd0c808af98c089e5eb628ef47b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 10:30:34 2009 +0000

    Fix commento.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6463aedb7b4da91f81362b039b697ee0fed50312
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 09:50:38 2009 +0000

    lit: When executing shell scripts internally, don't allow piped stderr on any
    commands except the last one, instead redirect the stderr to a temporary
    file. This sidesteps a potential deadlocking issue.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e57bc8dcf0be1c58fdb06bb83c34b140b9074fa
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 09:50:28 2009 +0000

    Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in RegisterHandler and use to disable the Win32 crash dialogs. These are a major blocker to any kind of automated testing.

    Also, tweak the 'lit' test runner to set this variable unconditionally.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82537 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff8e568bb5c578639e690ba4e2f0499f3dd78b46
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 22 08:47:59 2009 +0000

    Forgot this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82536 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd216d523e696749d681faca9f3bda92b13cd695
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 22 08:34:46 2009 +0000

    Fix PR5024. LiveVariables::FindLastPartialDef should return a set of sub-registers that were defined by the last partial def, not just a single sub-register.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82535 91177308-0d34-0410-b5e6-96231b3b80d8

commit a4acff7bb0d00b82a152fe067335260a42b5cab1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 07:38:44 2009 +0000

    Initial support for running LLVM tests from cmake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82534 91177308-0d34-0410-b5e6-96231b3b80d8

commit a018c74c2f4f93f08050ac2dc1c616f8b106dc39
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 07:38:33 2009 +0000

    Generate lit.site.cfg from a .in file, as clang does.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82533 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd2674d181e3edb1700721bed54e790cd9c5f4a7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 07:38:23 2009 +0000

    Use Compiler.h macro instead of __attribute__.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82532 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7784533131d4921046a46a406b1e198863e6d11
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 06:09:37 2009 +0000

    CMake: Fix definition of LTDL_SHLIB_EXT for Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82530 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4e0f91cc54f6399b3e9be19a12aaa4dcbfffaff
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 06:09:31 2009 +0000

    Fix llvm-config --src-root and --obj-root for CMake builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82529 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2be1b773bb528a793ed59869ad275ac74aad2b77
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 06:09:22 2009 +0000

    llvm-config: Remove unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 346a7bb311e53d4af9e8dd3063b10e7323e31c95
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 06:09:13 2009 +0000

    Actually use the arguments with the resolved executable path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82527 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0dfef16716fc2c26777f8404c8fa073cd42bc57e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 04:44:56 2009 +0000

    Revert "Get rid of GetProcessId in Win32/Program.inc.", this breaks
    ExecuteAndWait.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82522 91177308-0d34-0410-b5e6-96231b3b80d8

commit dce584a533e962394daa5fa66065ddb344467c47
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 04:44:37 2009 +0000

    lit: Don't use close_fds=True on Windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82521 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5e3ec7946254a90b806176d1868ca919da6c35f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 04:44:26 2009 +0000

    lit: When executing commands internally, perform PATH resolution ourselves.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82520 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4cf9e690c5df0d90fdada4eabd3b203e4e906325
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 03:34:53 2009 +0000

    Switch FoldingSet::AddString to StringRef based API.
     - This also fixes a dereference of std::string::end, which makes MSVC unhappy and was causing all the static analyzer clang tests to fail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82517 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa985152c3d160701fa55af97f598a478c3a456e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 03:34:40 2009 +0000

    Workaround what I believe is an MSVC bug where it emits a definition for a
    static const class member into each translation unit, with external linkage???
     - If someone understands this issue better, please clue me in, I haven't
       consulted the standard yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82516 91177308-0d34-0410-b5e6-96231b3b80d8

commit c27a50855925ba7455c4049398c80db45fcef36a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 02:03:18 2009 +0000

    Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f912e5070e7e43b4bd9def2d9f1038254c5806c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 22 02:02:33 2009 +0000

    Add a TrackingVH value handle.

    This is designed for tracking a value even when it might move (like WeakVH), but it is an error to delete the referenced value (unlike WeakVH0. TrackingVH is templated like AssertingVH on the tracked Value subclass, it is an error to RAUW a tracked value to an incompatible type.

    For implementation reasons the latter error is only diagnosed on accesses to a mis-RAUWed TrackingVH, because we don't want a virtual interface in a templated class.

    The former error is also only diagnosed on access, so that clients are allowed to delete a tracked value, as long as they don't use it. This makes it easier for the client to reason about destruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82506 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6d716f620ad28e540c2a262504ebaeff6461b3f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 22 01:48:19 2009 +0000

    Fix a pasto. Also simplify for Bill's benefit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82505 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb21e377d210da64284a7e52ca694e0f42b5062d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 22 00:29:40 2009 +0000

    Minor bug fix. LowerSubregs should translate
    %S0<def> = EXTRACT_SUBREG %Q0<kill>, 1
    to
    %S0<def> = IMPLICIT_DEF %Q0<imp-use,kill>

    Implicit_def does not *read* any register so the operand should be marked "implicit". The missing "implicit" marker on the operand is wrong, but it doesn't actually break anything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82503 91177308-0d34-0410-b5e6-96231b3b80d8

commit 321b572fd6b43198d21fe25f1a5ae5d5e8af50bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 22:39:35 2009 +0000

    Fix PR5023: The instruction form of DominatorTree::dominates did not
    take into consideration that the result of an invoke is only valid in
    the normal dest, not the unwind dest.  This caused 'PHINode::hasConstantValue'
    to return true in an invalid situation, causing mem2reg to delete a phi that
    was actually needed.  This caused a crash building 483.xalancbmk.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82491 91177308-0d34-0410-b5e6-96231b3b80d8

commit b171ff4d2cc5feb820dee24b5e6ad004493b8576
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 22:30:50 2009 +0000

    move DominatorTree::dominates for instructions out of line,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82490 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5456988b7e38012abf0b14767f0752f87520a44
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 22:27:34 2009 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82489 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e683894a5d61beccb7a58ffa70be000eee12a73
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 22:26:02 2009 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82488 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9bbb5795a133c6cca6a5ac4e5ab110016d4e7c1
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Sep 21 21:12:25 2009 +0000

    Clean up spill weight computation. Also some changes to give loop induction
    variable increment / decrement slighter high priority.

    This has major impact on some micro-benchmarks. On MultiSource/Applications
    and spec tests, it's a minor win. It also reduce 256.bzip instruction count
    by 8%, 55 on 164.gzip on i386 / Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82485 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35d4912e3b08a8a2d0e01c0ef8b23407f8efa8db
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Sep 21 20:52:17 2009 +0000

    Add Cortex-A8 VFP model.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82483 91177308-0d34-0410-b5e6-96231b3b80d8

commit 169948d4180417313f5332b85d2572520592de3c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 19:47:04 2009 +0000

    Change MachineMemOperand's alignment value to be the alignment of
    the base pointer, without the offset. This matches MemSDNode's
    new alignment behavior, and holds more interesting information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82473 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47b5330a18b00883f10807c53120a57127cc0703
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 18:32:20 2009 +0000

    Add a comment mentioning the rdar number associated with this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82471 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51dbce6a853d1b2bc8084b18e741a666e7c83548
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 18:30:38 2009 +0000

    Add support for rematerializing FsFLD0SS and FsFLD0SD as constant-pool
    loads in order to reduce register pressure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82470 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1948855617427c57a974e270f9fb21fb20b46420
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 18:03:22 2009 +0000

    Recognize SSE min and max opportunities in even more cases.
    And fix a bug with the behavior of min/max instructions formed from
    fcmp uge comparisons.

    Also, use FiniteOnlyFPMath() for this code instead of UnsafeFPMath,
    as it is more specific.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82466 91177308-0d34-0410-b5e6-96231b3b80d8

commit e57ba8991a2b71698d70928e66b8baff012b163c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 17:58:09 2009 +0000

    Fix the offset values for these memoperands. For frame objects, the
    PseudoSourceValue already effectively represents the offset from the
    frame base, so the actual offset should not be added to it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82465 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1846fa00f3590637b7d8dbfc0f5c2254bd42436f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 17:55:47 2009 +0000

    big endian systems shift by bits too, hopefully this will fix the ppc
    bootstrap problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82464 91177308-0d34-0410-b5e6-96231b3b80d8

commit 55a622f7da7cdbc88190bb100cafd60127abf0ec
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 17:54:42 2009 +0000

    Nick pointed out that DominanceFrontier and DominanceTree are preserved
    by setPreservesCFG().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82463 91177308-0d34-0410-b5e6-96231b3b80d8

commit b350b3d81e6b7df211447f0bc54b4493af9aa444
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 17:53:35 2009 +0000

    Remove the special-case for constants in PHI nodes; it's not really
    helpful, and it didn't correctly handle the case of constants input
    to PHIs for backedges.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82462 91177308-0d34-0410-b5e6-96231b3b80d8

commit 012b360d60c62c975af276d9a04fcfd79cf3ac9c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 17:24:04 2009 +0000

    fix PR5016, a crash I introduced in GVN handing first class
    arrays and structs, which cannot be bitcast to integers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82460 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8435ab1c698f403ef565764e458c7dceb70b0495
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Mon Sep 21 15:53:44 2009 +0000

    Use raw_ostream::indent instead of passing strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82456 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30a8d480ddd031f85b3386db7ccfe11e027b525c
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 21 15:18:33 2009 +0000

    Fix this assertion string to mention subreg_to_reg.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56b9fc1caef68a302d561472c1691ded886efd56
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Mon Sep 21 14:11:56 2009 +0000

    initialize SymbolsCanStartWithDigit to false by default

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82454 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce08ae8748979ca3ca4a0048ebc610602a76bedc
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Mon Sep 21 08:08:29 2009 +0000

    Update cmake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82449 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8314a42c92bd21ecfa700da8cbe60b6818caba33
Author: Jakob Stoklund Olesen <stoklund@2pi.dk>
Date:   Mon Sep 21 07:19:08 2009 +0000

    Verify that phi instructions refer to MBBs in the CFG.

    The machine code verifier no longer tolerates phi instructions with noop
    operands. All MBBs on a phi instruction must be in the CFG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82448 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae7fcb7114258c6d289601bf0d68a25aeabf5d5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 06:48:08 2009 +0000

    enable non-local analysis and PRE of large store -> little load.
    This doesn't kick in too much because of phi translation issues,
    but this can be resolved in the future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82447 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19b84b380a7341297af6636f8e58373046be7d4b
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 06:30:24 2009 +0000

    convert an std::pair to an explicit struct.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82446 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f91208a30c55c3619cc1ffd1abc1ca41a2ac556
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 06:24:16 2009 +0000

    move some functions, add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82444 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41eb59cc4d3718b4c640a3746b31f5253dcca243
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 06:22:46 2009 +0000

    split HandleLoadFromClobberingStore in two pieces: one that does the
    analysis, one that does the xform.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82443 91177308-0d34-0410-b5e6-96231b3b80d8

commit c62f2aa0f8d92120fa45a27b97301b173b092ac4
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 06:04:07 2009 +0000

    add a note

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82442 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98cb5536ab1aa5667bb5b602bf691631f3bbaffc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 21 05:58:35 2009 +0000

    Register the MachineModuleInfo for the ARM JIT, and update JITDwarfEmitter to
    assert if the setModuleInfo hasn't been called.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82441 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7932c5775e79a332b5cb036e71995d4738eb7fe9
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 05:57:47 2009 +0000

    add pr#

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82440 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0907b520a0b293e15a6296de4c37d0a44b40306d
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 05:57:11 2009 +0000

    Improve GVN to be able to forward substitute a small load
    from a piece of a large store when both are in the same block.

    This allows clang to compile the testcase in PR4216 to this code:

    _test_bitfield:
    	movl	4(%esp), %eax
    	movl	%eax, %ecx
    	andl	$-65536, %ecx
    	orl	$32962, %eax
    	andl	$40186, %eax
    	orl	%ecx, %eax
    	ret

    This is not ideal, but is a whole lot better than the code produced
    by llvm-gcc:

    _test_bitfield:
    	movw	$-32574, %ax
    	orw	4(%esp), %ax
    	andw	$-25350, %ax
    	movw	%ax, 4(%esp)
    	movw	7(%esp), %cx
    	shlw	$8, %cx
    	movzbl	6(%esp), %edx
    	orw	%cx, %dx
    	movzwl	%dx, %ecx
    	shll	$16, %ecx
    	movzwl	%ax, %eax
    	orl	%ecx, %eax
    	ret

    and dramatically better than that produced by gcc 4.2:

    _test_bitfield:
    	pushl	%ebx
    	call	L3
    "L00000000001$pb":
    L3:
    	popl	%ebx
    	movl	8(%esp), %eax
    	leal	0(,%eax,4), %edx
    	sarb	$7, %dl
    	movl	%eax, %ecx
    	andl	$7168, %ecx
    	andl	$-7201, %ebx
    	movzbl	%dl, %edx
    	andl	$1, %edx
    	sall	$5, %edx
    	orl	%ecx, %ebx
    	orl	%edx, %ebx
    	andl	$24, %eax
    	andl	$-58336, %ebx
    	orl	%eax, %ebx
    	orl	$32962, %ebx
    	movl	%ebx, %eax
    	popl	%ebx
    	ret

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82439 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c3fd1da0082f74a5e7cb3b6b5501a67bf0097bf
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 05:52:45 2009 +0000

    add a helper method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82438 91177308-0d34-0410-b5e6-96231b3b80d8

commit a32393f6bbe778ea5f6960bc67c34176ce769198
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Sep 21 04:32:32 2009 +0000

    Fix PR4986. "r1024 = insert_subreg r1024, undef, 2" cannot be turned in an implicit_def. Instead, it's an identity copy so it should be eliminated. Also make sure to update livevariable kill information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82436 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd66f1607e2c9e866c66fdb4b1feb9a15718075b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 21 03:56:00 2009 +0000

    Don't allow formatted_ostream to be unbuffered, even if its underlying buffer
    is.
     - The problem is that formatted_ostream forces its underlying buffer to be
       unbuffered, so if some client happens to wrap a formatted_ostream around
       something, but still use the underlying stream, then we can end up writing on
       a fully unbuffered output (which was never intended to be unbuffered).

     - This makes clang (and presumably llvm-gcc) -emit-llvm -S a mere 10x faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82434 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51481994a6a57871da58724cd6b9aa249833c4f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 02:53:57 2009 +0000

    one case handled, expanded another testcase inline.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82427 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff36c95843e4cc7402357d937d848e729d022ff6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 02:42:51 2009 +0000

    formatting cleanups, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3453185664bae401dc32f9c8744c0fa9590f9716
Author: Reid Kleckner <reid@kleckner.net>
Date:   Mon Sep 21 02:34:59 2009 +0000

    Add documentation on how to use enable debug information in the JIT and use it with GDB.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82425 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec3c4b93ee43cac3749ade851f57a1863de06eb5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 21 02:30:42 2009 +0000

    fix a FileCheck bug where:

    ; CHECK: foo
    ; CHECK-NOT: foo
    ; CHECK: bar

    would always fail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82424 91177308-0d34-0410-b5e6-96231b3b80d8

commit 096f10a51b037861069e280020dd2967fdce6b6e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 21 00:05:30 2009 +0000

    Move ARM and X86 specific AsmParser tests into separate subdirectories, and only
    run if appropriate target is supported.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82419 91177308-0d34-0410-b5e6-96231b3b80d8

commit 738b4f2a7d37600af45fc6a5515d5a5be175d19e
Author: Reid Kleckner <reid@kleckner.net>
Date:   Sun Sep 20 23:52:43 2009 +0000

    Implement the JIT side of the GDB JIT debugging interface.  To enable this
    feature, either build the JIT in debug mode to enable it by default or pass
    -jit-emit-debug to lli.

    Right now, the only debug information that this communicates to GDB is call
    frame information, since it's already being generated to support exceptions in
    the JIT.  Eventually, when DWARF generation isn't tied so tightly to AsmPrinter,
    it will be easy to push that information to GDB through this interface.

    Here's a step-by-step breakdown of how the feature works:

    - The JIT generates the machine code and DWARF call frame info
      (.eh_frame/.debug_frame) for a function into memory.
    - The JIT copies that info into an in-memory ELF file with a symbol for the
      function.
    - The JIT creates a code entry pointing to the ELF buffer and adds it to a
      linked list hanging off of a global descriptor at a special symbol that GDB
      knows about.
    - The JIT calls a function marked noinline that GDB knows about and has put an
      internal breakpoint in.
    - GDB catches the breakpoint and reads the global descriptor to look for new
      code.
    - When sees there is new code, it reads the ELF from the inferior's memory and
      adds it to itself as an object file.
    - The JIT continues, and the next time we stop the program, we are able to
      produce a proper backtrace.

    Consider running the following program through the JIT:

    #include <stdio.h>
    void baz(short z) {
      long w = z + 1;
      printf("%d, %x\n", w, *((int*)NULL));  // SEGFAULT here
    }
    void bar(short y) {
      int z = y + 1;
      baz(z);
    }
    void foo(char x) {
      short y = x + 1;
      bar(y);
    }
    int main(int argc, char** argv) {
      char x = 1;
      foo(x);
    }

    Here is a backtrace before this patch:
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x2aaaabdfbd10 (LWP 25476)]
    0x00002aaaabe7d1a8 in ?? ()
    (gdb) bt
    #0  0x00002aaaabe7d1a8 in ?? ()
    #1  0x0000000000000003 in ?? ()
    #2  0x0000000000000004 in ?? ()
    #3  0x00032aaaabe7cfd0 in ?? ()
    #4  0x00002aaaabe7d12c in ?? ()
    #5  0x00022aaa00000003 in ?? ()
    #6  0x00002aaaabe7d0aa in ?? ()
    #7  0x01000002abe7cff0 in ?? ()
    #8  0x00002aaaabe7d02c in ?? ()
    #9  0x0100000000000001 in ?? ()
    #10 0x00000000014388e0 in ?? ()
    #11 0x00007fff00000001 in ?? ()
    #12 0x0000000000b870a2 in llvm::JIT::runFunction (this=0x1405b70,
    F=0x14024e0, ArgValues=@0x7fffffffe050)
       at /home/rnk/llvm-gdb/lib/ExecutionEngine/JIT/JIT.cpp:395
    #13 0x0000000000baa4c5 in llvm::ExecutionEngine::runFunctionAsMain
    (this=0x1405b70, Fn=0x14024e0, argv=@0x13f06f8, envp=0x7fffffffe3b0)
       at /home/rnk/llvm-gdb/lib/ExecutionEngine/ExecutionEngine.cpp:377
    #14 0x00000000007ebd52 in main (argc=2, argv=0x7fffffffe398,
    envp=0x7fffffffe3b0) at /home/rnk/llvm-gdb/tools/lli/lli.cpp:208

    And a backtrace after this patch:
    Program received signal SIGSEGV, Segmentation fault.
    0x00002aaaabe7d1a8 in baz ()
    (gdb) bt
    #0  0x00002aaaabe7d1a8 in baz ()
    #1  0x00002aaaabe7d12c in bar ()
    #2  0x00002aaaabe7d0aa in foo ()
    #3  0x00002aaaabe7d02c in main ()
    #4  0x0000000000b870a2 in llvm::JIT::runFunction (this=0x1405b70,
    F=0x14024e0, ArgValues=...)
       at /home/rnk/llvm-gdb/lib/ExecutionEngine/JIT/JIT.cpp:395
    #5  0x0000000000baa4c5 in llvm::ExecutionEngine::runFunctionAsMain
    (this=0x1405b70, Fn=0x14024e0, argv=..., envp=0x7fffffffe3c0)
       at /home/rnk/llvm-gdb/lib/ExecutionEngine/ExecutionEngine.cpp:377
    #6  0x00000000007ebd52 in main (argc=2, argv=0x7fffffffe3a8,
    envp=0x7fffffffe3c0) at /home/rnk/llvm-gdb/tools/lli/lli.cpp:208

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82418 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11c06f4536a6ced3db546b5c7b07ff75047a302c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 23:30:31 2009 +0000

    Work around a FileCheck bug, for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82416 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc1c1435324c8b816a1174dd8b6b177f420d6ba8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:56:43 2009 +0000

    simplify as daniel suggests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82415 91177308-0d34-0410-b5e6-96231b3b80d8

commit a094468e10fe4f091e7d907293becbdcfbd6427e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:54:26 2009 +0000

    write rfind in terms of npos as daniel requested

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 637012fa510c7edf6b964a351eb3f265ed799674
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:46:42 2009 +0000

    remove a dead method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82413 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3472feab21a77560d266b6ff1a24c5e56a99fb42
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:45:18 2009 +0000

    grammaro

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82412 91177308-0d34-0410-b5e6-96231b3b80d8

commit c911446f73dd4b9d08d33002826f4abb660c8f0a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:44:26 2009 +0000

    Revert r82404, it is causing a bootstrap miscompile.  This is very very
    scary, as it indicates a lurking bug. yay.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82411 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01467f6f77e9ac0cf6529a6859557def9b7a8c89
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:42:44 2009 +0000

    rewrite CountNumNewlinesBetween to be in terms of StringRef.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82410 91177308-0d34-0410-b5e6-96231b3b80d8

commit 873602b157d1fbdf0c325f03ec7d1845536286e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:36:11 2009 +0000

    this was not supposed to be committed

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d82c7077aaeb545a95fc782af1d742ea4a76016
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:35:26 2009 +0000

    implement and document support for CHECK-NOT

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f850d129178bcf88a47450425f40adac1ed1dbb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 22:11:44 2009 +0000

    rewrite FileCheck in terms of StringRef instead of manual pointer pairs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82407 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1e45469b47ce54ae561ac4e1ab5369e5c5d73ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 21:00:18 2009 +0000

    improve memdep to eliminate bitcasts (and aliases, and noop geps)
    early for the stated reasons: this allows it to find more
    equivalences and depend less on code layout.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82404 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6b1d05df6e52b543bc7a580ae50876b1c75e1ba
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 20:09:34 2009 +0000

    Move CoerceAvailableValueToLoadType earlier in GVN.cpp.  Hook it up
    so that nonlocal and partially redundant loads can use it as well.
    The testcase shows examples of craziness this can handle.  This triggers
    *many* times in 176.gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3de5c8cdc9d2dbeb463861ec0754ba9d22f3e821
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 19:31:14 2009 +0000

    change the interface to CoerceAvailableValueToLoadType to be
    more generic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82402 91177308-0d34-0410-b5e6-96231b3b80d8

commit a266ec3f6128ce246bc5616f23810d74d7189676
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 19:04:28 2009 +0000

    Teach 'make check-all' to build the site configuration for clang, if it is in tree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7741aa5bd6c283df1435bc6c140ebc5dac40327c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 19:03:47 2009 +0000

    enhance GVN to forward substitute a stored value to a load
    (and load -> load) when the base pointers must alias but when
    they are different types.  This occurs very very frequently in
    176.gcc and other code that uses bitfields a lot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82399 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7acce9445f10d7ddea1480a477473ce0ca92a1b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 17:37:38 2009 +0000

    update an entry, delete an entry which has been fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82398 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c220f60be3a50de7fd2a5c491ccfa63c5d3a342
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 17:32:21 2009 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82397 91177308-0d34-0410-b5e6-96231b3b80d8

commit dac97dab11fffaae623be1d4bd2a0c2e249a5c54
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Sep 20 09:13:15 2009 +0000

    --- Reverse-merging r82282 into '.':
    U    lib/CodeGen/AsmPrinter/DwarfException.cpp
    U    lib/CodeGen/AsmPrinter/DwarfException.h

    --- Reverse-merging r82274 into '.':
    U    lib/Target/TargetLoweringObjectFile.cpp
    G    lib/CodeGen/AsmPrinter/DwarfException.cpp

    These revisions were breaking everything.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82396 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0544b677b4974c107db08d19d419ce3a5703478
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:47:59 2009 +0000

    remove a temporary hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82395 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf4b6a8e534c6934d3f702cb8d15e727096aabfb
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:41:30 2009 +0000

    rename X86ATTAsmPrinter.cpp -> X86AsmPrinter.cpp likewise the .h file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82394 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8ef9fecee83d80f51ef84e4ccfb1aff73d965c4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:39:06 2009 +0000

    move target registry stuff to X86ATTAsmPrinter.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82393 91177308-0d34-0410-b5e6-96231b3b80d8

commit 937948b3621332a2bbd8b1ca414fbb04b89e65a8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:37:51 2009 +0000

    simplify this now that createX86CodePrinterPass is trivial

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82392 91177308-0d34-0410-b5e6-96231b3b80d8

commit 477b9ac19d813b317e3b90ebfdffa1953d4e1261
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:35:34 2009 +0000

    rename X86ATTAsmPrinter class -> X86AsmPrinter

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82391 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2aa10dafe6b2eeccc73dda8817d0eebce9481c63
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:32:00 2009 +0000

    remove the asmstring, it is now dead.  Improve comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82390 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5086a10b582cf8d9f0f1ac4d7569c24d260092c8
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 07:31:25 2009 +0000

    Peer through zext and sext to eliminate them when it is safe to do so.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82389 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7e959d869e698bf1b8d22044d96655632f6072e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:28:26 2009 +0000

    kill off printPICLabel now, it's specialness is handled by
    the MachineInstr ->MCInst lowering process, not in the
    asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82388 91177308-0d34-0410-b5e6-96231b3b80d8

commit 548587879c1ca975c31cfa7a2e93d2778270d8ce
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:25:17 2009 +0000

    delete X86IntelAsmPrinter!  Now -x86-asm-syntax just switches
    the instruction syntax, not the entire asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82387 91177308-0d34-0410-b5e6-96231b3b80d8

commit cfef6a6a359626560bb9ce090df8895dbc898b00
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 07:21:39 2009 +0000

    Fold 'icmp eq (icmp), true' into an xor(icmp).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82386 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6153b455d4f5ef8514356fbfbbeae0f2281ad77
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:17:49 2009 +0000

    Add an intel syntax MCInstPrinter implementation.  You can now
    transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1"

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82385 91177308-0d34-0410-b5e6-96231b3b80d8

commit a77caae2f50e84a6e1b6e084709806b65680b005
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 07:16:54 2009 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82384 91177308-0d34-0410-b5e6-96231b3b80d8

commit 241fa24501d56a9fc02373cb38d1ef53cc155bef
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 07:00:24 2009 +0000

    Rewrite this check so that it checks what it's supposed to and doesn't use
    CHECK-NOT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82383 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc71ac06870a72ae5c040e28f30c8064db85af48
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 06:58:54 2009 +0000

    eliminate a use of strtoul.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82382 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14267fcd04c922b6c52d7b9bb474479e5bf57889
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 06:45:52 2009 +0000

    split random COFF asmprinter state out to X86COFFMachineModuleInfo.h.
    Make dllexport directives come out in determinstic order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82381 91177308-0d34-0410-b5e6-96231b3b80d8

commit 81f952d11efbfddff01ceacd0a1a98d11b6aaeb5
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 06:27:35 2009 +0000

    Correct the comment; this applies to fcmp too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82380 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbcffe8712043251db8648cfa350b2f1e09084e9
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 06:26:34 2009 +0000

    Remove tab, again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82379 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9c524ea42f9ed437369879c709b95f24bd3a4e8
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 06:24:51 2009 +0000

    Teach the constant folder how to not a cmpinst.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82378 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4a6ac9ba8cd5339cb954d9830b1d2a06223355b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 06:21:43 2009 +0000

    smallvectorize getExtraOptionNames

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82377 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53f949e7a0b5841e5a497c3015709551729d7874
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 06:21:20 2009 +0000

    add a helper method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82376 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d211b2bfbab124d05ce785a55bc3af0d067faf2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 06:18:38 2009 +0000

    minor cleanups.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82375 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b6816d9f3b0fc2e47a458e07d63586aaaf8718f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 06:17:21 2009 +0000

    Add 'make check-all', which runs the LLVM tests along with the clang tests if
    its in the standard location.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 681869cb3d72675bb06147c36d9fb31fe8f1ad2e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 06:17:12 2009 +0000

    Follow googletest logic for suppressing warnings in unittests/UnitTestMain.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8748d237cb2b4ae277921ccc08e54ad742745a6a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:53:47 2009 +0000

    strength reduce further StringRef-> const char*, saving another 620 bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82372 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4f150b44b10efd07b2a88484830602476bd8d7a
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 05:48:50 2009 +0000

    Try turning icmp(bitcast(x), bitcast(y)) into icmp(bitcast(bitcast(x)), y) in
    the hopes that the two bitcasts will merge.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82371 91177308-0d34-0410-b5e6-96231b3b80d8

commit a81653676cd5fc5e695af54399394225e8d89b79
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:48:01 2009 +0000

    switch an std::string to StringRef, shaving 400 bytes off CommandLine.o

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82370 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd2115c7b222e57eda27fa44dc982fee783c338d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 05:47:45 2009 +0000

    Remove tabs I added.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82369 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d9aff4829c7463923e2bb17aa34207cca892513
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:37:24 2009 +0000

    the switch from std::map -> StringMap caused --help output to be in
    non-sorted order, restore the sort.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82368 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8240964bf2a87365923de9c21a98f84a29320bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:22:52 2009 +0000

    eliminate the duplicate detection loop, moving it into the loop that populates the Opts vector in the first place.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82367 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34bbc24fd05e08cb98ee66991995363c89fc9bd1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:18:28 2009 +0000

    Eliminate a masochistic "algorithm" loop, shrinking CommandLine.o from 71524->70700 bytes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82366 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab754915527a90d5eb8a702cf656048f3e70d28d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:15:12 2009 +0000

    don't use count + insert, just do insert + failure.  Also, instead of deleting from
    the middle of a vector, swap the last element in and pop_back.  Also saves 330 bytes :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82365 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97be18f541d7a7ddfc824f9318091edca672798f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:12:14 2009 +0000

    switch to SmallPtrSet instead of std::set, saving 1K from the
    release-asserts .o file (72900->71856).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82364 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78f024be77b8f3ded896be562c20f60aaea019e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:06:23 2009 +0000

    change an std::sort to an array_pod_sort call, shrinking CommandLine.o by 9%.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82363 91177308-0d34-0410-b5e6-96231b3b80d8

commit d516d025a30f0e54aaf4a36bd56cbc992d6888a6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 05:03:30 2009 +0000

    Several changes together in a murky mess:
    1. Change some "\n" -> '\n'.
    2. eliminte some std::string's by using raw_ostream::indent.
    3. move a bunch of code out of the main arg parser routine into
       a new static HandlePrefixedOrGroupedOption function.
    4. Greatly simplify the implementation of getOptionPred, and make
       it avoid splitting prefix options at = when that doesn't match
       a non-prefix option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de9f27fca2cc69c8313f1d2dfb06a92623c78b1
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 04:27:06 2009 +0000

    Clean up the usage of evaluateICmpRelation's return value.
    Add another line to the ConstantExprFold test to demonstrate the GEPs may not
    wrap around in either the signed or unsigned senses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82361 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0a39c32b9db28f69a32be709fdfba69d7d00603
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 04:03:41 2009 +0000

    Fix refacto, this code was expecting to stride past the argument prefix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82360 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43e136586bbd27519d726aec7d6b8234117ea3c7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 04:03:34 2009 +0000

    Strip trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82359 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90cc3b72cd886acc682e2a287b5b43638f723e28
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 04:03:25 2009 +0000

    A few more tabs -> spaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f7a3db50c589b634e884b5d1b2f426bc49afcd3
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 03:48:46 2009 +0000

    Remove dead store by taking a guess at what Chris meant. I wasn't able to
    design a testcase that would tickle this behaviour.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82357 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9286265a3ee87750212828f753e362bc4b5ffa56
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Sep 20 02:27:06 2009 +0000

    Still one more thing wrong here...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3be44e69724c80460d2ef5abab22d802f78615cc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 20 02:20:51 2009 +0000

    Tabs -> spaces, and remove trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab2f66670c4c8ecc8e62d989f9d9d9c6f62dc07b
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Sep 20 02:19:49 2009 +0000

    Here's fun! It turns out that these filter functions can be internal. If they're
    internal, they shouldn't use the indirect pointer stuff. In the case of
    throw_rethrow_test, it was marked as 'internal' and calculated its own offset to
    its contents.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 216b5548a9287b2e8e3fd20594c20049ff9248ec
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 02:11:47 2009 +0000

    Delete dead code. sext and zext can not turn integers into pointers. Further,
    the optimization described in the comment is only valid with target data.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a5bcfcc0e41b0ef8933b974d1ec46665c19fcc4
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 02:02:24 2009 +0000

    convert argname to StringRef, simplifying LookupOption.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82352 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8168dd1312860814da3181fecb491b4c5500ba1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 01:53:12 2009 +0000

    convert 'Value' to StringRef which makes it easier to
    maintain the "null is unspecified, empty is empty" semantics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4627c688f7ab3c7951640cc658208826b32c63bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 01:49:31 2009 +0000

    Change CommaSeparated processing to do it with StringRef instead of temporary std::strings.
    This requires StringRef'izing ProvideOption which I also did.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c7fc6353a4de5b87d9c22c5714818dfb8f8bf45
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 01:35:59 2009 +0000

    Value* were never meant to be const. Removing constness from the constant
    folder removes a lot of const_casting and requires no changes to clang or
    llvm-gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17e5709887260f988fe94076ef18d967e0c6ade7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 01:33:46 2009 +0000

    rewrite ParseCStringVector in terms of stringref.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82348 91177308-0d34-0410-b5e6-96231b3b80d8

commit fadd584b7df635545dcd4bb33a3c64adbdad46e0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 01:22:16 2009 +0000

    move a couple non-trivial methods out of line, add new
    find_first_of/find_first_of methods.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2ee921e886c157a1e6206867240c4314b5db5af7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 01:11:23 2009 +0000

    coding style cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82346 91177308-0d34-0410-b5e6-96231b3b80d8

commit 157229d5138579232650753d0514025858b01f8e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 00:40:49 2009 +0000

    convert a bunch more stuff to use StringRef.  The ArgName arguments are now
    stringref because they may not be nul terminated.  For options like -Lfoo
    this now avoids a O(n)  temporary std::strings where N is the length of
    the string after -L.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f3b90b1b3b99b963b60b9ed53a67e09c202260f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 00:38:28 2009 +0000

    add size_t and a version of rfind that allows specification of where
    to scan from.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82343 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13c4b63b5151f9f9c434341c2ea43f4f34c2243b
Author: Dale Johannesen <dalej@apple.com>
Date:   Sun Sep 20 00:36:41 2009 +0000

    When computing live intervals for earlyclobber operands,
    we pushed the beginning of the interval back 1, so the
    interval would overlap with inputs that die.  We were
    also pushing the end of the interval back 1, though,
    which means the earlyclobber didn't overlap with other
    output operands.  Don't do this.  PR 4964.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 747e01e815ec69962736f851866adbe28a27d8c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 20 00:07:40 2009 +0000

    avoid a bunch of malloc thrashing for PositinoalVals by eliminating
    a std::vector and a bunch of std::string temporaries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82341 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f40f38b05cb2662351d1a917ecb5f830a0dba83
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 20 00:04:02 2009 +0000

    Teach the constant folder how to handle a few simple i1 cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82340 91177308-0d34-0410-b5e6-96231b3b80d8

commit 717f77390b5d4bcbddecc414ce46a23abf684c01
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 19 23:59:02 2009 +0000

    Avoid some temporary strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82339 91177308-0d34-0410-b5e6-96231b3b80d8

commit 60b7363a854bd53c30e474836e3a1e04ac2dc163
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 19 23:58:48 2009 +0000

    add some more overloads of StringRef::getAsInteger for
    common and useful integer types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82338 91177308-0d34-0410-b5e6-96231b3b80d8

commit d867fb4396c8affcdb680108b43cb110b7d12db8
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 19 23:57:31 2009 +0000

    add a simple c_str() method to SmallString.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82337 91177308-0d34-0410-b5e6-96231b3b80d8

commit a741cb48d356de1e0b27a212385e85fd521755b4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Sep 19 22:02:37 2009 +0000

    Revert r82274. It's causing failures in the CINT2006 benchmarks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82336 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d62cb53f5055c4d43709228c30a2febc6495f48
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 19 20:40:28 2009 +0000

    Prefer super class constructor to explicit initialization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82335 91177308-0d34-0410-b5e6-96231b3b80d8

commit d36c7729ae080ee3721891794d3617080ddaf550
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 19 20:40:21 2009 +0000

    Tabs -> spaces (really?)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82334 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19f1d447f73de5807acb64281df5d7acaa23ceeb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 19 20:40:14 2009 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82333 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41716328c597656692f2189f47c7cc56120d2aa5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 19 20:40:05 2009 +0000

    Strip trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332 91177308-0d34-0410-b5e6-96231b3b80d8

commit 80b13b31a80b54768abc2da9f00a725209702816
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 19 20:39:50 2009 +0000

    RHS of assignment should be const reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9229fdb0d591d22ad962dfb97d98d12ef56b5833
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Sep 19 20:30:26 2009 +0000

    Remove the default value for ConstantStruct::get's isPacked parameter and
    update the code which was broken by this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82327 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2f35c54ff2c2ef8e03583a0bed0e15bd38426c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 19 19:47:14 2009 +0000

    provide a "strtoull" operation that works on StringRef's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a5c6fab5776ded60bc45c264f5f22053062678b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Sep 19 19:00:06 2009 +0000

    Add a comment explaining why you would ever want to do this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47d05cbb759287986bb6223325b987caeda53a6e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 19 18:55:05 2009 +0000

    convert a bunch of std::strings to use StringRef.  This should eliminate
    a massive number of temporary strings created when parsing a command line.
    More still left to eliminate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4980177e93ff0c3d02a6fa98a5c91e4b168d6c0c
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Sep 19 18:33:36 2009 +0000

    Lett users of sparse propagation do their own thing with phi nodes if they want
    to. This can be combined with LCSSA or SSI form to store more information on a
    PHINode than can be computed by looking at its incoming values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82317 91177308-0d34-0410-b5e6-96231b3b80d8

commit d899f5970f3e1437cff128a7cf3331a8bcf599b9
Author: Duncan Sands <baldrick@free.fr>
Date:   Sat Sep 19 11:25:44 2009 +0000

    The flag "--dot-cfg-only" is at the moment equivalent to the flag "--dot-cfg".
    It prints the content of all bbs, instead of printing empty bbs to make the
    CFG more readable.  Fix this.  Patch by Tobias Grosser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82315 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb57eefc4bd33cf3e83b2fb56a6b4fd7f4825bfa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 19 10:09:15 2009 +0000

    Fix funky comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4ae44e1230cc009186e73112ff34c4092dd5dafd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 19 10:08:51 2009 +0000

    Update comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82313 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48086603b0774317c5e35a38627e1c811c09f669
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Sep 19 10:01:45 2009 +0000

    Try to speed up the slowest parts of the CommandLine library

    - Replace std::map<std::string with StringMap
    - Eliminate unnecessary std::string copies
    - ~10% speed-up for clang's testsuite on my machine (debug build)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82312 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f3a54090af5d61d35de2158542ff76fc9ef053f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 19 09:51:03 2009 +0000

    Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82311 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48c3c54ceb1fbdcddac9f11a11163a44efe21f55
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Sep 18 22:35:49 2009 +0000

    Enhance transform passes so that they apply the same tranforms to malloc calls as to MallocInst.

    Reviewed by Dan Gohman.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82300 91177308-0d34-0410-b5e6-96231b3b80d8

commit 627f280adfd69bbf8e859de69b6807ae0c9effce
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 22:03:29 2009 +0000

    remove an extraneous mem2reg pass early in the pipe.  Since
    this is run after the 'standard function passes', SRoA was
    recently run.  This saves a domfrontier construction. Thanks
    to Eli for noticing this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82291 91177308-0d34-0410-b5e6-96231b3b80d8

commit b215f0dab024efb9d46497a28404bcde2638e1a3
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 22:01:30 2009 +0000

    reduce indentation by using an early exit, and add a comment,
    no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d8662c4dfa69ff87d42037794cf6e6774c2c512
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 18 21:43:11 2009 +0000

    Fix a comment typo and some whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 764ce99aff6b5db12d99c31467c9e9b7c5612cf2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 18 21:42:44 2009 +0000

    Fix a typo in an assertion message.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82284 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98c415caf6f8e0eac9b9247fb782d6718430e288
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 18 21:37:56 2009 +0000

    Factor out label difference creation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82282 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82f0ab64c43dcae28ed4f0cb4b8bb69df0b4561d
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Sep 18 21:34:51 2009 +0000

    Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst.

    Reviewed by Eli Friedman.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82281 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c5ec3c11bd3283bfd8bbf7ce12bb81b8d3e3ed0
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 18 21:23:12 2009 +0000

    Delete the label names from this test to make it less fragile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82276 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c065b334c41ba54d98ad45a6c5b4fdd60c06d2c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Fri Sep 18 21:14:36 2009 +0000

    It's inefficient to have place the exception tables (which contain the LSDA)
    into the __DATA section. At launch time, dyld has to update most of the section
    to fix up the type info pointers. It's better to place it into the __TEXT
    section and use pc-rel indirect pointer encodings. Similar to the personality
    routine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82274 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7dc983029cf293dd67637c27b92c04c0baf968b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 18 21:02:19 2009 +0000

    Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.
    Not functionality change yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82273 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8cd2ec566b2bbfa3e07458bc0050af859676fcd4
Author: Shantonu Sen <ssen@apple.com>
Date:   Fri Sep 18 20:35:59 2009 +0000

    Fix cmake build, which has a different -I that
    causes the "../foo" to not find the file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82270 91177308-0d34-0410-b5e6-96231b3b80d8

commit f283fb255f535d56d8cd5f86058ccf2359800e86
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 20:22:52 2009 +0000

    Make a new X8632_MachoTargetObjectFile TLOF implementation whose
    getSymbolForDwarfGlobalReference is smart enough to know that it
    needs to register the stub it references with MachineModuleInfoMachO,
    so that it gets emitted at the end of the file.

    Move stub emission from X86ATTAsmPrinter::doFinalization to the
    new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook.  The important
    thing here is that EmitEndOfAsmFile is called *after* the ehframes are
    emitted, so we get all the stubs.

    This allows us to remove a gross hack from the asmprinter where it would
    "just know" that it needed to output stubs for personality functions.
    Now this is all driven from a consistent interface.

    The testcase change is just reordering the expected output now that the
    stubs come out after the ehframe instead of before.

    This also unblocks other changes that Bill wants to make.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82269 91177308-0d34-0410-b5e6-96231b3b80d8

commit b611307c9730ae90448fcacfd8ee9d0d208cc3ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 20:17:03 2009 +0000

    add a new hook to allow targets to splat stuff at the end of the file.
    Overriding doFinalization is pretty lame.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82268 91177308-0d34-0410-b5e6-96231b3b80d8

commit 899369d4ad9633b3fcf4aba63dc411ce1988ad75
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 18 20:15:22 2009 +0000

    Model the carry bit on ppc32.  Without this we could
    move a SUBFC (etc.) below the SUBFE (etc.) that consumed
    the carry bit.  Add missing ADDIC8, noticed along the way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82266 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12e03298135939c9d40f25f5f762d9522ca352c2
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 18 19:59:53 2009 +0000

    Add support for using the FLAGS result of or, xor, and and instructions
    on x86, to avoid explicit test instructions. A few existing tests changed
    due to arbitrary register allocation differences.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82263 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c8eecdb5aaa4e078ffa0a058219a54dbee98274
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Sep 18 19:35:23 2009 +0000

    Added RCL and RCR (rotate left and right with a
    carry bit) instructions to the Intel instruction
    tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82260 91177308-0d34-0410-b5e6-96231b3b80d8

commit adc37616a0ed90c8d25360168e395653b8ad9bd5
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Sep 18 19:26:43 2009 +0000

    Write and read metadata attachments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 811ebe0ef3c476c5cbf04d6c2bf362f56a650eec
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Fri Sep 18 19:20:02 2009 +0000

    Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type).

    In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants.

    Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array.

    Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type.

    Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls.

    Add verification for malloc calls.

    Reviewed by Dan Gohman.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 600abb363005c6b5abc9385b35c37720cb2eacbf
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 18:34:29 2009 +0000

    duncan points out the EH selector values are signed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82245 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02897795c891a7e250d03153f391851189fb8f5b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 18:31:37 2009 +0000

    convert some stuff to StringRef to avoid temporary std::strings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82244 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5c11a87071a6afaac5df49fb5e552de1d2e5a9a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 18:10:19 2009 +0000

    add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82236 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e54f154ec3d950827ff8e29f01ca55ae958db0f
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 18 18:08:55 2009 +0000

    This file can need access to the X86 instruction enums when the table exceeds 32-bits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dc36eb1b47ec2157748668fb71943f59711c909
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 18 17:48:05 2009 +0000

    Fix a few more conversion warnings on 4.0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82232 91177308-0d34-0410-b5e6-96231b3b80d8

commit d852f4d69c40e8ad68c4eb43c38e82da068414bf
Author: Mike Stump <mrs@apple.com>
Date:   Fri Sep 18 17:10:27 2009 +0000

    Update to latest versions of config.guess and config.sub from
    http://savannah.gnu.org/projects/config

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82229 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3789f872b0ac8f9d22d99696164e04b664af90f6
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Sep 18 16:57:42 2009 +0000

    Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
    variables to specified absolute address. Make use of this feature for MSP430.
    This unbreaks PR4776.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 052e60d59a4f423089f1f088d0e1e7ac61bd5be7
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Sep 18 16:46:16 2009 +0000

    Stop using alloca.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82225 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50514c7bab532bd061d9b97bcaf98b5e960653db
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Fri Sep 18 09:50:00 2009 +0000

    Revert r82214 completely to fix build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82218 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3233f2b427e9abfbe1633a91e8e84e7bbb19b43
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 18 08:26:06 2009 +0000

    Revert r82214. It broke 403.gcc on x86_64 / Darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82215 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac00d566d4070167ca5aa1cb48f83fa55b1535b9
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 18 08:16:04 2009 +0000

    Fix a bug in sdisel switch lowering code. When it updates the phi nodes in switch successor blocks, it can introduce multiple phi operands of the same value from different blocks (and may not be on the predecessor list).

    This can be seen on CodeGen/Generic/2006-09-06-SwitchLowering.ll. But it's not known to cause any real regression (but I have added an assertion for it now).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82214 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28c17afa6abed7695d7c148253631920458ee226
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Fri Sep 18 07:36:47 2009 +0000

    Add newlines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82206 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed2ccedb5acf8e5b7f7932aa87f0b188856b894d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 23:56:41 2009 +0000

    make this testcase check darwin32 also

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82182 91177308-0d34-0410-b5e6-96231b3b80d8

commit f494e5b979e9a6d7f7f6db0d93dc10b4d1caa877
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 23:55:12 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82181 91177308-0d34-0410-b5e6-96231b3b80d8

commit b51aa3322dc54cc149250513132c30574b2e003c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 23:54:54 2009 +0000

    tolerate llvm.eh.selector.i64 on 32-bit systems and llvm.eh.selector.i32 on
    64-bit systems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82180 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c5eea69ce28fd4909f68486bb97ad470e989575
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 23:54:26 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82179 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec1d9adb02b80de2a1e4219c271ca2cad2362000
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 23:42:06 2009 +0000

    rename file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82178 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fbb035781529abc1df7b4e4f6471dd977708e3b
Author: Julien Lerouge <jlerouge@apple.com>
Date:   Thu Sep 17 23:27:10 2009 +0000

    Use __attribute__((__used__)) if GCC >= 3.1 (seems to be the oldest GCC
    supporting this attribute).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82177 91177308-0d34-0410-b5e6-96231b3b80d8

commit 941264e406202121ddb019dffa5e1084819790c3
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 17 23:05:07 2009 +0000

    A testcase!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82176 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91c792366e0bc38cb14028cd2068b92104f7db51
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 17 23:04:48 2009 +0000

    Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82175 91177308-0d34-0410-b5e6-96231b3b80d8

commit c953c1da67f69a4698a7f5379775000e12599134
Author: John McCall <rjmccall@apple.com>
Date:   Thu Sep 17 20:35:18 2009 +0000

    Fix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy>
    instead of the PtrTraits provided.  Allows PointerIntPair to contain a
    PointerUnion safely, as long as the bits add up.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ca4b2cefc8cb9260b1467917e630ed7d7d1f6a2
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 17 20:12:05 2009 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82162 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee62b0424d8c75617484b2d4a9383565044eb5aa
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 18:49:52 2009 +0000

    pass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
    currently unused.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82157 91177308-0d34-0410-b5e6-96231b3b80d8

commit c20e8bfb90176ee9cd27b027c11a3c8c9c117dd6
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 17 18:05:20 2009 +0000

    Teach ScalarEvolution how to reason about no-wrap flags on loops
    where the induction variable has a non-unit stride, such as {0,+,2}, and
    there are expressions such as {1,+,2} inside the loop formed with
    or or add nsw operators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82151 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47472be0fc842626bbc7103ca8c2d724c213d67e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 17 17:57:26 2009 +0000

    grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82150 91177308-0d34-0410-b5e6-96231b3b80d8

commit 961e43f21b9c3565598054313e7b928b7d0bf656
Author: Jim Grosbach <grosbach@apple.com>
Date:   Thu Sep 17 17:55:55 2009 +0000

    grammar

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82149 91177308-0d34-0410-b5e6-96231b3b80d8

commit dca235bfe8e20482ce3ad2a42dcf5897756314f2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 17 17:46:53 2009 +0000

    Another try at fixing compile warnings on 4.0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82148 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7af40ce842fb14e42581f038d12e76a969121e8
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Sep 17 14:51:57 2009 +0000

    Initialize HasMetadata to zero.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82145 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0add5c53c467b953fb803c8c50e450eeb3a42bc9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 17 06:37:07 2009 +0000

    Remove test cases using -regalloc=simple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82130 91177308-0d34-0410-b5e6-96231b3b80d8

commit b21f415e57b24dbb1a962ddab5fd21ebaebc7d0d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 17 05:48:07 2009 +0000

    Remove simple regalloc. It has bit rotted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1581dc7e9c17c8c7e315d70e0b09e8b56b18f520
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 17 01:08:43 2009 +0000

    add a version of the APFloat constructor that initializes to 0.0

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82110 91177308-0d34-0410-b5e6-96231b3b80d8

commit f7f012381f5d47bb4f8a5a4663311daee8692cbf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 17 00:57:15 2009 +0000

    Fix PR4910: Broken logic in coalescer means when a physical register liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82108 91177308-0d34-0410-b5e6-96231b3b80d8

commit 119fdf6a2815d88d5fdfc5ada6897c96c9f83a0d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 17 00:14:44 2009 +0000

    Some platforms may need malloc.h for alloca.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82100 91177308-0d34-0410-b5e6-96231b3b80d8

commit f955d34bbdbb3377d2e3dc4aa54219b01ba463bc
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 17 00:06:48 2009 +0000

    Update CMake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23f33d74e817e171decf3915781634cbe9b19a2a
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 22:59:28 2009 +0000

    Added the LODS (load byte into register, usually
    as part string parsing) instructions to the Intel
    instruction tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82089 91177308-0d34-0410-b5e6-96231b3b80d8

commit d86d635d2831ee15f0e5bafb597d29f0318aaeb4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 16 22:38:48 2009 +0000

    Add StringRef::{rfind, rsplit}

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82087 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2eddf5d5241b54e02b035b40f16ffa1e5effbe19
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 21:55:34 2009 +0000

    Added the LAR (load segment access rights)
    instructions to the Intel instruction tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82084 91177308-0d34-0410-b5e6-96231b3b80d8

commit 503784b9ecdc71df54e3f2b58917b5970c6fcdf5
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 21:50:07 2009 +0000

    Added the LOOP family of instructions to the Intel
    instruction tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 11490dcdcd8a798d9d009bfb12a32ab069a0b530
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 21:11:23 2009 +0000

    Added an alternate form of register-register CMP
    to the Intel instruction tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f7aeddf89537d10eebd50196576e3ec91d066e9
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 21:09:07 2009 +0000

    Fix typo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82080 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0fbb00ae6d27128232f1c11550b70bddb6fa76d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 20:39:11 2009 +0000

    At iSel time, update DebugLoc based on debug info attached with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82077 91177308-0d34-0410-b5e6-96231b3b80d8

commit a653f3541148079687b4c8b95e2dff2e1c91ad77
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 16 20:25:11 2009 +0000

    Add a new pass for doing late hoisting of floating-point and vector
    constants out of loops. These aren't covered by the regular LICM
    pass, because in LLVM IR constants don't require separate
    instructions. They're not always covered by the MachineLICM pass
    either, because it doesn't know how to unfold folded constant-pool
    loads. This is somewhat experimental at this point, and off by
    default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ba76818a6b3281b86c8391cc07aafe821ad45cb
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 20:21:17 2009 +0000

    Print debug info attached with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82075 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94ef1628bb9b33484a3887a742fb4cc662b41fd8
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 16 20:20:44 2009 +0000

    Expand vector floating-point conversions not supported by NEON.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82074 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a2d32471a3fdc8f274411142bc8bc22294fa470
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 16 19:18:41 2009 +0000

    Now that llc can read .ll files directly, teach it to recognize .ll as
    an extension, so that the default output filename for foo.ll is foo.s,
    not foo.ll.s

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82071 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5223bf761d1d6ee0641bf2644e25265e84801926
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 18:20:05 2009 +0000

    Provide a way to extract location info from DILocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82064 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7464a698dfc9a4b4a42a303e71eb327768288463
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 18:18:06 2009 +0000

    Parse debug info attached with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9514eca3ca9a35a0f5fc01763f6556bec579cc0e
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 18:16:11 2009 +0000

    Add an interface to attach debugging information with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82062 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b1fad3ca2acec2db8d4c4545b8d5f74a2500b0f
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 16 18:09:00 2009 +0000

    Add llvm::Metadata to manage metadata used in a context.
    This interface will be used to attach metadata with an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86776f75bfef82e33cbd7b9a63c1963b1dd1e7b8
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Sep 16 18:08:00 2009 +0000

    Fixed some problems with the logic of parsing line comments by adding
    isAtStartOfComment and using that instead in two places where a loop
    to check if the char was in MAI.getCommentString().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 01b83cfcffb62aea094d46d17348d592b0259825
Author: Kevin Enderby <enderby@apple.com>
Date:   Wed Sep 16 17:18:29 2009 +0000

    Fix incorrect assert that should be a user error for code like 'mov $0, %%eax'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82054 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09cf2b6d63c865ade854b6ec1cf62aecf9e9dcb2
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 16 16:50:24 2009 +0000

    Change FoldPHIArgBinOpIntoPHI to decline folding if it would introduce two
    phis, similar to the FoldPHIArgGEPIntoPHI change.

    Also, delete some comments that don't reflect the code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82053 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77b713700c3d57b01ec3463dd873f546905a9f3c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 16 16:33:59 2009 +0000

    Fix the comment in this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82051 91177308-0d34-0410-b5e6-96231b3b80d8

commit e680e23e781542c39ba1501bee713dd3bf64ad09
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Wed Sep 16 14:36:35 2009 +0000

    Make cmake generated llvm-config output correct JIT backend for non X86 targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ccaf3f7c56c9f3e7e3359165f387895a1cd5ffa
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Sep 16 11:43:12 2009 +0000

    Don't sort the vector when it is empty. This should fix some expensive checking
    failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82040 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec139a0819923967e3c2b8a8e5fafa8859056b8b
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 16 11:35:50 2009 +0000

    Reapplied r81355 with the problems fixed.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086737.html and
    http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086746.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82039 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f16e4059d7e325248642d3a8051d83bec4c7404
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Wed Sep 16 10:18:36 2009 +0000

    updated lib/CodeGen/CMakeLists.txt to unbreak cmake build after r82018

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82038 91177308-0d34-0410-b5e6-96231b3b80d8

commit b072028405dca8e4fab7f655c7622c2578e9353a
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 16 09:26:52 2009 +0000

    Preserve ProfileInfo during CodeGenPrepare.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82034 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4117b16b1ef23390d1f1bde4a3f0a1d29250f667
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 06:25:03 2009 +0000

    move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinter
    and use MachineModuleInfoMachO instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82022 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3e800a55a04aae2d825fbcf5aed2102a68eaec5
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 06:04:53 2009 +0000

    revert a hunk of r82018 that wasn't supposed to go in yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82020 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8a575424917e1f0e6921529c7be86d8825f7778
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 06:03:48 2009 +0000

    add a new MachineModuleInfoMachO class, which is the per-module
    stuff common across all macho targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82018 91177308-0d34-0410-b5e6-96231b3b80d8

commit 956017391974f44b14d1cb75e824e986841aeea6
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:42:12 2009 +0000

    apparently russians are really hard to sort or something!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82016 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47d77721c88c70fa8cadbff68df8f2ac1e250e13
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:37:13 2009 +0000

    I can sort, no really.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ee2b3f29d829ac1b99d97d943ffea955d5ee210
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:36:54 2009 +0000

    make more clear since it is sorted by last name now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 520339201d5c16d1c03d3e129b4cc00cb1f4c1dd
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:36:07 2009 +0000

    Doug is now the code owner for most of the Clang frontend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16fcdf9d05d09acde6146d531067fab0bf24f822
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:26:00 2009 +0000

    the pointer MMI keeps will start out with object-file format specific stuff

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 242f740dcbfc14d95a6eaf5305ca794d28df9a13
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:25:43 2009 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b658b8de70a1feabe23c000212d913d2816c7c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 05:20:33 2009 +0000

    rearrange X86ATTAsmPrinter::doFinalization, making a scan of
    the global variable list only happen for COFF targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f22f97df2231f18b11b6fe1847dc51a4da98747
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 04:59:30 2009 +0000

    Ted is christened as the owner of the clang static analyzer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82008 91177308-0d34-0410-b5e6-96231b3b80d8

commit 500fba8363dccdd3dd29495831e5d689ddc50c49
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 04:57:15 2009 +0000

    remove the AsmPrinter::printMCInst hook hack now that
    we have MCInstPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82006 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0390a18ad30aa3ed70d39b98ded744755434fde
Author: Shantonu Sen <ssen@apple.com>
Date:   Wed Sep 16 04:44:00 2009 +0000

    fix cmake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81999 91177308-0d34-0410-b5e6-96231b3b80d8

commit 253e466f7a96658151b4c89c871386ec401311a0
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 04:12:47 2009 +0000

    use an accessor to simplify code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 63715c73c20ed0358d5774bb481c9437fd234f54
Author: Nate Begeman <natebegeman@mac.com>
Date:   Wed Sep 16 03:20:46 2009 +0000

    Do not try and sink a load whose chain result has more than one use, when
    trying to create RMW opportunities in the x86 backend.  This can cause a
    cycle to appear in the graph, since the other uses may eventually feed into
    the TokenFactor we are sinking the load below.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81996 91177308-0d34-0410-b5e6-96231b3b80d8

commit 51b7a9968562cad4c543634dcf5b3e3ec1340611
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 02:57:13 2009 +0000

    Added the ENTER instruction, which sets up a stack
    frame, to the Intel instruction tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81995 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca503e043f3871c7dd5254613b505f0f0e36c361
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 02:28:43 2009 +0000

    Added the definitions for one-bit left shifts to
    the Intel instruction tables.

    The patterns will stay blank because ADD reg, reg
    is faster, but having the encoding available is
    useful for the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 37a534b8dca3f6890042845b8ebb50d47ffc2c08
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 16 02:01:52 2009 +0000

    Don't sink gep operators through phi nodes if the result would require
    more than one phi, since that leads to higher register pressure on
    entry to the phi. This is especially problematic when the phi is in
    a loop header, as it increases register pressure throughout the loop.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d64b2874ad916274fb18db31b1d898d58cb8076
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 01:54:38 2009 +0000

    Removed a few instructions that were already
    covered by other definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8886dc29cd311a78fd1f672904fd9a3af51c883c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 01:46:41 2009 +0000

    Big change #1 for personality function references:
    Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding
    fields from MAI: they aren't part of the asm syntax, they are
    related to the structure of the object file.

    To replace their functionality, add a new
    TLOF::getSymbolForDwarfGlobalReference method which asks targets
    to decide how to reference a global from EH in a pc-relative way.

    The default implementation just returns the symbol.  The default
    darwin implementation references the symbol through an indirect
    $non_lazy_ptr stub.  The bizarro x86-64 darwin specialization
    handles the weird "foo@GOTPCREL+4" hack.

    DwarfException.cpp now uses this to emit the reference to the
    symbol in the right way, and this also eliminates another
    horrible hack from DwarfException.cpp:

    -    if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
    -      O << "-" << MAI->getPCSymbol();

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73944d4e73d42ea7fcc2a3408c814a13c20c9b29
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 16 01:34:52 2009 +0000

    lit: Add a custom test format for use in clang.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81987 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0da556cc3eeeac05071458f1544ef7ee05b5b65
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 01:29:11 2009 +0000

    remove a dead variable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81985 91177308-0d34-0410-b5e6-96231b3b80d8

commit af90e3e1f69396d48d549d968e969d1d181ee4b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 01:26:31 2009 +0000

    add a helper method for creating MCSymbol and MCSymbolRefExpr at
    the same time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81984 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d5824cc4efb252b69c86e871e4835ece6e16975
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 16 01:13:52 2009 +0000

    Added a variety of floating-point and SSE instructions.
    All of these do not have patterns (they're for the
    disassembler).

    Many of the floating-point instructions will probably
    be rolled into definitions that have patterns, and may
    eventually be superseded by mdefs.  So I put them
    together and left a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81979 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57c76b5eea6a1b4202941a0c3e7d06f0a00c8485
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 00:35:39 2009 +0000

    inline AsmPrinter::getCurrentFunctionEHName into its only caller.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81970 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71dd44de32bd74e60887991c9f06ab3917229a52
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 16 00:32:15 2009 +0000

    Expand some more vector operations not supported by Neon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81969 91177308-0d34-0410-b5e6-96231b3b80d8

commit e25bbf679b89aa172316ec349b4a541db246fde1
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 00:24:31 2009 +0000

    remove a dead bool.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81968 91177308-0d34-0410-b5e6-96231b3b80d8

commit c54a0890ddc80c1d7efa21695fb3159ef1b57cf8
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 00:17:39 2009 +0000

    Eliminate AsmPrinter::EmitExternalGlobal, inlining its (now)
    one implementation into its one caller.  This eliminates a totally
    awesome and gratuitous hack where we casted a Function* to
    GlobalVariable*.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81967 91177308-0d34-0410-b5e6-96231b3b80d8

commit 098abb4f0f560ae8e2c2e649f7e16046740f3cda
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 16 00:17:28 2009 +0000

    Neon does not support vector divide or remainder.  Expand them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81966 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c7099069742b1fda9b8c3c7d513e67e566c6dbb
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 00:14:19 2009 +0000

    eliminate the PPC backend's implementation of EmitExternalGlobal
    and use PersonalityPrefix/Suffix to achieve the same effect (like
    the x86 backend).

    This changes the code generated for ppc static mode, but guess what,
    we were generating this before:

    	.byte	0x9B                                        ; Personality (indirect pcrel sdata4)
    	.long	___gxx_personality_v0-.                     ; Personality

    which is not correct! (it is not an 'indirect' reference).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81965 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5632fabd0a6e1f30e9cbbd6c2b6d3dce6dcc656a
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 00:08:41 2009 +0000

    eliminate the horrid AsmPrinter::getGlobalLinkName method, inlining
    it into all of its call sites and simplifying them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81962 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe0e2534a5b2b89019a3d0ed2b55b0acb5ae4498
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 16 00:08:07 2009 +0000

    simplify some code

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81961 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8fefa0a3f88ebd6f5e24617ca5d5fe7c4734ef9
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 15 23:55:57 2009 +0000

    Expand all v2f64 arithmetic operations for Neon.
    Radar 7200803.  (This should also fix the
    SingleSource/UnitTests/Vector/sumarray-dbl test.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81959 91177308-0d34-0410-b5e6-96231b3b80d8

commit dbaf51315fa3a150fca8aeed3e2b146d48749c9f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 15 23:40:07 2009 +0000

    Put back non-obsolete -f sections for 'opt'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81954 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7a01257a044b62d94b6a049eb0d682ad35015ba3
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Sep 15 23:37:51 2009 +0000

    Added far return instructions (that is, returns to
    code in other segments) to the Intel instruction
    tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d0329a368bc31e7129c92b2e1c38559793a48d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 23:11:32 2009 +0000

    remove some horrible MAI hooks which fortunately turn out to be always empty.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81946 91177308-0d34-0410-b5e6-96231b3b80d8

commit 451e8e6330161627a231f22d167d49dd0c374db8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 22:58:35 2009 +0000

    strength reduce a call to PrintRelDirective(true).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72ba67246b322935e03e118480c6b8c235669b35
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 22:44:26 2009 +0000

    add hooks to hang target-specific goop off MachineModuleInfo,
    move MachineFunctionInfo virtual method out of line to give it
    a home.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81940 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c9a0d70e34e1cc679f71bc5ca8e9554255b18d6
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Sep 15 22:30:11 2009 +0000

    Do not add the SVOffset to the Node CSE ID.  The same pointer argument cannot have different
    SVOffsets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81937 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1482ed20fd413149c26101b5e3741e6ffe7ecf4e
Author: Eric Christopher <echristo@apple.com>
Date:   Tue Sep 15 21:56:46 2009 +0000

    Expand on comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84df931976ddcf564c582d7385ec8ba305478ed7
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Sep 15 21:43:27 2009 +0000

    Updated comments per Eli's suggestion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81923 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3941cf7d66ec881570c0025013a9d70bcbfd1110
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 15 20:58:02 2009 +0000

    Convert more tests to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e7df0ef9db04445ae99dd1257213132b00d7010
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Sep 15 20:53:57 2009 +0000

    Added register-to-register ADD instructions to the
    Intel tables, where the source operand is
    specified by the R/M field and the destination
    operand by the Reg field.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81914 91177308-0d34-0410-b5e6-96231b3b80d8

commit 48f5114de937c031d43c91691806b04f55d35e2b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 15 20:31:46 2009 +0000

    Drop the raw_ostream required buffer size to 1.

     - As best I can tell, we have eliminated all the code which used to require a
       larger buffer size.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6dee039bc647d7ac37a135272648af92dec812e1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 15 20:31:35 2009 +0000

    Remove references to obsolete -f option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a2e0dfe5ec8c5fd8f15bb1f085d635708a7203c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 15 20:31:28 2009 +0000

    Update llc/opt PODs to clarify they support .ll input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81910 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef65e0c69530a1832ba84028c8a25096b41e5f04
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 15 20:31:12 2009 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91304e2755539fa6e746731028f25083ab09722f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 15 20:09:17 2009 +0000

    lit: When finding nested test suites, check first in the execpath in case there
    is a site configuration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81902 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2494777a2cb2e6e78713b12c0658523856b44ecb
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Sep 15 19:05:41 2009 +0000

    Better solution for tracking both the original alignment of the access, and the current alignment based
    on the source value offset.  This avoids increasing the size of mem nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81897 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb75cc9708004e58a40d63b3061b22b44a1c84b2
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 15 18:56:13 2009 +0000

    Correct comment pasto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81896 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad87a3af74f9e84f1092e2a97ce28a98deb77437
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Sep 15 18:47:29 2009 +0000

    Added a new register class for segment registers
    to the Intel register table.
    Added 16- and 64-bit MOVs to and from the segment
    registers to the Intel instruction tables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81895 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bf764bd78d33c4a1e1e0fc2dfdc72044ee70030
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Sep 15 18:32:14 2009 +0000

    Change the marker byte for stubs from 0xcd to 0xce (another form of
    interrupt instruction, which shouldn't arise any other way).  0xcd is
    also used by JITMemoryManager to initialize the buffer to garbage,
    which means it could appear following a noreturn call even when
    that is not a stub, confusing X86CompilationCallback2.  PR 4929.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81888 91177308-0d34-0410-b5e6-96231b3b80d8

commit d32037b8c08567c1b4e544cec0b3962f9172ae54
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 18:27:02 2009 +0000

    fix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement
    values to machineinstrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81886 91177308-0d34-0410-b5e6-96231b3b80d8

commit fae4dc746dee18665ac310518148c503373eadd4
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 18:23:37 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81884 91177308-0d34-0410-b5e6-96231b3b80d8

commit e22ad00d2c41cf95d58c05978b106cadd08d0fcc
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 18:23:23 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81882 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29af822131334c1b2507844c4807ba7852390fb0
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 18:03:13 2009 +0000

    add missing file

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19f0725ebd200ab818b0431a64943eebf61c794d
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 15 17:56:18 2009 +0000

    Handle AddrMode4 for Thumb2 in rewriteT2FrameIndex.  This occurs for
    VLDM/VSTM instructions, and without this check, the code assumes that an
    offset is allowed, as it would be with VLDR/VSTR.  The asm printer,
    however, silently drops the offset, producing incorrect code.  Since the
    address register in this case is either the stack or frame pointer, the
    spill location ends up conflicting with some other stack slot or with
    outgoing arguments on the stack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81879 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe9c3803a79895c50881154a3a381f61692e13ae
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Tue Sep 15 17:53:11 2009 +0000

    Fix superreg use in ARMAsmPrinter. Approved by Anton Korobeynikov.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81878 91177308-0d34-0410-b5e6-96231b3b80d8

commit 49102def1108f7c206537893c0ad47d359d00883
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 17:46:24 2009 +0000

    several major improvements to the sparc backend: support for weak linkage
    and PIC codegen.  Patch by Venkatraman Govindaraju!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81877 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03dd9bb9a759b3cc6c658910a3923f8fb869e2fd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 16:14:44 2009 +0000

    Teach ValueTracking how to look through GlobalAliases. GlobalAliases are
    not folded in the constant folder because the constant folder doesn't
    simplify ConstantExpr operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81864 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b1760f8c98ea4893ee8a9a97c351adf9a377219
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 16:00:30 2009 +0000

    Fix an accidental inversion of the inbounds flag.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81862 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72444efbd46645993821a5167411656371e995b1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 15:58:07 2009 +0000

    When a constant's type is refined, update the constant in place
    instead of cloning and RAUWing it.

     - Make AbstractTypeUser a friend of Value so that it can offer
       its subclasses a way to update a Value's type in place. This
       is better than a universally visible setType method on Value,
       and it's sufficient for the immediate need.

     - Eliminate the constant "convert" functions. This eliminates a
       lot of logic duplication, and fixes a complicated bug where a
       constant can't actually be cloned during the type refinement
       process because some of the types that its folder needs are
       half-destroyed, being in the middle of refinement themselves.

     - Move the getValType functions from being static overloaded
       functions in Constants.cpp to be members of class template
       specializations in ConstantsContext.h. This means that the
       code ends up getting instantiated twice, however it also
       makes it possible to eliminate all "convert" functions, so
       it's not a big net code size increase. And if desired, the
       duplicate instantiations could be eliminated with some
       reorganization.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81861 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0682a468f8ced6a32d618480ce6ee3367cfaecc4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 15:38:31 2009 +0000

    Use llvm-link -S instead of using llvm-dis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81860 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5939a47767d82e5d4d108c258b7f2320e30bc81
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 15:35:07 2009 +0000

    Give llvm-link a -S option.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81859 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97b59da0a82c96d077a36f4e4a4417529d0e060c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 15:33:42 2009 +0000

    Don't bother using a PassManager just to print a Module.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43dcc4032dde26fad0276e724095b3f37853c6da
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 15:09:54 2009 +0000

    Restore a comment that was lost in the merge.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95bb35e9ba16fcbff3d32a0e32d43f876203d172
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 15:08:33 2009 +0000

    Fix apostrophos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81856 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93a8e411672c28483ba69f42ad33746adedb7195
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 15 07:08:25 2009 +0000

    Add more newlines to make up for the ones removed from the end of instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81851 91177308-0d34-0410-b5e6-96231b3b80d8

commit 527a06706f7a5582eb5ef4dbe1bd2cb2b893f5a0
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 15 07:05:12 2009 +0000

    Forgot this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81850 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a48b00dc985aaf83b11bf1c6b31ccd4ba49ede6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 15 06:45:16 2009 +0000

    Another try at early partial coalescing. Identity phi source copies (their sources are defined by phi join def) are coalesced. And the phi join copy is backward copy propagated into the other copies.

    Still miscompiling some tests. :-(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81849 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9983d964324ffc3bba0d3dd128453d7e49af3c3d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 06:34:29 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81848 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1208609ee4d18b2c0adaf860b72d0b2d5fd43d4
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 15 06:28:26 2009 +0000

    Forbid arrays of function-type and structures with function-typed fields.

    While I'm there, change code that does:
      SomeTy == Type::getFooType(Context)
    into:
      SomeTy->getTypeID() == FooTyID
    to decrease the amount of useless type creation which may involve locking, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81846 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0ecef80afbd600d9004952bce40b55da78b4a78
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 06:28:12 2009 +0000

    fix PR4963: folding insertvalue would sometimes turn a packed struct into
    an unpacked one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81845 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69177fbaef43d051fcc9a84184b2884f41765c6b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 05:40:35 2009 +0000

    add a new CallGraphNode::replaceCallEdge method and use it from
    argpromote to avoid invalidating an iterator.  This fixes PR4977.
    All clang tests now pass with expensive checking (on my system
    at least).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81843 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5957ef5d5226035be8d48b37260bcef1b171a288
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 05:14:57 2009 +0000

    add newline to debug dump

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81840 91177308-0d34-0410-b5e6-96231b3b80d8

commit a6001e21c43647daff2d81359cb3e9e8c0f0843e
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 05:03:04 2009 +0000

    make -debug-pass=Executions show information about what call graph nodes
    are in the SCC for each execution of a CGSCC pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81838 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8e3ba7439fb15df005a3125b0b9b6f51ea2697c9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 04:45:26 2009 +0000

    add some missing quotes in debug output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81836 91177308-0d34-0410-b5e6-96231b3b80d8

commit d2d16acc4549ed7c075425a1337cc2a3b953f52c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 04:37:49 2009 +0000

    switch scciterator to use DenseMap instead of std::map

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81834 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47fbf883bdac3403a5584be5ec476f11f083fa7f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 04:27:29 2009 +0000

    this is failing on linux hosts, force a triple.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81833 91177308-0d34-0410-b5e6-96231b3b80d8

commit a045a696be25f2dec8969a68283582b33d660aae
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Sep 15 04:06:36 2009 +0000

    Remove invalid add_dependencies line to unbreak the CMake build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5083953c49cfb42b74a512d6b876340cdb958733
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 15 03:39:45 2009 +0000

    Get rid of GetProcessId in Win32/Program.inc.

    GetProcessId was introduced only in XP. As a bonus, this change makes Program
    objects copyable, since Program is now basically a PID.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81826 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f21ba08e546e678bd6cc4c6efd66040507d8050
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 02:27:23 2009 +0000

    merge one more in.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81824 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd42dc82ecfb2d3ec5a138e3dbf7c5249dac3b7d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 02:25:21 2009 +0000

    merge some more cmov tests into cmov.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81823 91177308-0d34-0410-b5e6-96231b3b80d8

commit e8e2cc606cea71cfc40728aae2906ac85b4d2c7d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 15 02:22:47 2009 +0000

    merge two cmov tests into one.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81822 91177308-0d34-0410-b5e6-96231b3b80d8

commit cbe5a493d522295f64e80d1dafd99360ebec7a99
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 01:22:01 2009 +0000

    Don't pull a load through a callseq_start if the load's chain
    has multiple uses, as one of the other uses may be on a path
    to a different node above the callseq_start, because that
    leads to a cyclic graph. This problem is exposed when
    -combiner-global-alias-analysis is used. This fixes PR4880.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81821 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6647b934fcb19a24d6eb7a07750ce292d79205c3
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Sep 15 00:38:09 2009 +0000

    Remove incorrect CSE code from r81813.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81819 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7e7339c1e4bac5679c7a2e3b46f15d1460882c4
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Sep 15 00:35:17 2009 +0000

    Modified the Intel instruction tables to include
    versions of CALL and JMP with segmented addresses
    provided in-line, as pairs of immediates.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81818 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d711a3d76b29a8b13ec316c81d0161df47818ce
Author: Kevin Enderby <enderby@apple.com>
Date:   Tue Sep 15 00:27:25 2009 +0000

    Added the first bits of the ARM target assembler to llvm-mc.  For now it only
    parses the .word directive as 4 bytes and ARMAsmParser::ParseInstruction will
    give an error is called.  Broke out the test of the .word directive into two
    different test cases, one for x86 and one for arm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81817 91177308-0d34-0410-b5e6-96231b3b80d8

commit 722f41892d746e32e0456a8e90640be7b93b4175
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Sep 15 00:18:30 2009 +0000

    Substantially speed up combiner-aa in the following ways:

    1. Switch from an std::set to a SmallPtrSet for visited chain nodes.
    2. Do not force the recursive flattening of token factor nodes, regardless of
       use count.
    3. Immediately process newly created TokenFactor nodes.

    Also, improve combiner-aa by teaching it that loads to non-overlapping offsets
    of relatively aligned objects cannot alias.

    These changes result in a >5x speedup for combiner-aa on most testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81816 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e1b9b6fc8c9553b28a676fda614db3d057aa368
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Sep 15 00:14:28 2009 +0000

    Teach the legalizer to propagate the original alignment of loads and store when
    it splits them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81815 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d38ee448663aae93e51b96d0fab617e191e6a80
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 15 00:14:11 2009 +0000

    On x86-64, the 32-bit cmov doesn't actually clear the high 32-bit of
    its result if the condition is false.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81814 91177308-0d34-0410-b5e6-96231b3b80d8

commit e22356dcb8d97062576619c5419a1140c76059dd
Author: Nate Begeman <natebegeman@mac.com>
Date:   Tue Sep 15 00:13:12 2009 +0000

    Add an "original alignment" field to load and store nodes.  This enables the
    DAG Combiner to disambiguate chains for loads and stores of types which are
     broken up by the Legalizer into smaller pieces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81813 91177308-0d34-0410-b5e6-96231b3b80d8

commit a5e04816bd3e055c1ac97cc22a2035883ec763c6
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 14 23:39:10 2009 +0000

    When extending a memset range past the front, set the alignment of the
    memset region to the alignment of the new start address.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81810 91177308-0d34-0410-b5e6-96231b3b80d8

commit 713985a2dff2024cc0544f497714e239a01a6251
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Sep 14 21:54:32 2009 +0000

    Expose initializing the native target for the execution engine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81800 91177308-0d34-0410-b5e6-96231b3b80d8

commit f161b718f66f519f5fd348ec4619a1d928f25809
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Mon Sep 14 21:54:15 2009 +0000

    Make sure to initialize the fpm in the ocaml tutorial.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81799 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95320818705e1a8a2ec6e0eaf009695c7b36630e
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Sep 14 21:33:42 2009 +0000

    Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this.

    The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81796 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3380dd66fb6f3cedf9fe83f56c8680802bfaf4cb
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Sep 14 20:52:37 2009 +0000

    Pull the creation of the "RewindFunction" function out of the loop. It's only
    created once, so shouldn't be stuck in the middle of the loop. Also early exit
    if there are no uses of UnwindInst in the function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81785 91177308-0d34-0410-b5e6-96231b3b80d8

commit 35d089b52ad103aedfe249070244d6bdf0ed7039
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 14 20:40:10 2009 +0000

    Update a comment to match the source. PseudoSourceValues are now
    obtained via accessor functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81782 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3107c9ecfee9c403e89e3d5eccbc00d1099fc151
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Sep 14 17:27:35 2009 +0000

    trivial whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9105aa9a9dc9f159335af3ff23b9f1f13f208069
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 16:49:26 2009 +0000

    add PR#

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81770 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ab1d2e843fe3ce1ed9f135335e9ba92f72912b6
Author: Eric Christopher <echristo@apple.com>
Date:   Mon Sep 14 16:38:49 2009 +0000

    Enable the jit for llvm-config.

    Patch by Xerxes Rånby!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81768 91177308-0d34-0410-b5e6-96231b3b80d8

commit c662a414b78029f6716f128ae926333a77aaecd3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 16:10:32 2009 +0000

    Add a valgrind suppressions file for x86_64/linux/4.3.3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81766 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dbc0054b4e16f3d94c8009b5d510c3753ed7ca2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 15:27:43 2009 +0000

    Add a VALGRIND_EXTRA_ARGS makefile variable, with the obvious semantics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6c3b4e242e24ed183d4561ce5a8222b441893698
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 05:22:54 2009 +0000

    Update CMake dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81758 91177308-0d34-0410-b5e6-96231b3b80d8

commit a303520a98b34359e350878fa54c91d314fc0dac
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 05:22:47 2009 +0000

    Update CMake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81757 91177308-0d34-0410-b5e6-96231b3b80d8

commit da5fb6d704adbe833dcf16d12398a87a5af8d01e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 03:15:54 2009 +0000

    PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81755 91177308-0d34-0410-b5e6-96231b3b80d8

commit a835afd084f0e1c9ce65902b24eac79921547c79
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 03:02:37 2009 +0000

    Change MCAsmStreamer to take an MCInstPrinter instead of a
    full AsmPrinter, and change TargetRegistry to keep track
    of registered MCInstPrinters.

    llvm-mc is still linking in the entire
    target foo to get the code emitter stuff, but this is an
    important step in the right direction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81754 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2eadb171aaa638fa18a7f8ddcb4e9bc22a0fad8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 02:39:01 2009 +0000

    Teach 'make check-lit' to run unittests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81753 91177308-0d34-0410-b5e6-96231b3b80d8

commit e4fe594178a8ee98db0588bfb06d50916cdebc21
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 02:38:53 2009 +0000

    Attempt to fix some 4.0.0 build warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81752 91177308-0d34-0410-b5e6-96231b3b80d8

commit 160f351b7f90ebedb6ef137ea020989769963b98
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 14 02:38:46 2009 +0000

    lit: Give test formats control over test discovery.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81751 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffe6f6bed8d8b1a5e56088fd13b1f05f68c28051
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Sep 14 02:25:34 2009 +0000

    Fix a pair of comment typos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81750 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5aab63425cb839d86e7ab908d5fc68f27c3b3b3d
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Sep 14 02:25:19 2009 +0000

    Fifth time's a charm! Remove ourselves as abstract type listeners once we've
    been told that the type is no longer abstract.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81749 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6eb694f39d6edf0cfa3be954776f13d2e959a13
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:49:26 2009 +0000

    Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinter
    be a MCInstPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3698084edee8995c957027958dd61a0d27e79849
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:43:38 2009 +0000

    add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81745 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5ec814dc4fd6e24fdbec8d092d4e9ba0c21d6dac
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:34:40 2009 +0000

    tidy up a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81744 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3f01e21df1740df29a8fbf30f16dca9bae44711
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:27:50 2009 +0000

    slightly increase prettiness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81742 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ccbf08d37a60fb1d5f288ce4043f3f66d0822ed
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:26:18 2009 +0000

    emit the register table as a massive string to avoid relocations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81741 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7437911091faa98a519d2fbb16fd13e207708be1
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:19:16 2009 +0000

    move StringToOffsetTable out to its own header.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81740 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07cb8119f076f45883139ccc1d4a9c283e69966e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 14 01:16:36 2009 +0000

    factor string table generation out to its own class.  This changes
    the encoding of the AsmStrs table saving a byte or two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81739 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6db52a9bdf56bb5b0ae38cbf3b37a35102144ff
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Sep 14 00:36:52 2009 +0000

    Don't leak! Always remove oneself as a listener after adding oneself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81736 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f0d71da30b9523150a0287745e609d3b481be01
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 13 23:45:39 2009 +0000

    Actually remove old types from the set.

    Also break the type verification stuff into its own TypeSet to keep the
    Verifier pass from becoming an AbstractTypeUser.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 826ed7a271c9a966d58a379acdf492fa40c5ffb0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 22:45:04 2009 +0000

    eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81728 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00512f63d4d10e60ae18c8b46392ce49e663f0bd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 22:42:03 2009 +0000

    kill off the last use of TRI::AsmName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1063d2402ec84d31cf67eaae00cda4822ba35b56
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 22:41:48 2009 +0000

    add some special case handling for strangely named x86 registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f1c655d38daf554042502391aac0b873d6d4d75
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 22:39:27 2009 +0000

    Build (not test) the unittests as part of a normal build.
     - 'make unittests' still builds and tests.
     - 'make unitcheck' inside a unittest directory runs the tests in that directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81725 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84c0c9a5d338d233548b6f4bc8a81dcd47744be5
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 22:28:17 2009 +0000

    unbreak this test by working around an asmparser bug.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98544f744488e29f215a07888500ec59e9fb490a
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 22:24:34 2009 +0000

    'printMCInst' doesn't print newlines after instructions anymore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81723 91177308-0d34-0410-b5e6-96231b3b80d8

commit 453222b9fee0a048540a832ecab293dff2751c9c
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Sun Sep 13 22:18:38 2009 +0000

    CMake: New user-settable variable LLVM_TARGET_ARCH useful when
    cross-compiling.

    Patch by Xerxes Rånby!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81722 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d2eab68c04d4b93330a22469a650f7fdaadfbb2
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 13 21:38:54 2009 +0000

    Update the tutorial to match changes to examples/Kaleidoscope.

    One change I'm not folding in is the removal of two unused variables that
    caused warnings, because those were there for expository purposes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81721 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7909eefe08511c595d7dc8b586abec9c65f2e1f8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 21:31:21 2009 +0000

    Move unittest driver to utils/unittest/UnitTestMain.
     - This eliminates a race between building the unittests and linking the
       UnitTestMain library.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81719 91177308-0d34-0410-b5e6-96231b3b80d8

commit 435de3991f951fdaf77395572f740b7483662a91
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 21:31:07 2009 +0000

    Remove unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81718 91177308-0d34-0410-b5e6-96231b3b80d8

commit c904d5b8a23fc2ac8181b0e261f0f3292f379721
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sun Sep 13 21:07:59 2009 +0000

    Storing a set of PATypeHolders is a bad idea because their sort order will
    change as types are refined. Remove abstract types from CheckedTypes when they
    we're informed that they have been refined. The only way types get refined in
    the verifier is when later function passes start optimizing. Fixes PR4970.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81716 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0a25de172e71282bba275a51ce75849e5407f8b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 20:31:40 2009 +0000

    remove all but one reference to TargetRegisterDesc::AsmName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81714 91177308-0d34-0410-b5e6-96231b3b80d8

commit 213703ced9eeaa585c06387ae3c643ea4701462e
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 20:19:22 2009 +0000

    the tblgen produced 'getRegisterName' method does not access
    the object, make it static instead of const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81711 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec219616d65bf4057d0c4509708b31f7979f7ad6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 20:15:16 2009 +0000

    switch the x86 asmprinters to use getRegisterName instead
    of getting it from TRI, inst printing now is codegen context
    free!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81710 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0288aeed1baf069135de8bc028e1c82efae7316e
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Sun Sep 13 20:14:57 2009 +0000

    Fix a small issue with recent changes to this code.

    The 'false.c' file wasn't being used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81709 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9222169c3ad7e619d1a8ab155b7a1118182c3c34
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 20:08:00 2009 +0000

    make tblgen produce a function that returns the name for a physreg.
    Nothing is using this info yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 28f7e3506ee1779753939d87c2ce4e1a2f19e9c0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 19:48:37 2009 +0000

    eliminate an extraneous use of TRI::getAsmName in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4957efed4f96e7af2efbcba4f5a6b3a6f255c795
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 19:44:38 2009 +0000

    make intel asmprinter use TRI::getAsmName instead of TRI::getName like
    all the other targets.  Add support for weak/linkonce linkage so it doesn't
    crash on basically all nontrivial testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81704 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59a6e61b92fa4a02cd9a68b5b6e4e63dee2ff524
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 19:30:11 2009 +0000

    split MCInst printing out of the X86ATTInstPrinter
    class into its own X86ATTInstPrinter class.  The inst
    printer now has just one dependence on the code generator
    (TRI).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81703 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1c1268be8e349ed9ed5e8012fced58b60da23e2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 19:10:08 2009 +0000

    reduce indentation with early exit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6f9b24922a442ab59668c859697e2f1b501eb46f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 19:03:08 2009 +0000

    second part to r81695, I missed a directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 149495f84e67c353295dd54c4ca92ccd0fd3c1ef
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 19:02:16 2009 +0000

    remove MAI::JumpTableSpecialLabelPrefix now that MAI
    has real information about linker private linkage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81695 91177308-0d34-0410-b5e6-96231b3b80d8

commit 893e8843309b5ca688046b1d11bc7f71eb5fc2a8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 18:58:14 2009 +0000

    Revert unittests build changes temporarily, the unit test build isn't -j safe.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81692 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7e659812c8d34377bc4d9516f1a116ccec4f073f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 18:50:22 2009 +0000

    delete the fixme too! :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81689 91177308-0d34-0410-b5e6-96231b3b80d8

commit e82fd5e49c2bcf148abe7b8e066076020944505c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 18:46:37 2009 +0000

    merge the linux cpool/jtbl pic tests into pic.ll and convert to filecheck.

    Change the picbase symbol on non-darwin systems from ".Lllvm$4.$piclabel" to
    ".L4$pb".  The actual name doesn't matter and the darwin name is shorter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81688 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9b41b2da218ae60316e2bbb39bda56bcca893e21
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 18:43:46 2009 +0000

    Build (not test) the unittests as part of a normal build.
     - 'make unittests' still builds and tests.
     - 'make unitcheck' inside a unittest directory runs the tests in that directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81687 91177308-0d34-0410-b5e6-96231b3b80d8

commit b47f641f55f98d8ffecf935616fbe8f407a6c47b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 18:33:59 2009 +0000

    make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81685 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2faa4ef57551d45e7b58b1827ae8156cea221637
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 18:25:37 2009 +0000

    replace printBasicBlockLabel with EmitBasicBlockStart,
    now that printBasicBlockLabel is only used for starting
    a MBB.  This allows elimination of a bunch of arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81684 91177308-0d34-0410-b5e6-96231b3b80d8

commit adfec708f335a7ea93d685ae753f74a53ca05b83
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 18:11:09 2009 +0000

    fix MCSymbol printing on darwin to exactly match the mangler (handling of \n and " in a symbol name).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81683 91177308-0d34-0410-b5e6-96231b3b80d8

commit e66b5a5946e9737b7a230ba903779f4c9d15c542
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 18:04:46 2009 +0000

    Make the MC symbol printer and llvm::Mangler exactly agree on mangling
    for systems that don't support quoting (PR4966).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 126c8fe046bc70bf4289cf3d7889abc0bf0176a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 17:25:49 2009 +0000

    remove two docs about the old Sparc backend which used Value*'s for vregs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5027fd9cf5243d58fdacd2c37ac2dc498bdea6fd
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 17:24:16 2009 +0000

    move old clang readme here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81679 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6f802dd7f346ac5a44bbdc57d264ed928fe1e7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Sep 13 17:14:04 2009 +0000

    convert some uses of printBasicBlockLabel to use GetMBBSymbol
    instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81677 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7f5f33b5ea2e756e9dd3df83c8924304ac317e4b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 02:45:57 2009 +0000

    Add LLVMGCCBINDIR to path, since LLVMC expects to find llvm-gcc in the path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81669 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72a7ef551f36b66d339c6c0d91a99d6301ec872c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:41:47 2009 +0000

    Switch Ocaml to use llvm_supports_binding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81665 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3324882bda68403c4723a6856f937320c3428849
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:41:18 2009 +0000

    tests: Add llvm_supports_binding predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81664 91177308-0d34-0410-b5e6-96231b3b80d8

commit 282ae0b0efbe5ce5ce81c00cb4d89e813b78efc6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:40:48 2009 +0000

    tests: Use %abs_tmp instead of ./%t to make these tests portable to 'lit'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81663 91177308-0d34-0410-b5e6-96231b3b80d8

commit c46101cd59d21edd7614d3c2ad57119baebf0db4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:39:50 2009 +0000

    tests: Add a %abs_tmp substitution which is guaranteed to be a full path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81662 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61e88aec10e345617c054125c4fdfdc7a692be47
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:39:08 2009 +0000

    Sink llvm-gcc dependent tests into distinct subdirs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81661 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8b6d1e38583dc7932d23c4803c223f54d79248dd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:37:07 2009 +0000

    Rewrite tests to not use Tcl substitution.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81660 91177308-0d34-0410-b5e6-96231b3b80d8

commit 458d03ea01aa32891785347005f83ccf3944728a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 13 01:36:19 2009 +0000

    Simplify LLVMC tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81659 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02791b0d5c7fe12bf1ada874da30dd5d0440bc98
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Sep 13 01:12:15 2009 +0000

    Fix merge problem

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81658 91177308-0d34-0410-b5e6-96231b3b80d8

commit daf700156a4b1aec6f85be6f611f2f949b154f75
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Sep 13 00:59:43 2009 +0000

    Define proper subreg sets for arm - this should fix bunch of subtle problems
    with subreg - superreg mapping and also fix PR4965.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81657 91177308-0d34-0410-b5e6-96231b3b80d8

commit b10a5950be94fe5cabce5d6d269bc37dc55bdd41
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 12 23:45:47 2009 +0000

    Add -mattr=+sse2 to the -march=x86 version of this test. Without
    sse, this code falls back to SelectionDAG isel which uses an x87
    instruction, which is fine, but not what this test is testing for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b03709c07c801d218f32e90bb5a77dcaf999474
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 12 23:29:02 2009 +0000

    Experimental fix for PR4960.
     - Could we just always implement this as __clear_cache for __GNUC__?

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81655 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08c9708a8aed7028c5e3126d2d680ee1ffb4af9f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 23:02:08 2009 +0000

    devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
    Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that
    we only have one place that decides what to name bb labels.  Hopefully various
    clients of printBasicBlockLabel can start using GetMBBSymbol instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69f872cbd1278b340ac8ebb23edd441cd2a0c4da
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 22:57:37 2009 +0000

    we don't want people to override printBasicBlockLabel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81651 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1df5fea30bfd9fc1b9691dab547277aba769dcd
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 12 22:24:25 2009 +0000

    Remove unnecessary #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81636 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3600d16e551d4b49d3d8df86d5c90061804d5c7f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Sep 12 22:21:08 2009 +0000

    Add QPR_VFP2 regclass and add copy_to_regclass nodes, where needed to
    constraint the register usage.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81635 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2e096380d8ea7bd7cb5a47b66a9fa17ef34e365
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 12 22:02:17 2009 +0000

    Preserve the inbounds flag, so that the constant folder doesn't
    recompute it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81634 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07f468d98bf62faf754bc2c72cca515e8b6c9079
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 12 21:56:48 2009 +0000

    Fix the build when DEBUG_SYMBOL_TABLE is set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81633 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f7a156181caf332944bcd5283cf25e074bdc51e
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Sep 12 21:55:12 2009 +0000

    Convert llvm-link to IRReader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81632 91177308-0d34-0410-b5e6-96231b3b80d8

commit da044747519b98d6579c6fd0638c863ee3506cb3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 21:06:08 2009 +0000

    factor MBB label lowering better

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6874849b9aa710a542b2263e335bd9fe8e073d0b
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 21:01:20 2009 +0000

    X86MCInstLower::Lower should only not emit anything to OutStreamer,
    this means that it can only lower one MachineInstr to one MCInst.  To
    make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS
    (which generates an implicit label) out of X86MCInstLower.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81629 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34461fde24e25c4c789b719f16483367ef125e5c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 20:45:03 2009 +0000

    eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for
    MBB labels like everything else.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81628 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1efc2adff3c3193bf402c9167cc3b06ec582a875
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 20:34:57 2009 +0000

    split MachineInstr -> MCInst lowering into its own class (not
    being embedded into X86ATTAsmPrinter).  This still depends heavily
    on X86ATTAsmPrinter, but this is a step in the right direction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81627 91177308-0d34-0410-b5e6-96231b3b80d8

commit a16d146018dbdd8e840db89dae3a4c6fcf8aa947
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 20:01:36 2009 +0000

    remove the "old" at&t style asmprinter.  Unfortunately, most of the
    operand printing crapola cannot be removed yet because it is used by
    the inline asm print stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81626 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58831094f223f49d8fee7413d8ac5933599e4a40
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Sep 12 04:54:18 2009 +0000

    Whoops. Committed the headers for r81605 - 'Moved some more index operations over to LiveIntervals.'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81609 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a7b3b261e96625d4fff876dbb859dec67e4c04e
Author: Lang Hames <lhames@gmail.com>
Date:   Sat Sep 12 03:34:03 2009 +0000

    Moved some more index operations over to LiveIntervals.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c2313a5e064b39cdbad9b0de471c722d800318a
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Sep 12 02:52:41 2009 +0000

    Added the WAIT instruction to the Intel tables,
    for the purposes of the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25220d648e0af4f977a0ff96fd6fabcf4e45ddb2
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Sep 12 02:25:20 2009 +0000

    Added CMPS (string comparison) instructions for all
    operand widths to the Intel instruction tables, for
    the purposes of the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81601 91177308-0d34-0410-b5e6-96231b3b80d8

commit d0d3ee158facc0f354906b1e5559b73ce0fd20e7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 12 02:14:41 2009 +0000

    Remove -new-coalescer-heuristic. It's not useful.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81600 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16c2f62b7c53316702d1ad99d7c33a08f5f5ced7
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sat Sep 12 02:01:07 2009 +0000

    80 col violations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f74d67bcb2ebcb53e4ad66c05bdc668a0859542
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 01:11:50 2009 +0000

    fix another GCC bootstrap problem, which manifested as things
    like:
    foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb"

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81596 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34184c9a753003dd6161e5f4f8770e906996621d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sat Sep 12 00:49:00 2009 +0000

    fix an embarassing typo that resulted in llvm-gcc bootstrap miscompare
    because the sorting wasn't sorting.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 481f06df77485baab41d3facb6eb9903ee1b1b13
Author: Sean Callanan <scallanan@apple.com>
Date:   Sat Sep 12 00:37:19 2009 +0000

    Added SCAS instructions in their 8, 16, 32, and
    64-bit variants for the disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81591 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d13e71bb592c47f214eefc3cfdc016b12ff6396
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 11 22:07:31 2009 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81580 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cc7539863622c30066b5110a48827dfd55675e8
Author: Ted Kremenek <kremenek@apple.com>
Date:   Fri Sep 11 21:49:45 2009 +0000

    Update CMake files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81577 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3996be16362bda84e8975ac6aef9f36358cad869
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Fri Sep 11 21:26:24 2009 +0000

    De-bork CMake build. llvm-extract depends on asmparser

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81574 91177308-0d34-0410-b5e6-96231b3b80d8

commit 31b20c7d4a2789da21fe865cc5e7cfa3f6fdd581
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 20:46:33 2009 +0000

    Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
    working. To support this, add an is_displayed() function to raw_ostream,
    and generalize Process::StandardOutIsDisplayed and friends in order to
    support it.

    Also, call RemoveFileOnSignal before creating a file instead of after, so
    that the file isn't left behind if the program is interrupted between when
    the file is created and RemoveFileOnSignal is called.

    While here, add a -S to llvm-extract and port it to IRReader so that it
    supports assembly input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b01f934c23227abf954e317b5b65cc77f38c21d
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 11 20:13:17 2009 +0000

    Revert array initialization regclass change so that the initialization stays static, not runtime.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81560 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21f15abfa99b786925bb1b36717b454ac800251b
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 11 19:49:06 2009 +0000

    Update register class references to use the global constant ARM::*RegisterClass names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81556 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8562bef1079463f9d3027bd6cfb688e99298bede
Author: Sean Callanan <scallanan@apple.com>
Date:   Fri Sep 11 19:01:56 2009 +0000

    Added ADC, SUB, SBB, and OR instructions that operate
    on rAX and an immediate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81551 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53fac396f5ba849f8837234584303c72fd229747
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 11 18:42:18 2009 +0000

    Fix pr4820: Don't run llvm-config during "make clean" since it may have
    already been removed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81547 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8d8e16bb62905b1b14aea9481c4d085bf1c02796
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 18:41:06 2009 +0000

    Remove an unnecessary -f.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81546 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0cb2f6731090cfc8b56679c7802983d16a21fd92
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 18:36:27 2009 +0000

    Convert more tests to avoid llvm-as.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81545 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb9fe84e889c35f2010090c5d0d13198b57c3327
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 18:33:44 2009 +0000

    fix pasto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81544 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9da96d8044dc814a45010e9f78af212c189cc447
Author: Caroline Tice <ctice@apple.com>
Date:   Fri Sep 11 18:25:54 2009 +0000

    Don't generate Dwarf line table entries for source line 0.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81542 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ee2ec58cab5d4aa340aa50f67af4cd99ef184b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 18:20:26 2009 +0000

    fix some fixmes: emit stubs in sorted order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81541 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66c8021be5351d77c0d1cd8dd52f694ad837b741
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 18:17:12 2009 +0000

    Eliminate more redundant llvm-as calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81540 91177308-0d34-0410-b5e6-96231b3b80d8

commit 869beecde3919f7332925a43c336778be770d3b5
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 18:16:43 2009 +0000

    Fix this test to test what it was originally intended to test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3054c0f431010e796b0328150f93aa000f06e863
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 18:15:46 2009 +0000

    give densemap iterators real iterator traits.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81538 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c7d3083e7c99a22ee4803048dfb86c7a57b1006
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 18:01:28 2009 +0000

    Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
    input filename so that opt doesn't print the input filename in the
    output so that grep lines in the tests don't unintentionally match
    strings in the input filename.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8

commit a24946acb21bffc40e9054f7ac25eb9319b406d8
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Sep 11 17:24:29 2009 +0000

    Fix PR4948 (and a leak): by not destroying the DwarfException
    object, the timer it creates was not being deleted.  Since the
    timer belonged to a static timer group, the timer group would
    be destroyed on shutdown, and would notice and complain that
    not all timers it contained were destroyed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6cd70ca0ab41c5eab214b92689b072f3fe53bb37
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 17:07:27 2009 +0000

    turn on -experimental-asm-printer for x86 / AT&T by default.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81532 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe7ed54bd19fceebdf98f3420567afacf9674904
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 17:07:01 2009 +0000

    another random update

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81531 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9f609938abc0aa496f65cec8baaccca78b4af81
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 17:05:29 2009 +0000

    reject attempts to take the address of an intrinsic, PR4949.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9a8e2f2f2b6fc5e9c6122ab1539d56ef2198577d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 17:02:12 2009 +0000

    fix a bunch of spurious failures for people whose home directory
    is sabre.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c4ea8fe60cd502437e00f7e5a402329aaef79f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 16:49:18 2009 +0000

    this test is using invalid "intrinsics".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81527 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3ad76ad92f6abf6d251e1dfa240c64c19e5bf90
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 16:47:41 2009 +0000

    fix test to not get a moduleid that matches 'br'

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81526 91177308-0d34-0410-b5e6-96231b3b80d8

commit 099640405eda144320bed8acb8db97153779100a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 16:33:58 2009 +0000

    default construct MCInst's ctor to 0, which is "PHI" which is invalid for MCInsts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81525 91177308-0d34-0410-b5e6-96231b3b80d8

commit d11bf276c72fb90393a1c8e04ca6ba25553d5739
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 11 15:47:24 2009 +0000

    ... and fix the REQUIRES_RTTI condition.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7985717063d5538f40b90c688f7da9ba8f8c2bf8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 11 15:45:13 2009 +0000

    Fix REQUIRES_RTTI while awake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81523 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e12b8277f6064a999129a526587d8e7378cb2f3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 11 15:39:39 2009 +0000

    Make REQUIRES_RTTI work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81522 91177308-0d34-0410-b5e6-96231b3b80d8

commit f207074410fd77ba40ef110b17a6442b42aed6f1
Author: Owen Anderson <resistor@mac.com>
Date:   Fri Sep 11 09:01:57 2009 +0000

    Eliminate some unnecessary implicit constructors in generated DAG ISel code.

    Partial fix for PR4946.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81518 91177308-0d34-0410-b5e6-96231b3b80d8

commit c88e8254682141c4155c39a021038ea7c0c40cdd
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Sep 11 08:43:15 2009 +0000

    Bugfix. Sorry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2634e55f8a73b58ee7399bf55e1cbc21457d3c50
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Sep 11 08:39:33 2009 +0000

    Make ProfileEstimator even more robust on general CFGs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67e71746b1a96204a9f43688df0115f6fc731bfe
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 07:03:20 2009 +0000

    switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring FnStubs and GVStubs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81514 91177308-0d34-0410-b5e6-96231b3b80d8

commit d17abcab0f6c1ccf446a4447a269d1b2709700f8
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 06:59:18 2009 +0000

    Fix a bug I introduced in FnStubs generation, switch GVStubs to be a
    densemap instead of StringMap to match FnStubs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25c61740e62d7ea5191b0d81da96102a266ef6c7
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 06:36:33 2009 +0000

    change FnStubs from being a StringMap<std::string> to being a much
    more efficient SmallPtrSet<MCSymbol*>.  This eliminates string
    craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter.

    Codegen is producing stubs in a nondeterminstic order, but it was doing
    this before anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81511 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fdf82ddf5816c13fe660d6309e1e09c1550e6df
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 05:59:55 2009 +0000

    printInstruction() no longer prints a \n after itself, do it
    for the two instruction MOVPC32r sequence.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81509 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2eaccff47f159c4a90dc8c53f9d81898f6081bd9
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 05:58:44 2009 +0000

    reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms of
    Mangler::getNameWithPrefix.  In addition to avoiding some over
    quoting, this also is more efficient because it uses smallvector
    instead of std::string thrashing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81508 91177308-0d34-0410-b5e6-96231b3b80d8

commit a84c2917d3f8412b093af06801a595dcf8e00ee0
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 05:51:29 2009 +0000

    fix prefix ordering, it's L_foo not _Lfoo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81506 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd7e1108fe9851970a8f9cf190defddde49ab16b
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 05:40:42 2009 +0000

    add a new Mangler::getNameWithPrefix API which returns the
    (uniqued if unnamed) global variable name with the prefix that
    it is supposed to get.  It doesn't do "mangling" in the sense of
    adding quotes and hacking on bad characters.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2fe752edba6d2b52a4171262ad9281a3cf21b003
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 04:36:43 2009 +0000

    convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallString
    instead of std::string and Mangler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81503 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6fe945acbcf6c92f3b8e9b193f588e1404a9576
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 04:28:13 2009 +0000

    rearrange some code, export a SmallString version of DecorateCygMingName.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81502 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d1e4fa6fdfac2bd80e049ef298365d764553302
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 01:49:31 2009 +0000

    more typos

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5b7dbbf6ff503a3bd10b87ebeeed3e48e36e0d55
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 11 01:01:31 2009 +0000

    Follow up to 81494. When the folded reload is narrowed to a 32-bit load then change the destination register to a 32-bit one or add a sub-register index.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81496 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58f44f226573975dce94b0bd23b95c2b2df80d56
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Sep 11 00:41:15 2009 +0000

    PHI nodes can never reach the asmprinter, assert and die instead of printing
    out an illegal "PHINODE" instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81495 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f0797fd72559a3066290f87c4f79a257bf64fc6
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 11 00:39:26 2009 +0000

    It's not legal to fold a load from a narrower stack slot into a wider instruction. If done, the instruction does a 64-bit load and that's not
    safe. This can happen we a subreg_to_reg 0 has been coalesced. One
    exception is when the instruction that folds the load is a move, then we
    can simply turn it into a 32-bit load from the stack slot.

    rdar://7170444

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81494 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c5f55f3e68092a732e6d3fa0dac6de724461a44
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 00:36:43 2009 +0000

    Make fast-isel try ISD::FNEG before resorting to bitcasts and xors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81493 91177308-0d34-0410-b5e6-96231b3b80d8

commit b144a5210c2df1b248b0c92fbf18f0cb1f9f9f91
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 00:34:46 2009 +0000

    Reapply r81171 with a fix: don't try to use i64 when it
    isn't legal.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81492 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78894ba572c0da894a177328a0b37d4e8b0cff39
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 00:05:10 2009 +0000

    Fix indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6200a6ec5cb2d2474317cf7c801d242ec25595f4
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 11 00:04:14 2009 +0000

    Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and
    how to fold notionally-out-of-bounds array getelementptr indices instead
    of just doing these in lib/Analysis/ConstantFolding.cpp, because it can
    be done in a fairly general way without TargetData, and because not all
    constants are visited by lib/Analysis/ConstantFolding.cpp. This enables
    more constant folding.

    Also, set the "inbounds" flag when the getelementptr indices are
    one-past-the-end.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81483 91177308-0d34-0410-b5e6-96231b3b80d8

commit db050e9d9673fda33b4acbf67b1137a6a91e74b7
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 10 23:37:55 2009 +0000

    Factor out the code for checking that all indices in a getelementptr are
    within the notional bounds of the static type of the getelementptr (which
    is not the same as "inbounds") from GlobalOpt into a utility routine,
    and use it in ConstantFold.cpp to check whether there are any mis-behaved
    indices.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81478 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce128857e923728587cf38bac23d9f6ba231ca01
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 10 23:07:18 2009 +0000

    Give these files top-level comments that describe the current code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81473 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffc801c29e1d6fa3f6ff2d4236b671b4183b67a1
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 10 22:36:12 2009 +0000

    Fix whitespaces.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81468 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13d28af8449cfa2269589ffb95b3c1d66e9e888c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 22:14:16 2009 +0000

    Fix validation errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81466 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca831f14d40e32df191244092c71e47a3b3498b0
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 22:12:50 2009 +0000

    Fix validation errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81465 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdebfa961d5a71ebab1e0e622dd2abb463fff8aa
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 10 22:09:31 2009 +0000

    Don't swap the operands of a subtraction when trying to create a
    post-decrement load/store.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81464 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22457ddb96b05ae203164134cc748b43a120ad26
Author: Dale Johannesen <dalej@apple.com>
Date:   Thu Sep 10 22:01:32 2009 +0000

    Fix uppercaseo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81463 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae90d09ea43ca4b0dfa02d2c6d679f81380231ed
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu Sep 10 20:51:44 2009 +0000

    Added the ParseInstruction() hook for target specific assembler directives so
    that things like .word can be parsed as target specific.  Moved parsing .word
    out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes
    for other targets that support the .word directive.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81461 91177308-0d34-0410-b5e6-96231b3b80d8

commit 546b28bd90852f0bea34a6dc10cf22de5a773252
Author: Victor Hernandez <vhernandez@apple.com>
Date:   Thu Sep 10 20:18:57 2009 +0000

    Fit code within 80 columns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81459 91177308-0d34-0410-b5e6-96231b3b80d8

commit 794457a9a6c91baf493f12fe081f70924b1b7c33
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Sep 10 19:52:26 2009 +0000

    Added XOR instructions for rAX and immediates of
    various widths.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81458 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70953a5bee9da7718fab97c9db999041dd38666d
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Sep 10 18:33:42 2009 +0000

    Added MOV instructions between rAX and memory offsets,
    including segment offsets and (for 8-bit operands)
    absolute offsets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81457 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f3c3f5e4ad869045baed502d9b041f55847f42f
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Sep 10 18:29:13 2009 +0000

    Added a variety of PUSH and POP instructions, including
    ones capable of accessing R/M operands instead of just
    registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81456 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2c39f52d692834fd39bfb37e942840188554463
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 18:28:06 2009 +0000

    Exit early if exception handling isn't supported.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81454 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7360cdd2ba9923efb70579ec60480c5408edac21
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Sep 10 17:04:32 2009 +0000

    Allow llvmc to take .bc files as input.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fc3b22df49c0bce6268f337a17e196cbedee72c
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Sep 10 16:30:38 2009 +0000

    Make ProfileEstimator more robust on general CFGs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d83433e2b5a37237f7cce22addd8fb1bbb92306
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 10 16:25:02 2009 +0000

    add another broken version of gcc, thanks to Niels Moller for pointing this out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81449 91177308-0d34-0410-b5e6-96231b3b80d8

commit fcccb9fa64db28ccbb9bdb06341160465dc64a79
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Sep 10 16:22:02 2009 +0000

    Distinguish between 'empty' and empty DAG marker.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81448 91177308-0d34-0410-b5e6-96231b3b80d8

commit a125693f1475029900a6764451778cecfbbc69bf
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Thu Sep 10 16:21:38 2009 +0000

    Add a logical 'not' operator to llvmc's TableGen dialect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81447 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6df6696a9d9f9691db9498c865b3abe013cbbe37
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Thu Sep 10 14:56:31 2009 +0000

    fix leakage of Module

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81445 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90deca07b0cfa2fdceb9cba6e2abd470659444b9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Sep 10 11:31:39 2009 +0000

    Add some braces to make newer GCCs happy and update CMakeLists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81443 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61a788cef4f56ff000806c0c267a7ace68e4f1e2
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Sep 10 07:12:35 2009 +0000

    Cleaned up code by factoring out common portions of edge loading into function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81438 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70ae96f3e7d2070972d280cecc2ccf13bdea3974
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Sep 10 07:02:09 2009 +0000

    Correctly handle the case where a comparison is created in one BasicBlock and
    used by a terminator in another.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81437 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bb50b4935836725b83eefeb1e90d0a659ef15a5
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 06:50:01 2009 +0000

    Comment and whitespace cleanups. No intentional functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81436 91177308-0d34-0410-b5e6-96231b3b80d8

commit 74446ffeba3226ae63f9a437230fe0f407a308d4
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 06:27:16 2009 +0000

    Revert part of my r81424 patch. I removed what looked like superfluous padding
    from the exception tables. However, Duncan explained why it's a can of worms to
    do it the GCC way. I went back to doing it the LLVM way and added Duncan's
    explanation so that I don't do this again in the future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81434 91177308-0d34-0410-b5e6-96231b3b80d8

commit a511570cf8e6859deef445efe8a0db3707e10f95
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 10 05:08:51 2009 +0000

    Add a test case for r81431.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81432 91177308-0d34-0410-b5e6-96231b3b80d8

commit 67d34bd5b31add07ba8413b05d019e22f35d9a0e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 10 04:56:59 2009 +0000

    Remove prcontext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81427 91177308-0d34-0410-b5e6-96231b3b80d8

commit e5406467385df42184feed2f03fbdab5ac38c9f5
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 10 04:36:43 2009 +0000

    Add malloc call utility functions. Patch by Victor Hernandez.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81426 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c6e5ae3c8ec8cc5df9f82b4c51d67105e941e5f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 02:07:37 2009 +0000

    Don't hardcode the TType format size. In fact, rework the code so that it's more
    like what GCC outputs. The mysterious code to insert padding wasn't in GCC at
    all. I modified the TType base offset code to calculate the offset like GCC
    does, though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81424 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50e503fc4a90ecd8e98266c4a68c566e5f3e315f
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 10 01:23:53 2009 +0000

    Proper support of non-lazy indirect symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81422 91177308-0d34-0410-b5e6-96231b3b80d8

commit 630d3b5c3e116554239d4c50032d2c1b9a01738d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 01:12:47 2009 +0000

    Remove the "#if 0" that Noone loved. It wasn't really necessary, because the
    code within it was the same inside and out. There's still a problem of the
    TypeInfoSize should be the size of the TType format encoding (at least that's
    what GCC thinks it should be).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81417 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9ba888a01e1f53c88d8a491b35cee78b170d2ff5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 10 00:59:15 2009 +0000

    MC: Give target specific parsers access to the MCStreamer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81416 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9aadf0b01025e9a91a285fe87cf58353cc8aa61e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 10 00:49:22 2009 +0000

    Revert r81171 which was causing pr4927.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81415 91177308-0d34-0410-b5e6-96231b3b80d8

commit d832f2cd021588a797c00175a894f63d652b3755
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 00:17:04 2009 +0000

    Pull check for SJLJ EH into a boolean and use that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1961846a4701a5cd43a8d7f2624138da0f745e1f
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 00:13:16 2009 +0000

    Use the SizeOfEncodedValue function instead of magic variables for the
    sizeof(DW_EH_PE_udata4).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81408 91177308-0d34-0410-b5e6-96231b3b80d8

commit f551420260bd4eb5e4ca6307eb9ae4d411154061
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 10 00:04:48 2009 +0000

    Add helpful comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81406 91177308-0d34-0410-b5e6-96231b3b80d8

commit e99c6d49ea0f6f3b562af85580bdf18bd278b933
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 9 23:56:55 2009 +0000

    Believe it or not, this is a simplification. :-)

    Basically, this patch is working towards removing the hard-coded values that are
    output for the CIE. In particular, the CIE augmentation and the CIE augmentation
    size. Both of these should be calculated. In the process, I was able to make a
    bunch of code simpler.

    The encodings for the personality, LSDA, and FDE in the CIE are still not
    correct. They should be generated either from target-specific callbacks (blech!)
    or grokked from first-principles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81404 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71429f87316fc88ebe54b904c4b1326a71fbc3ec
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 9 23:55:03 2009 +0000

    Fix double load / store multiple encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81403 91177308-0d34-0410-b5e6-96231b3b80d8

commit 431b4df9155bfbe94d3b50a1f1bdebfa9055cb44
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 23:46:42 2009 +0000

    canonicalize namespace gymnastics

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81402 91177308-0d34-0410-b5e6-96231b3b80d8

commit b53d938b38393b624f7f12269c9784cd5116c3bf
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Sep 9 23:37:46 2009 +0000

    Testcase for (llvm-gcc) 81399.  Adjust an older
    test case to allow for different, functionally
    identical output.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81400 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10371a5fdd1b829b3ce0cbd6d0721c700bde1e55
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 9 23:14:54 2009 +0000

    Fix pr4939: Change FPCCToARMCC to translate SETOLE to ARMCC::LS.
    See the bug report for details.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81397 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32d4cc74e1075b6d9f77c75ff6099784ad4f15b2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 23:14:36 2009 +0000

    remove DebugLoc from MCInst and eliminate "Comment printing" from
    the MCInst path of the asmprinter.  Instead, pull comment printing
    out of the autogenerated asmprinter into each target that uses the
    autogenerated asmprinter.  This causes code duplication into each
    target, but in a way that will be easier to clean up later when more
    asmprinter stuff is commonized into the base AsmPrinter class.

    This also fixes an xcore strangeness where it inserted two tabs
    before every instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8

commit c53c4e5693d079829a7a78d662e691217aaf190f
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 23:09:29 2009 +0000

    Fix a subtle bug in "return;" generation which caused us to miss
    a return in one case.  Instead of sprinking return handling code
    throughout the asmprinter generator, just treat it like any other
    normal statement.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81395 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa50179c30d291443d10d93a7ec6eb4958ee1ac5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 9 23:01:25 2009 +0000

    Add comment re: clang dependency.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81393 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffdf10df7ba8b1cef378d86ab11912a95b04e8d4
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 9 22:49:13 2009 +0000

    Added an abstract superclass, MCDisassembler, for
    all disassemblers.

    Modified the MemoryObject to support 64-bit address
    spaces, regardless of the LLVM process's address
    width.

    Modified the Target class to allow extraction of a
    MCDisassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81392 91177308-0d34-0410-b5e6-96231b3b80d8

commit be23fd415c91d6b17149b67497316d9593305e05
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 9 21:26:19 2009 +0000

    Use the EOL that takes the encoding and translates it into DWARF-English.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81382 91177308-0d34-0410-b5e6-96231b3b80d8

commit c38ebcb176943ab2d8c5e0aa458f3f18990f15b8
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 9 21:08:12 2009 +0000

    Early exit from function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81381 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb3105b639197e0e15486fa17beeee74682a608c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 9 21:06:24 2009 +0000

    Small amount of code clean-up: Don't use ".size()" when not necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81380 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0741b254540f2c14be367e5de6f893e6b817f35
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 20:45:42 2009 +0000

    add a gross hack to get "SrcLine" comments to show up with the
    new asmprinter.  Differently gross hack coming next.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81379 91177308-0d34-0410-b5e6-96231b3b80d8

commit e34788cb7ed482bf3b51075f1b06ccc03021fbac
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 20:34:59 2009 +0000

    hoist the call to processDebugLoc out of the generated
    asm printer into the "printInstruction" routine.  This
    fixes a problem where the experimental asmprinter would
    drop debug labels in some cases, and fixes issues on ppc/xcore
    where pseudo instructions like "mr" didn't get debug locs properly.

    It is annoying that this moves the call from one place into each
    target, but a future set of more invasive refactorings will fix
    that problem.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81377 91177308-0d34-0410-b5e6-96231b3b80d8

commit a46d337b041e98c716269c600e3097cc5cca64ae
Author: Lang Hames <lhames@gmail.com>
Date:   Wed Sep 9 20:14:17 2009 +0000

    Removed static qualifier from a few index related methods. These methods may require a LiveIntervals instance in future.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81374 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5af655e4025b57503a223cbfba2e540f5bab113f
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 18:19:35 2009 +0000

    Reverted r81358.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81364 91177308-0d34-0410-b5e6-96231b3b80d8

commit f06a9bac9d29e83d24d667ed42f1028e493de42d
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 9 18:18:18 2009 +0000

    Fix SplitCriticalEdge to properly update LCSSA form when splitting a
    loop exit edge -- new PHIs may be needed not only for the additional
    splits that are made to preserve LoopSimplify form, but also for the
    original split. Factor out the code that inserts new PHIs so that it
    can be used for both. Remove LoopRotation.cpp's code for manually
    updating LCSSA form, as it is now redundant. This fixes PR4934.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81363 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8aa5c72ebecdde5b86c4564ef6059faf34eb1ed7
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Sep 9 18:03:46 2009 +0000

    Fix build, add missing simicolon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81362 91177308-0d34-0410-b5e6-96231b3b80d8

commit a89b291eb4dee0605e7618653dac2634fea14e92
Author: Mike Stump <mrs@apple.com>
Date:   Wed Sep 9 17:57:16 2009 +0000

    Reflow comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81361 91177308-0d34-0410-b5e6-96231b3b80d8

commit f193e18b174a8fe51242aabb07f3c0a4f39415af
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 17:53:39 2009 +0000

    Preserve ProfileInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81360 91177308-0d34-0410-b5e6-96231b3b80d8

commit a1eaf2a024b2338fcdf2ffab01b7169319969830
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 17:52:57 2009 +0000

    Add the first functions for updating ProfileInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81359 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba865fcfc00592809b38bad4e65aa5eebd9103bd
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 17:51:39 2009 +0000

    Cleaned up code by factoring out common portions of edge loading into funcion.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81358 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26f6d849e4659e4bb4944359b302fd2aa0e0155b
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 9 17:44:26 2009 +0000

    Take lock before removing a node from MDNodeSet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44c965aed1380578a557b9367f94dee4261dd28d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 9 17:30:04 2009 +0000

    Enable MDNode uniquing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81355 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae4f2739f3a56d33a4049ca94b06021b2bd9bc7e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 9 17:17:19 2009 +0000

    Fix an 80-column violation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94e5001925e25df698a8372024f06bd8581e6edf
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 9 17:07:07 2009 +0000

    Gracefully destroy MDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81353 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d0ae7a4285264213962e906068c98dcf97f2b8e
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 16:47:12 2009 +0000

    Hide all cscope files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81350 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99a2c97352dfd94a4b94fc6f23f8f0dd6f1ff7be
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 16:45:41 2009 +0000

    Updated svn:ignore to hide *.cmx files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81349 91177308-0d34-0410-b5e6-96231b3b80d8

commit 920911d1e9f01bca349c9cf90fe78712491a4766
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 16:00:57 2009 +0000

    revert r81335, which breaks the build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81347 91177308-0d34-0410-b5e6-96231b3b80d8

commit da58ebcc2659fad293f11e4cd48f9d92b7fc594b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 9 14:22:57 2009 +0000

    When widening a vector load, use the correct chain. This fixes PR4891.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81343 91177308-0d34-0410-b5e6-96231b3b80d8

commit ca1fa68f6f989937a2233797e0f7e6942c4d3b6a
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 13:01:03 2009 +0000

    Fixed wrong storage option for ProfileVerifierDisableAssertions.
    Fixed non working -profile-verifier-noassert option.
    Fixed missing newline in debugEntry().
    Cleaned up assert messages. (assert(0 && Message) is still shown, but the message is printed before.)
    When verifiying loaded profiles the ProfileVerifier got confused when block was a setjmp target, this is checked now.
    When verifiying loaded profiles the ProfileVerifier got confused when block eventually reaching an exit(), this is checked now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81338 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20bfe16d937eb797d4248dec6c2a57b691779e35
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 9 12:48:26 2009 +0000

    Updated ProfileInfo to have clean seperation between different sentinels.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81335 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7662985fce9b2ca4b60bc57321142a7149fe63d2
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Wed Sep 9 12:09:08 2009 +0000

    Add a shortcut for OS X to Path::GetMainExecutable. This gives a nice speedup on
    clang's testsuite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81333 91177308-0d34-0410-b5e6-96231b3b80d8

commit c755dc57023bd41f52fa464c2fd5008b2171a0c0
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Sep 9 10:14:55 2009 +0000

    Copy-pasto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00456a75b37a9e1edda5a37657037001eb2deee9
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Sep 9 09:52:04 2009 +0000

    Revert 81248 for now.

    Program objects have ownership semantics on Windows.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81329 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd1f9fef9648975b0a201da42797d12415eeb83a
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Wed Sep 9 09:51:47 2009 +0000

    Check that the 'kill' call succeeded.

    Thanks to Duncan Sands for spotting this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81328 91177308-0d34-0410-b5e6-96231b3b80d8

commit ebd2da13f15d830ecbac3ffb953fc00bfde9bab2
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Sep 9 09:34:43 2009 +0000

    Add testcase for r81322 (PR4933).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58b79487c4ff0f1a4d6c39ce02ab323a73c20b03
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Sep 9 08:48:53 2009 +0000

    Provide proper section flags for various BSS flavours

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e258a3086667213fb50e920d661bd91a7c0c134
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Sep 9 08:41:20 2009 +0000

    Whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81321 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4de5778fc6ee03ef9b6f2c79a3c92f1886b90e73
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 06:19:34 2009 +0000

    add a testacse for the objc problem that required required r81305
    to be temporarily disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81320 91177308-0d34-0410-b5e6-96231b3b80d8

commit 965cb2f51ad0e6a8e6e22d1d348057c82a7994b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 06:11:14 2009 +0000

    disable the new asmprinter by default.  Both the Mangler and MCSymbol
    printing stuff are quoting symbols now, breaking objc testcases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81319 91177308-0d34-0410-b5e6-96231b3b80d8

commit 52f6f63fbd1339c08b982355b62b85dc344add50
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 9 06:05:16 2009 +0000

    Cast MO.getImm() to unsigned before comparing with an unsigned limit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81318 91177308-0d34-0410-b5e6-96231b3b80d8

commit 509ea0c591607793cc3fdf076b80c5743b72ef17
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Wed Sep 9 05:04:01 2009 +0000

    Make TypeBuilder's result depend on the LLVMContext it's passed.
    TypeBuilder was using a local static variable to cache its result. This made it
    ignore changes in its LLVMContext argument and always return a type constructed
    from the argument to the first call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00b667ca7c080da239365c2b129fa85854005ecb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 9 02:41:50 2009 +0000

    Update test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81314 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8acf90f7d6f9850e5192cb6530261aa5d829663b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 9 02:41:42 2009 +0000

    Count test correctly with -q.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81313 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00a068c0defbc610732b89f79904cd04e0a70dc0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 9 02:41:32 2009 +0000

    Fix another refactoro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81312 91177308-0d34-0410-b5e6-96231b3b80d8

commit c84d4d3a2e752a4ba621587c066c1177cb8d5f40
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 9 01:56:29 2009 +0000

    Make sure to make stub region writable before emission, executable after emission.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81311 91177308-0d34-0410-b5e6-96231b3b80d8

commit a989293ca8e2c88ac10cf6fb577a9ece58b7b845
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 9 01:47:07 2009 +0000

    Fix arm jit encoding bug introduced by 75048. Some instructions', e.g. MOVi, bit 25 should be set.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81310 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa04aba9a45c6870836e614150182cd487aa7af3
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 9 01:45:24 2009 +0000

    Make sure the memory range is writable before memset'ing it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81308 91177308-0d34-0410-b5e6-96231b3b80d8

commit 204d7688f36dfed6dd487371db80ad9140b36986
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Sep 9 01:44:53 2009 +0000

    Correct __cxa_end_catch documentation to reflect that it doesn't take any arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b3c2ad4b0e7825170e90aadb07fe99408d4046b
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 9 01:38:23 2009 +0000

    Remove comments which don't add much to .s readibility.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81306 91177308-0d34-0410-b5e6-96231b3b80d8

commit 89e53b29fc360d43953ac7df1fbded8e33ed9956
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:41:36 2009 +0000

    turn the mcinst asmprinter on by default for x86, tweaking two tests to
    expect the slight syntax differences in the generated code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81305 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78c95d8c68ea762991d677773b07eb4d082bfcbc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:40:31 2009 +0000

    tidy up

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81304 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cecef9d4ce35724024f8df6dac209897a76d6f1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 9 00:30:25 2009 +0000

    Remove failing test...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81303 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c8121fc171afe801eab440d89443985b136b53f
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 9 00:23:52 2009 +0000

    Add an svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81302 91177308-0d34-0410-b5e6-96231b3b80d8

commit d456b2e7d9e9d219e1d429104a35cb6ea5db91ab
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:23:32 2009 +0000

    make sure to send external symbols through the mangler,
    this fixes mingw-alloca.ll with the new asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81301 91177308-0d34-0410-b5e6-96231b3b80d8

commit abe57efd23c3d7f05b01aa30be895f5ae3a41ff4
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 9 00:22:49 2009 +0000

    Use "opt < %s" instead of "opt %s" to keep the testname away from the grep.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81299 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44130371343172fe453917c41f74dd795e2fe85e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:22:31 2009 +0000

    this got merged into lea.ll

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81298 91177308-0d34-0410-b5e6-96231b3b80d8

commit b39ffdf617c65df69bddce5d456bbfb63426060b
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:19:46 2009 +0000

    filecheckize

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81297 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98d648dc6c48b4a9cc0d8126ec22d10ccf51813e
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:14:09 2009 +0000

    allow @ in symbol names without quoting the identifier.  This
    allows things like @PLT without quotes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81296 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b3593ac463ad21559e0097a268888c79e4e403e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Sep 9 00:11:02 2009 +0000

    Fix PR4865. This syncs up the JIT's DWARF emitter with what's in the
    'DwarfException.cpp' file, which changed how CIEs were emitted, the sizes of
    some fields, etc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81295 91177308-0d34-0410-b5e6-96231b3b80d8

commit 50470b55a378c023286f09325ae098496becc002
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 9 00:10:14 2009 +0000

    add support for @PLT and friends on external symbols, fixes
    x86-64-pic-11.ll with the new asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81294 91177308-0d34-0410-b5e6-96231b3b80d8

commit da594cf0865888a79fe498de539e2285430674cb
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 9 00:09:15 2009 +0000

    Eliminate more uses of llvm-as and llvm-dis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81293 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a063105e432e649d64d354a3ea4b295172ed6cf
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 23:54:48 2009 +0000

    Eliminate more uses of llvm-as and llvm-dis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81290 91177308-0d34-0410-b5e6-96231b3b80d8

commit 801631d7291d79bf1e9381dcd07e1f2af2b9eeb7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:51:06 2009 +0000

    update various tests for signedness changes in .s file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81289 91177308-0d34-0410-b5e6-96231b3b80d8

commit 793df4a99f1c9c201d1d660c469eb396fd30c926
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:44:53 2009 +0000

    adjust for signedness change.  I'd appreciate it if an ARM flavored person
    could look at this: the top undefined bits of an immediate shouldn't affect
    isel (cmp vs cmp.w)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81288 91177308-0d34-0410-b5e6-96231b3b80d8

commit f104fefd323bde3c0259a290322b01883457ed5a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 23:44:24 2009 +0000

    Merge Archive/extract* tests into one; this avoids a race when tests are run in
    parallel (the test should really use temps for the output, though).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81287 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84be013efdfb9340a10c2f2821211423d0a962ab
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:41:06 2009 +0000

    merge thumb2-bic2.ll into thumb2-bic.ll and update for signedness changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81285 91177308-0d34-0410-b5e6-96231b3b80d8

commit 221813a2d67821161ca4604121d3d4b9a5e3c406
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 23:32:51 2009 +0000

    Add Triple::getArchTypeForDarwinArchName, which converts a "Darwin" architecture
    name (e.g. "ppc") to the appropriate constant.

    Also, StringRefize additional Triple constructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81274 91177308-0d34-0410-b5e6-96231b3b80d8

commit ee69fee764b11c7e480bb29ef351f93062bbdcca
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:32:40 2009 +0000

    tweak this to pass on linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81273 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b349f2003f776ef5bca4e009bf0af96a884ca52
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 23:32:35 2009 +0000

    Improve JIT error message for users crazy enough to use -march with JIT, and
    mention -version in messages about missing targets.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81272 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75410d8bc45d8536e7a7c7acdce7b7a064256291
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:20:50 2009 +0000

    parenthesize symbol names that start with $, fixing X86/dollar-name.ll with
    the new asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81269 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd30f56da8ae5252a5028754cbf035d4081c6cb7
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:16:26 2009 +0000

    convert to filecheck syntax

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81267 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ac501ab8363823363bb62cba3f3bde409d8c5b5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 23:05:44 2009 +0000

    change selectiondag to add the sign extended versions of immediate operands
    to instructions instead of zero extended ones.  This makes the asmprinter
    print signed values more consistently.  This apparently only really affects
    the X86 backend.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81265 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa540692bfbce485b154f35b13f10748819d19e1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 22:57:49 2009 +0000

    Use "opt < %s" instead of "opt %s" so that opt doesn't print the test
    filename in the output, which interferes with the tests' grep lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81263 91177308-0d34-0410-b5e6-96231b3b80d8

commit 14636a5b8822276713045b4322b1f9f9c0c7c600
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Sep 8 22:51:43 2009 +0000

    Unbreak getOnesVector() / getZeroVector() to use valid ARM extended imm's.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81262 91177308-0d34-0410-b5e6-96231b3b80d8

commit f15d065c6f04c706e8262c116d3d4d4040f5eb64
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 22:41:33 2009 +0000

    Convert a few more opt | llvm-dis to opt -S.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81261 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9352009ee611a1443f5dca5202ffc76430fd385
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 22:38:46 2009 +0000

    filecheckize some tests

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bb7c7c3b0d45867a9770d5468624cbefe37adad
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 22:34:10 2009 +0000

    Use opt -S instead of piping bitcode output through llvm-dis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e4519c64ba34818ace9858444a66399be7eecfd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 22:20:35 2009 +0000

    Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead
    of requiring a name be passed in. This makes it use "<stdin>"
    instead of "-" and makes it more consistent with the Bitcode reader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81256 91177308-0d34-0410-b5e6-96231b3b80d8

commit 61cf99d511f74bef0739cdbfbbcf7094d3db2303
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 8 20:31:27 2009 +0000

    This should unbreak the build on 64-bit Linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81252 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66b57f3a2a4891f05392bdffb6717326f99b9bc6
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Sep 8 19:53:15 2009 +0000

    Fix PR4909, patch by Jakub Staszak.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81250 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5e639c1b8eb54e0af46b3a529d0a1cac39f8ded
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 8 19:51:39 2009 +0000

    Const-correctness.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7490029b28358b8251bf525e199b2618a7da4afa
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 8 19:51:12 2009 +0000

    Since Program is basically a PID, it should be copyable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81248 91177308-0d34-0410-b5e6-96231b3b80d8

commit 460b0175ff36930e7ab2a0c1e0ac1c861b704765
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 8 19:50:55 2009 +0000

    Get rid of the Pid_ member in the Program class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81247 91177308-0d34-0410-b5e6-96231b3b80d8

commit a28016831340436a42b077c2711e040c46cb106f
Author: Mikhail Glushenkov <foldr@codedgers.com>
Date:   Tue Sep 8 19:50:27 2009 +0000

    Add a Kill() function to the Program class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81246 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83d45d7286b38453c8182486393dabde6f28c574
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 19:45:34 2009 +0000

    another typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81243 91177308-0d34-0410-b5e6-96231b3b80d8

commit e951acadc8f81264295608f02ea3f7dcbb0e3846
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 8 18:52:20 2009 +0000

    Do not specify -mmacosx-version-min if building for arm-apple-darwin.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81240 91177308-0d34-0410-b5e6-96231b3b80d8

commit a97bc6042d8356416520f6daf9c9269c3afde89b
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 18:48:01 2009 +0000

    remove an extremely dubious instcombine transformation of
    extractelement(load).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c440a116254922bcaeae433788bfb170a8546e1
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 8 18:14:36 2009 +0000

    Remove dead code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81235 91177308-0d34-0410-b5e6-96231b3b80d8

commit d873a95ab04653b72825b360c48420e6763f3da3
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 17:03:05 2009 +0000

    Trim unnecessary declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b4c27779eba0ad4edeb73d1c2855345ad56f6ff
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 16:50:01 2009 +0000

    Change these tests to feed the assembly files to opt directly, instead
    of using llvm-as, now that opt supports this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06db349124125c3fc5c310afeb56be0d2d81aacb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 16:14:54 2009 +0000

    Fix may-be-used-uninitialized warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81223 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25de0deb077ad1db2da9b0ed3ba6c0efc07a936d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 15:52:56 2009 +0000

    llvm-as is no longer needed here, now that opt can read assembly
    files directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81222 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cec4125f92b12880692c3e4a378b792a85ea67a
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 15:45:00 2009 +0000

    Re-apply r80926, with fixes: keep the domtree informed of new blocks
    that get created during loop unswitching, and fix SplitBlockPredecessors'
    LCSSA updating code to create new PHIs instead of trying to just move
    existing ones.

    Also, optimize Loop::verifyLoop, since it gets called a lot. Use
    searches on a sorted list of blocks instead of calling the "contains"
    function, as is done in other places in the Loop class, since "contains"
    does a linear search. Also, don't call verifyLoop from LoopSimplify or
    LCSSA, as the PassManager is already calling verifyLoop as part of
    LoopInfo's verifyAnalysis.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81221 91177308-0d34-0410-b5e6-96231b3b80d8

commit dd528195c766db4211a29e0955e5f888f322dc37
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Sep 8 15:22:32 2009 +0000

    Add NEON 'laned' operations. This fixes another bunch of gcc testsuite fails and
    makes the code faster.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81220 91177308-0d34-0410-b5e6-96231b3b80d8

commit c802e48f18be86250b5249a8f545fc61ae858aa6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 15:13:16 2009 +0000

    fix a couple typos pointed out by edwin and duncan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81219 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce4265b24fa707a83b564c814a66d6f4ca7e76fe
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 14:14:24 2009 +0000

    Unbreak these tests. Chris, please verify that these changes are intended.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81217 91177308-0d34-0410-b5e6-96231b3b80d8

commit b246f53c4457fe7787ba675807eb78e8c4cdd540
Author: Richard Pennington <rich@pennware.com>
Date:   Tue Sep 8 12:47:30 2009 +0000

    Add source debug information to the Sparc code generator.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99c816857be050d35719a3425f46a4ac1b1057e7
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Tue Sep 8 07:39:27 2009 +0000

    When emitting a label for a PostCall safe point, the machine
    instruction to insert before can be end(). getDebugLoc on
    end() returns an invalid value, therefore use the debug
    loc of the call instruction, and give it to InsertLabel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81207 91177308-0d34-0410-b5e6-96231b3b80d8

commit d326c7aff924917ceb6cb9b9a788865941d8b531
Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr>
Date:   Tue Sep 8 07:36:18 2009 +0000

    Also emit a label for TargetInstrInfo::GC_LABEL.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81206 91177308-0d34-0410-b5e6-96231b3b80d8

commit a04450b1cad35ec96eb4b15d5646661232475a51
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Sep 8 07:30:03 2009 +0000

    Unbreak

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81205 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f6c7da13e517fa7aacc7514bbff034365823970
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Tue Sep 8 06:39:07 2009 +0000

    When remat'ing and destination virtual register has a sub-register index. Make sure the sub-register class matches the register class of the remat'ed instruction definition register class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81204 91177308-0d34-0410-b5e6-96231b3b80d8

commit b051a8456f5c4ef77a845b6359f32cd26b6938a8
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:37:35 2009 +0000

    Print "X-42" instead of "X+-42".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81203 91177308-0d34-0410-b5e6-96231b3b80d8

commit 914d43ea8fcbcc97cf319ce1ea86af4489797ca2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:34:07 2009 +0000

    make formatting of expressions more closely match the existing asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44ef733215a9c96583d0d74f32b79fd2017718e5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:27:48 2009 +0000

    tidy whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81201 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2724d2a6913f8ec77ccd2291249cbe11d4405d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:26:40 2009 +0000

    disable some irrelevant eh emission

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81200 91177308-0d34-0410-b5e6-96231b3b80d8

commit 420109d27c41cf7306706d14ca814636294f2b55
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:25:12 2009 +0000

    add support for some missing modifiers on jumptable/constant pool entries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81199 91177308-0d34-0410-b5e6-96231b3b80d8

commit c638baf0df2f24ebf41eca5f8521a69ad1a5a076
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:19:15 2009 +0000

    add a bunch more evil lowering code to work around various :subreg32 modifiers
    in the .td files.  This gets us down to 18 failures in codegen/x86 with the
    new asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81198 91177308-0d34-0410-b5e6-96231b3b80d8

commit bad5239b41aae2d840894165a79bd315e511d520
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 06:08:07 2009 +0000

    lit needs bash for tcl-as-sh execution, we use set -o pipefail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06418126b47276fa17a388ee789fdf2b65bf75e9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 06:03:07 2009 +0000

    ADd support for "lowering" the X86::MOVZX16rr8/X86::MOVZX16rm8
    subreg32 modifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81196 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2683c9d41df3f486f949333263ae6a1fd3e8289
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 05:49:25 2009 +0000

    add a hack to lower MOV16r0 to MOV32r0 in MCInstLower, eliminating
    the problem with subreg32 modifiers.  This gets all of Olden working
    with the new asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 926c3ff188a32c57f740994172fc2cde75504dfd
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 05:46:28 2009 +0000

    Fix typo that worked on python 2.6.

    Also, fix unit tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81194 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6ed791867cfb7fe82e3f9dd512efe4e33c4f6f51
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 8 05:46:15 2009 +0000

    Hoist out the test+insert to CheckedTypes. This doesn't seem to affect
    performance.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81193 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6be620e43ce72f3e7c4a0acf3f8d05020c5c536
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 05:37:51 2009 +0000

    Fix a refactoro.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81192 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12ffa4de8df01f0dc0533945d05ea8466d79c104
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 05:31:44 2009 +0000

    Add 'lit' support for llvm tests.
     - This adds 'make check-lit' from the top-level Makefile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81191 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb15e592d9d89cf2ad3949ecc601848c5d930f0f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 8 05:31:18 2009 +0000

    Add 'lit' testing tool.
     - make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more
       information.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 599c392e8d93a229de7d1a6a7182b40e33791f3c
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 05:15:50 2009 +0000

    llvm::cerr is gone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81189 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1efd4fd6a1b967fc3f0dbbd0d9c835ea5eec4f21
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 05:14:44 2009 +0000

    update this to use raw_ostream

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81188 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3195875c346108303d315cac0c245d80f980dfb
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 04:55:44 2009 +0000

    fix PR4767, a crash because fp stackifier visited blocks in
    depth first order, so it wouldn't process unreachable blocks.
    When compiling at -O0, late dead block elimination isn't done
    and the bad instructions got to isel.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81187 91177308-0d34-0410-b5e6-96231b3b80d8

commit d069a058917c5968774064354516f628159971c6
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 03:47:41 2009 +0000

    remove a turd

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ba36b786d8c051e764fb39e0c2503ba1f19dc92
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 03:44:51 2009 +0000

    instcombine transforms vector loads that are only used by
    extractelement operations into a bitcast of the pointer,
    then a gep, then a scalar load.  Disable this when the vector
    only has one element, because it leads to infinite loops in
    instcombine (PR4908).

    This transformation seems like a really bad idea to me, as it
    will likely disable CSE of vector load/stores etc and can be
    better done in the code generator when profitable.  This
    goes all the way back to the first days of packed types,
    r25299 specifically.

    I'll let those people who care about the performance of vector
    code decide what to do with this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81185 91177308-0d34-0410-b5e6-96231b3b80d8

commit a48dd11cea464022adf7c557c46b28abf148283a
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 03:39:55 2009 +0000

    fix pasto

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81184 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e63feec4518f1c1d86121cd8f7957cf1211f720
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 03:32:53 2009 +0000

    add getVectorOperand/getIndexOperand accessors to ExtractElementInst.
    Fix some const correctness problems in SelectInst.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81183 91177308-0d34-0410-b5e6-96231b3b80d8

commit 134e5d925b66c14c38438c0beca9b0f3bc30db47
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 8 02:02:39 2009 +0000

    Simplify from my last change. Assert1 is a macro that makes its caller return,
    so "Assert1(isa<>); cast<>" is a valid idiom.

    Actually check the PHI node's odd-numbered operands for BasicBlock-ness, like
    the comment said.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81182 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1b9f83a3e87d2b6cbcf1af525f0b1796c17fd571
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 8 01:44:02 2009 +0000

    Fix an abort on a store of an empty struct member. getValue returns
    null in the case of an empty struct, so don't try to call getNumValues
    on it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81180 91177308-0d34-0410-b5e6-96231b3b80d8

commit d95bc887780e7af86abcf45c64d8772936ed6475
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Tue Sep 8 01:23:52 2009 +0000

    Verify types. Invalid types can be constructed when assertions are off.

    Make the verifier more robust by avoiding unprotected cast<> calls. Notably,
    Assert1(isa<>); cast<> is not safe as Assert1 does not terminate the program.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81179 91177308-0d34-0410-b5e6-96231b3b80d8

commit d9ac5deabfa68d437de63461d45b9c2912f527b9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 01:22:54 2009 +0000

    fix PR4915, a crash in -debug mode.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81177 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a748b0f120835f4e83b77cfa761b504125ec817
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 00:27:14 2009 +0000

    Fix PR4882, by making MemCpyOpt not dereference removed stores to get the
    context for the newly created operations.

    Patch by Jakub Staszak!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81175 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1698f255e9973fbc44b66852770e289db3abfa83
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 00:13:52 2009 +0000

    fix ComputeMaskedBits handling of zext/sext/trunc to work with vectors.
    This fixes PR4905

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81174 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e27672525f06113d206f961212ccd7db9226240
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 8 00:06:16 2009 +0000

    add some comments to describe the invariants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81173 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3a08b82db22aa66dd10f9a939993c7797baf32e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 23:54:19 2009 +0000

    Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81172 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4d34a74cd602a2a0438efade40a536d67ed38a3
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 23:47:14 2009 +0000

    Fix a thinko: When lowering fneg with xor, bitcast the operands
    from floating-point to integer first, and bitcast the result
    back to floating-point. Previously, this test was passing by
    falling back to SelectionDAG lowering. The resulting code isn't
    as nice, but it's correct and CodeGen now stays on the fast path.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81171 91177308-0d34-0410-b5e6-96231b3b80d8

commit 466291fd5924c11599be837375214d41ef7f518a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 7 23:33:52 2009 +0000

    add some more notes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81170 91177308-0d34-0410-b5e6-96231b3b80d8

commit fda03491a5933cb61d0c6a54edba4fac12b651e2
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 23:04:59 2009 +0000

    Add a testcase for the GlobalOpt inbounds fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d72cd8e173b1424d6e41eae1494268e457dc718
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 7 22:52:39 2009 +0000

    describe undef semantics in some more detail.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81167 91177308-0d34-0410-b5e6-96231b3b80d8

commit dabbeec685c1fa912aebc208f715ba9ee92a0899
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 22:45:41 2009 +0000

    Add inbounds to these getelementptrs, now that GlobalOpt requires this,
    to preserve the meaning of these tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81166 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2723ad812300b525b77334a4180d3531613ae3e
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 22:44:55 2009 +0000

    Don't commit stores with addresses that have indices that are not
    compile-time constant integers or that are out of bounds for their
    corresponding static array types. These can cause aliasing that
    GlobalOpt assumes won't happen.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81165 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9524ee6fbbe252887fc957b2d5612318abed5171
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 22:42:05 2009 +0000

    Don't commit addresses of aggregate values. This avoids problems with
    an aggregate store overlapping a different aggregate store, despite
    the stores having distinct addresses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81164 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c834c07335e47546df1d9ef10f79b69cfee7651
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 22:40:13 2009 +0000

    Fix GlobalOpt to avoid committing a store if the address getelementptr
    is missing the inbounds flag. This is slightly conservative, but it
    avoids problems with two constants pointing to the same address but
    getting distinct entries in the Memory DenseMap.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81163 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d907d00498eaaa2bf0d176adf73f66c0c80d8e8
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 22:34:43 2009 +0000

    Preserve the InBounds flag when evaluating a getelementptr instruction
    into a getelementptr ConstantExpr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81162 91177308-0d34-0410-b5e6-96231b3b80d8

commit 278fbe6ee2d970a5379dbeb8cf4e55a54e0421d6
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Sep 7 22:31:26 2009 +0000

    Simplify this code by using hasDefinitiveInitializer().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81161 91177308-0d34-0410-b5e6-96231b3b80d8

commit 706e47f84bb290a91bf2147c9e7f5c77deb6558f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 7 22:15:23 2009 +0000

    tighten test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81159 91177308-0d34-0410-b5e6-96231b3b80d8

commit 542cd205d82f4d38208ea64aed56c38434381539
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Sep 7 22:14:41 2009 +0000

    tweak test, add PR#

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81158 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13c337ae0c3af6cadefd022baab370e558c00685
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Sep 7 21:50:24 2009 +0000

    Express this in the canonical way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81157 91177308-0d34-0410-b5e6-96231b3b80d8

commit f9c2f24ff7c9803f68be9a2dbf53c5157cf77c30
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Mon Sep 7 20:44:51 2009 +0000

    Homogenize whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81156 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7201b61a736089675ab6bd04bd5fe92d9b42b76d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 19:26:18 2009 +0000

    Use -output-prefix in bugpoint tests so that outputs go in temp directory (and
    we don't race on them).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81155 91177308-0d34-0410-b5e6-96231b3b80d8

commit 377b5a388198dcfdba040b77352c6b4b2c7f577a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 19:26:11 2009 +0000

    Add -output-prefix option to bugpoint (to change the default output name).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81154 91177308-0d34-0410-b5e6-96231b3b80d8

commit 741507d7505493a7b270ba9146f0ed6eeb1a27f8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 19:26:02 2009 +0000

    Don't depend on Tcl behavior of redirecting stderr for all commands in a
    pipeline.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81153 91177308-0d34-0410-b5e6-96231b3b80d8

commit 45983257e95b1350100ed50a1e207eb73db58ac8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 19:25:54 2009 +0000

    Avoid Tcl substitution, introduced %llvmgcc_only for this one little test
    (%llvmgcc includes a '-w' argument, and this test looks for warnings).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81152 91177308-0d34-0410-b5e6-96231b3b80d8

commit 104b3ff2dbe1f6e8f3b06f2027774ea79fca204e
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Sep 7 05:58:25 2009 +0000

    Using a signal handler that does nothing should be
    equivalent to SIG_IGN.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6b778fd333ad44d9f1a8c05bc98fd42f5afc5b42
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 04:19:02 2009 +0000

    Update unittests for MDNode uniquing disable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81142 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41160673bbfa67301f5a3768d624a9bed81812b3
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 04:05:49 2009 +0000

    Disable MDNode uniquing.
     - Hopefully this unbreaks some llvm-gcc bootstraps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81141 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c40a1e0e73319536107388601b864e004cef4ad
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Sep 7 04:03:44 2009 +0000

    Document opt -S argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81140 91177308-0d34-0410-b5e6-96231b3b80d8

commit e187ef9ba5db756647acb2aff91123328e8feb38
Author: Eric Christopher <echristo@apple.com>
Date:   Sun Sep 6 22:20:54 2009 +0000

    Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81138 91177308-0d34-0410-b5e6-96231b3b80d8

commit 978451f1282a624bc18ae4daf3a1d2a4e32912e1
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Sep 6 20:21:48 2009 +0000

    Do not create calls via PLT in compilation callback - this is higly platform
    dependent. Hopefully, this will fix PR3801.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81132 91177308-0d34-0410-b5e6-96231b3b80d8

commit 65316a37fbf3d14b68a6f6812a429eac9ec82f3f
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 20:02:00 2009 +0000

    Do not try to override non-virtual methods, especially
    when the new method gives the same result as the original
    (as far as I can see).  This will hopefully pacify icc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81131 91177308-0d34-0410-b5e6-96231b3b80d8

commit 831102e53292a8cd36907a32ec96630bc5819378
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 19:29:07 2009 +0000

    Remove a left over bit of code with no effect.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81128 91177308-0d34-0410-b5e6-96231b3b80d8

commit 00caa72006e1ba4b2897461187fb18c060a36369
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 19:28:38 2009 +0000

    Avoid warnings if assertions are off.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81127 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8297d720b3983c946376e590cfbac5918078a4af
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 19:27:53 2009 +0000

    Remove unreachable code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81126 91177308-0d34-0410-b5e6-96231b3b80d8

commit 950b9861ba3a7964bc911df9b97fa8d136e0bcd5
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 18:03:32 2009 +0000

    Simplify.  Testing shows that this is not equivalent to BBI = CR.CaseBB + 1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81124 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0a6add2ae24cc9270fc5c85b16a8836d9278064
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 16:27:34 2009 +0000

    Avoid an unused variable warning when assertions are
    disabled.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81122 91177308-0d34-0410-b5e6-96231b3b80d8

commit fbc8e46ee99c6bc13b4cef2dabea28fa578f6c52
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 13:10:36 2009 +0000

    Change "const static" to "static const", as warned about
    by icc (#82).  Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81117 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc94fb91bc0e3dba99c31b3b7f3b8e5048b0e137
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 12:56:52 2009 +0000

    Mark more constants unsigned, as warned about by icc (#68).
    Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81116 91177308-0d34-0410-b5e6-96231b3b80d8

commit 05db668fe21feee223e19fe50ddeb6456ddebafb
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 12:41:19 2009 +0000

    Remove some not-really-used variables, as warned
    about by icc (#593, partial).  Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7ac0e8af264c4ab82fb663d342011dfd18d4572d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Sep 6 12:26:28 2009 +0000

    More MSVC warning fixes:
    1. DUPMAX is defined in regcomp.c, no need to redefine it in regutils.
    2. MSVC doesn't like snprintf, use _snprintf instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81114 91177308-0d34-0410-b5e6-96231b3b80d8

commit cd67298c9746bc1e4ac6f730f7d10122f00072c1
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 12:16:26 2009 +0000

    Remove strange 'const' qualifiers, as warned about by icc
    (#411).  Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81113 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0db71af6ee5f1ed8495222226db9e4c85eef4805
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Sep 6 12:10:17 2009 +0000

    It's a bool, so treat it like one. Fixes a MSVC warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81112 91177308-0d34-0410-b5e6-96231b3b80d8

commit f6e467911587ca54f496958b9e844d566667017b
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 11:45:14 2009 +0000

    Mark constants as unsigned, as pointed out by icc
    warnings (#174).  Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3872b7ec9730d0492e40ab8c279dd8d397d71d42
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 10:53:22 2009 +0000

    Tweak code into an equivalent form for which icc
    doesn't warn about unreachable instructions.  Patch
    by Erick Tryzelaar (#111).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81110 91177308-0d34-0410-b5e6-96231b3b80d8

commit a118e65f108d5222f359ff32d24a27bdcaf27eb1
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Sep 6 09:35:10 2009 +0000

    Fix an integer truncation noticed by MSVC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81109 91177308-0d34-0410-b5e6-96231b3b80d8

commit defe7950099b9f472d0dc03d621b1c8cd72ecc4d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sun Sep 6 09:29:39 2009 +0000

    Remove splint hints to silence warnings from ICC and MSVC.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81108 91177308-0d34-0410-b5e6-96231b3b80d8

commit e0223c296633ecaa5712c129a4cab7a0d6a3a9bf
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 08:55:57 2009 +0000

    Public and private corrections, warned about by icc (#304).
    Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c3f915679bede35de38a5702359ab5befc38b95
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 08:33:48 2009 +0000

    Remove some unused variables and methods warned about by
    icc (#177, partial).  Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81106 91177308-0d34-0410-b5e6-96231b3b80d8

commit bbfc76d44f8db3457b24e4c2fdfe0f7774a815a5
Author: Duncan Sands <baldrick@free.fr>
Date:   Sun Sep 6 07:23:28 2009 +0000

    Remove unneeded declaration, as warned about by
    icc (#1170).  Patch by Erick Tryzelaar.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81104 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb834e9b6313111b17d9d8ee62ffe3cdf75568f8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 6 02:31:36 2009 +0000

    Fix a possible crash call setIsInBounds.
     - I think there are more instances of this, but I think they are fixed in Dan's
       incoming patch. This one was preventing me from doing a bugpoint reduction
       though.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81103 91177308-0d34-0410-b5e6-96231b3b80d8

commit 610b1c2a518c8aba64f3e0967b7fd5442efce0b7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 6 02:31:26 2009 +0000

    Simplify, now that gtest supports raw_ostream directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81102 91177308-0d34-0410-b5e6-96231b3b80d8

commit ed6987d5e1669a0dec12cb470c38a0340ceabb7d
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Sun Sep 6 02:26:10 2009 +0000

    Revert r80926. It causes loop unswitch assertion and slow down some JIT tests significantly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f3451886cd728c60d38f8eec7b6608acc684cc6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 6 00:11:24 2009 +0000

    Revert "Include optional subclass flags, such as inbounds, nsw, etc., ...", this
    breaks MiniSAT on x86_64.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81098 91177308-0d34-0410-b5e6-96231b3b80d8

commit b7fb353614ccc2574e85f2f4d972e5b452c0e6ec
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Sep 6 00:00:13 2009 +0000

    Fix spacing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81097 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6fb7ceecb1b05ddf1c78d5be285fcf38499bbcdf
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Sat Sep 5 18:27:40 2009 +0000

    Now that googletest can print ConstantRange, use EXPECT_EQ when testing for
    equality. Prefer EXPECT_EQ(foo, Full) over EXPECT_TRUE(foo.isFullSet()) because
    the former will print out the contents of the constant range that failed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81094 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2539a0fd5649cc11926e0f8207c871509a064fc0
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Sep 5 18:16:17 2009 +0000

    Teach googletest to use raw_ostream instead of just std::ostream.
    This can break when there are implicit conversions from types raw_ostream
    understands but std::ostream doesn't, but it increases the number of cases that
    Just Work.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81093 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a5a153ce6ed9029a7a27f45b531a434c6139a40
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 12:38:44 2009 +0000

    Quote another '%S' in a test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81088 91177308-0d34-0410-b5e6-96231b3b80d8

commit 568d974702d7ebfc70a6dfae1fae5d69ed6b9d7a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 12:38:35 2009 +0000

    Rename %S metavar to %M (clang uses %S for the basename of the test file).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81087 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6af8408bd6fa8a5517b8f282f8f4519ccf1a7d4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 12:38:26 2009 +0000

    Temporary test files should use %t.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81086 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0edd5030da5e7f16bf7ae7728c55205bc2a45e7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 11:53:06 2009 +0000

    Don't depend on arch specific global prefix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81084 91177308-0d34-0410-b5e6-96231b3b80d8

commit b994d02f07d52dbb7876d2c273a278bf24d7cd22
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 11:35:16 2009 +0000

    Eliminate uses of %prcontext.
     - I'd appreciate it if someone else eyeballs my changes to make sure I captured
       the intent of the test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81083 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1a34ea6046da3f1645557e43e90ba92699ced486
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 11:34:53 2009 +0000

    opt: Add -S option to print output as LLVM assembly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81082 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b4b45c440ef66927923db8c90555f4a84ad1b93
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sat Sep 5 11:34:46 2009 +0000

    Eliminate some Tclisms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81081 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d876ee1f15217f2a537041f8d1e721dc8c20dc3
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Sep 5 08:50:14 2009 +0000

    Delete unused #include.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81076 91177308-0d34-0410-b5e6-96231b3b80d8

commit e509b44f6964be58d9d5204589d0e68b6ed9c432
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Sep 5 01:19:16 2009 +0000

    Stabilize the order of live intervals in the priority_queue used by the
    linear scan reg alloc.  This fixes a problem I ran into where extracting
    a function from a larger file caused the generated code to change (masking
    the problem I was trying to debug) because the allocator behaved differently.

    This changes the results for two X86 regression checks.  stack-color-with-reg
    is improved, with one less instruction, but pr3495 is worse, with one more
    copy.  As far as I can tell, these tests were just getting lucky or unlucky,
    so I've changed the expected results.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81060 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5290ac201f2bd669d8e09cfc45f98b6f39784324
Author: Devang Patel <dpatel@apple.com>
Date:   Sat Sep 5 00:34:14 2009 +0000

    Detect VLAs.
    Do not use DenseMap operator[] because it inserts new entry if lookup fails. Use find() to check an entry in a DenseMap first.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81058 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c03f0626103c650db38940c5edf806648f6895d
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Sep 4 23:59:07 2009 +0000

    Ignore malformed global variable debug info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81055 91177308-0d34-0410-b5e6-96231b3b80d8

commit 239b5780eeee253127897d0bcfe0386c483b784d
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Sep 4 22:45:23 2009 +0000

    Prune #includes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81052 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92469fe6cc59a9f06e4d9f26d0047a6702dec6f3
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Fri Sep 4 22:44:03 2009 +0000

    Remove an unneeded call to c_str().

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81051 91177308-0d34-0410-b5e6-96231b3b80d8

commit 71743a46b89750f45c71aa694c103c86c247c040
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri Sep 4 22:40:31 2009 +0000

    Added AsmToken enum constants to MCAsmLexer.h for '[', ']', '{', and '}' in
    preparation of supporting other targets. Then changed the lexer to parse these
    as tokens.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81050 91177308-0d34-0410-b5e6-96231b3b80d8

commit 685689cae6703e4ca9fce5805b44e99ca8047d4e
Author: Kevin Enderby <enderby@apple.com>
Date:   Fri Sep 4 21:45:34 2009 +0000

    Added the AsmToken::Hash enum constant to MCAsmLexer.h in preparation of
    supporting other targets.  Changed the code to pass MCAsmInfo to the parser
    and the lexer.  Then changed the lexer to use CommentString from MCAsmInfo
    instead of a literal '#' character.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81046 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08fe10526f25d21437fd484b007a6ab772ef794d
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Sep 4 21:32:05 2009 +0000

    While replacing an MDNode elment, properly update MDNode's operand list.
    MDNode's operand list does not include all elements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81045 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1573308b6dd6e548c3ac70d740579db0fb086c67
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Sep 4 21:22:04 2009 +0000

    Prevent warnings on compilers for which its not clear that assert won't return.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81044 91177308-0d34-0410-b5e6-96231b3b80d8

commit 056fc97aaab9f2ae097ee243175fb21a871b5462
Author: Lang Hames <lhames@gmail.com>
Date:   Fri Sep 4 21:03:07 2009 +0000

    Removed yet another std::ostream reference.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5cd57b09b71bd03b36c5d64707d50d05ca34618c
Author: Lang Hames <lhames@gmail.com>
Date:   Fri Sep 4 20:54:51 2009 +0000

    Removed some junk and a std::ostream operator that was hanging around.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81041 91177308-0d34-0410-b5e6-96231b3b80d8

commit d8f309943c6c05daa9e23f7bcb08cf5c18eb4a26
Author: Lang Hames <lhames@gmail.com>
Date:   Fri Sep 4 20:41:11 2009 +0000

    Replaces uses of unsigned for indexes in LiveInterval and VNInfo with
    a new class, MachineInstrIndex, which hides arithmetic details from
    most clients. This is a step towards allowing the register allocator
    to update/insert code during allocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81040 91177308-0d34-0410-b5e6-96231b3b80d8

commit d98806736fb1505ccad81879fdddb2cbd0ab4880
Author: Dale Johannesen <dalej@apple.com>
Date:   Fri Sep 4 20:19:09 2009 +0000

    Test for llvm-gcc commit 81037.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81038 91177308-0d34-0410-b5e6-96231b3b80d8

commit 19da904e44d1f35af13c72f0fc3bdd9ec3a0ba73
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Sep 4 17:21:59 2009 +0000

    Updated tests to use ProfileVerifer to test ProfileLoader and ProfileEstimator.
    (Keep disabled test disabled until selfhosted build issue is resolved.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81008 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2ae05a1c31ecc161fa2ddfec4d1ce8a7fc5c2eb
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Sep 4 17:15:10 2009 +0000

    Cleaned up ProfileVerifierPass.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086219.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 68eca1aeb53324309e2cc7ec68a91423ec2e41e3
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Sep 4 12:34:44 2009 +0000

    Converted MaximumSpanningTree algorithm to a generic template, this could go
    into llvm/ADT.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81001 91177308-0d34-0410-b5e6-96231b3b80d8

commit 99da1c065b2d6e4c4a175ec585b7e24f0f8f453a
Author: Dan Gohman <gohman@apple.com>
Date:   Fri Sep 4 12:08:11 2009 +0000

    Include optional subclass flags, such as inbounds, nsw, etc., in the
    Constant uniquing tables. This allows distinct ConstantExpr objects
    with the same operation and different flags.

    Even though a ConstantExpr "a + b" is either always overflowing or
    never overflowing (due to being a ConstantExpr), it's still necessary
    to be able to represent it both with and without overflow flags at
    the same time within the IR, because the safety of the flag may
    depend on the context of the use. If the constant really does overflow,
    it wouldn't ever be safe to use with the flag set, however the use
    may be in code that is never actually executed.

    This also makes it possible to merge all the flags tests into a single test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80998 91177308-0d34-0410-b5e6-96231b3b80d8

commit 680c2a0652497c5b9b550a147c96e506facb854b
Author: Duncan Sands <baldrick@free.fr>
Date:   Fri Sep 4 11:59:43 2009 +0000

    Use delete[] to match new[] (found by valgrind).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9dcb760ccdb1e1418afe31c42e6b26d663b00cbf
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 4 07:47:40 2009 +0000

    Run branch folding if if-converter make some transformations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 368ddcb5b8995476324018aed319e36085de3411
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Sep 4 07:46:30 2009 +0000

    Fix comment for consistency sake.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80993 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02d88831d19f9f0a81518af2db01e206aaa26473
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 4 05:07:52 2009 +0000

    Remove stale greps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80986 91177308-0d34-0410-b5e6-96231b3b80d8

commit b273bb5cd6ff131f608ec09f581d7db23d8cb530
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Sep 4 05:07:44 2009 +0000

    Update lib deps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80985 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d7babb3ed71916bf46f347d4ff0e0ea2a809c15
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 4 04:07:19 2009 +0000

    Convert tests to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9c2ed5cff22b49e07be176f3d4830b5bc67739c6
Author: Jim Grosbach <grosbach@apple.com>
Date:   Fri Sep 4 01:38:51 2009 +0000

    Whitespace cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80978 91177308-0d34-0410-b5e6-96231b3b80d8

commit 24fd31656faf1f70c5e4ade5b6462b2e66465748
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Sep 4 01:14:14 2009 +0000

    If there's a calling convention attach it to the rewind function call.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80976 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4d47c5af7087d582a2ae89641051543689e2026b
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Sep 4 00:32:31 2009 +0000

    Convert a test to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80975 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe0a279423e23454b9f41d59d2a86340fdceb8a8
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 3 23:54:22 2009 +0000

    Funky indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 146162cd340e559a31b8a3e3f67d358587a0f985
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 23:40:10 2009 +0000

    Revert "--- Reverse-merging r80908 into '.':", I already "fixed" this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80970 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1046e41998ac9178d87226cb0869612c22f5c6d1
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 23:34:49 2009 +0000

    Revert 80959. It isn't sufficient to solve the full problem. And it
    introduced regressions in the Ocaml bindings tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80969 91177308-0d34-0410-b5e6-96231b3b80d8

commit c527d7e5a814b834aaece6e67d2447b9d2d2be5e
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Thu Sep 3 23:27:31 2009 +0000

    Replace ocamlc tests with ocamlopt tests since they're less noisy.

    There's a bug with ocamlc that uses "char*" instead of "const char*" for
    global string variables. This causes g++ to be very noisy when linking
    ocamlc programs. That's why the ocaml test used to cat to /dev/null.
    ocamlopt doesn't have this problem, so we can get rid of the >/dev/null,
    which may obscure some problems.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80968 91177308-0d34-0410-b5e6-96231b3b80d8

commit e76bfd9f87d7255a4f0940e3a5f911e22cba7f6c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 3 23:13:46 2009 +0000

    --- Reverse-merging r80908 into '.':
    D    test/Analysis/Profiling

    --- Reverse-merging r80907 into '.':
    U    lib/Analysis/ProfileInfoLoaderPass.cpp

    Attempt to remove failure in the self-hosting build bot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80966 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3ff0b0ad79a27cbcfbfa456ae031b310bd64d63
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 22:57:02 2009 +0000

    Add test for PR4873, which works for me.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80965 91177308-0d34-0410-b5e6-96231b3b80d8

commit f154271b8e81b6fc65137b7fda7c935b9fe93203
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 22:53:57 2009 +0000

    LLVM currently represents floating-point negation as -0.0 - x. Fix
    FastISel to recognize this pattern and emit a floating-point
    negation using xor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80963 91177308-0d34-0410-b5e6-96231b3b80d8

commit 598ea31a7440ad0fae45e9fd4d7d640c431ef030
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Sep 3 22:48:51 2009 +0000

    Don't crash when target has no itineraries.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80962 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9ca26dded387110e8c7520f52bd635eb483d1ec
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Sep 3 22:19:22 2009 +0000

    If we've pushed registers onto the stack, but aren't adjusting the stack pointer
    (i.e., there are no local variables and stuff), we still need to output FDE
    information for the pushed registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80960 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f2ab4797b28ede081fda36855a26e8ec1b9357e
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 22:17:40 2009 +0000

    Remove the API for creating ConstantExprs with the nsw, nuw, inbounds,
    and exact flags. Because ConstantExprs are uniqued, creating an
    expression with this flag causes all expressions with the same operands
    to have the same flag, which may not be safe. Add, sub, mul, and sdiv
    ConstantExprs are usually folded anyway, so the main interesting flag
    here is inbounds, and the constant folder already knows how to set the
    inbounds flag automatically in most cases, so there isn't an urgent need
    for the API support.

    This can be reconsidered in the future, but for now just removing these
    API bits eliminates a source of potential trouble with little downside.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 856b38c3e9341ed6667788eb3c923be358ac5b71
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Sep 3 22:15:25 2009 +0000

    Create our own block initializer for kill fixups as the scheduling one wasn't doing the right thing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d88e9179113826d90cfe1653b8497e59798858b
Author: David Goodwin <david_goodwin@apple.com>
Date:   Thu Sep 3 22:12:28 2009 +0000

    Calls clobber FPSCR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80956 91177308-0d34-0410-b5e6-96231b3b80d8

commit 637600a68adadef8e2f835a18a1193c6f8a1f0b5
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Sep 3 22:07:30 2009 +0000

    Make ImmutableMap/ImmutableSet quicker by only canonicalizing the tree after an
    Add or Remove operation complete, and not while building the intermediate tree.
    This trades a little bit more memory usage for less accesses to the FoldingSet.  On a benchmark for the clang static analyzer, this shaves off another 13% of execution time when using field/array sensitivity.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80955 91177308-0d34-0410-b5e6-96231b3b80d8

commit bb45a492cfcb01b632213cf5e88f839f2ffb7a68
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 21:09:53 2009 +0000

    Disable some parts of the profiling-tool-chain test, which is currently failing
    on a self-hosted build (although it seems to work on non-self hosted). I'll work
    with Andreas to figure this out.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80947 91177308-0d34-0410-b5e6-96231b3b80d8

commit c653c95f431b4526287d26cb7b5c16860d61ab0a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 20:59:02 2009 +0000

    Remove dead greps.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80946 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa196cc6a40c2f1146f336ee904688ab37d9ac0e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Thu Sep 3 20:58:42 2009 +0000

    Overhaul the TwoAddressInstructionPass to simplify the logic, especially
    for the complicated case where one register is tied to multiple destinations.
    This avoids the extra scan of instruction operands that was introduced by
    my recent change.  I also pulled some code out into a separate
    TryInstructionTransform method, added more comments, and renamed some
    variables.

    Besides all those changes, this takes care of a FIXME in the code regarding
    an assumption about there being a single tied use of a register when
    converting to a 3-address form.  I'm not aware of cases where that assumption
    is violated, but the code now only attempts to transform an instruction,
    either by commuting its operands or by converting to a 3-address form,
    for the simple case where there is a single pair of tied operands.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80945 91177308-0d34-0410-b5e6-96231b3b80d8

commit ff6a63a57697e8f76e9188b34bc75486528e04ba
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 20:36:13 2009 +0000

    Smallvectorize switchExitBlocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80942 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f876cd88bcf8204ec52dfb03a474a154ad60617
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 3 20:35:57 2009 +0000

    There is not any need to copy metadata while merging modules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80941 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41b3f4abc695b3ce178e1db7610b34d3745ed22d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 20:34:31 2009 +0000

    Recognize more opportunities to use SSE min and max instructions,
    swapping the operands if necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80940 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc3c526a5b0a6c97231ab1af117053fc2c89c491
Author: Mon P Wang <wangmp@apple.com>
Date:   Thu Sep 3 19:57:35 2009 +0000

    Test cases for vector shifts changes r80935
    Changed the old vector shift test to use FileCheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80936 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04c767e3a81142583c41927d68387f8663cda8e8
Author: Mon P Wang <wangmp@apple.com>
Date:   Thu Sep 3 19:56:25 2009 +0000

    Fixed a few problems with vector shifts
      - when transforming a vector shift of a non-immediate scalar shift amount, zero
        extend the i32 shift amount to i64 since the vector shift reads 64 bits
      - when transforming i16 vectors to use a vector shift, zero extend i16 shift amount
      - improve the code quality in some cases when transforming vectors to use a vector shift

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80935 91177308-0d34-0410-b5e6-96231b3b80d8

commit e84197bc92efd8ee0a1ac63324783d6fcaf0ffd7
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 17:18:51 2009 +0000

    Add a -disable-16bit flag and associated support for experimenting with
    disabling the use of 16-bit operations on x86. This doesn't yet work for
    inline asms with 16-bit constraints, vectors with 16-bit elements,
    trampoline code, and perhaps other obscurities, but it's enough to try
    some experiments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80930 91177308-0d34-0410-b5e6-96231b3b80d8

commit e71842bebb922af77f158cf2bb577575b51a4219
Author: Kevin Enderby <enderby@apple.com>
Date:   Thu Sep 3 17:15:07 2009 +0000

    Removed the non-target independent AsmToken::Register enum constant
    from MCAsmLexer.h in preparation of supporting other targets.  Changed the
    X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking
    for AsmToken::Percent when parsing in places that used AsmToken::Register.
    Then changed X86ATTAsmParser::ParseRegister to parse out registers as an
    AsmToken::Percent followed by an AsmToken::Identifier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80929 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb4fa6f860001c6f6663a5c782fae0fa0e83717b
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 3 17:03:47 2009 +0000

    Use WeakVH to hold dead mdnodes. Check use_empty() before deleting a node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80928 91177308-0d34-0410-b5e6-96231b3b80d8

commit 024ec13192dc9720da09edad698851bddf699c70
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 16:32:58 2009 +0000

    Make bugpoint use ParseIRFile instead of doing the same thing manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80927 91177308-0d34-0410-b5e6-96231b3b80d8

commit da313a3723d8fa74893b2b902719daf1b0021e67
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 16:31:42 2009 +0000

    Add a verifyAnalysis to LoopInfo, LoopSimplify, and LCSSA form that verify
    that these passes are properly preserved.

    Fix several transformation passes that claimed to preserve LoopSimplify
    form but weren't.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80926 91177308-0d34-0410-b5e6-96231b3b80d8

commit bad01c4020d7f8048903b13ad2457323f5ab0359
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 16:11:53 2009 +0000

    Remove some unnecessary -f options.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80924 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c42c875f7b8a18b3f3945bf52bbab2fa59450c3
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 16:10:48 2009 +0000

    Move getUniqueExitBlocks from LoopBase to Loop, since they depend on
    LoopSimplify form, which is currently only available on Loops (and
    not MachineLoops). Also, move the code out of the header file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80923 91177308-0d34-0410-b5e6-96231b3b80d8

commit fb17470d7382d820c535988315c65da4e9de0b48
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 16:00:08 2009 +0000

    Use IRReader.h in opt, to support reading of LLVM Assembly files directly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80922 91177308-0d34-0410-b5e6-96231b3b80d8

commit 798e541fbdd6cdc2da6e6f153b3704d350bd3167
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 15:34:35 2009 +0000

    Change PHINode::hasConstantValue to have a DominatorTree argument
    instead of a bool argument, and to do the dominator check itself.
    This makes it eaiser to use when DominatorTree information is
    available.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80920 91177308-0d34-0410-b5e6-96231b3b80d8

commit 242b4738d28335a58e08db01c2748d0488885348
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 15:09:24 2009 +0000

    Don't try to verify a LoopPass analysis if the loop has been deleted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80919 91177308-0d34-0410-b5e6-96231b3b80d8

commit f925d7f97fdec5c23250d06d3f93ab41f58afb3f
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Sep 3 15:00:26 2009 +0000

    Remove references to expression "handles", which are no longer used.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80918 91177308-0d34-0410-b5e6-96231b3b80d8

commit d809156d5c860a90cf7b1a8dfb9db62dcc5e6f06
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Sep 3 14:58:24 2009 +0000

    CppBackend: avoid printing unnecessary whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80917 91177308-0d34-0410-b5e6-96231b3b80d8

commit c50fa7ec0a396461d9addda9b078560e0a7d0e41
Author: Duncan Sands <baldrick@free.fr>
Date:   Thu Sep 3 13:37:16 2009 +0000

    Keep track of how many memmove calls were turned into
    memcpy calls.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80915 91177308-0d34-0410-b5e6-96231b3b80d8

commit 551c462cc936f64e1462b7a973e54e340ae657a4
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Sep 3 09:11:10 2009 +0000

    Fix build warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80912 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34dd111c5c8a54d2b512999eb5179d42a746cf30
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Sep 3 08:52:52 2009 +0000

    Code Cleanup.

    Removed inverted flag form MaximumSpanningTree, also do not handle so much
    information to MaximumSpanningTree.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80911 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b8513dd94dfd5246166b2762638c05bb5b3a01a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 08:41:19 2009 +0000

    Filter out -fno-rtti from CXXFLAGS as well (in an expensive checks build).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80910 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36079a8ecc6c65b737304e18dce9c336704a0200
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Thu Sep 3 08:41:05 2009 +0000

    Code Cleanup.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086139.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80909 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b503ff0f62f1359cfc0f35ad36a376296c43b32
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 07:38:00 2009 +0000

    Reapply profiling tests.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80908 91177308-0d34-0410-b5e6-96231b3b80d8

commit df7d5b1736f8fc99a8f5bedcd96559d099793d92
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 07:37:42 2009 +0000

    Remove undefined behavior when loading optimal edge profile info.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80907 91177308-0d34-0410-b5e6-96231b3b80d8

commit b55972f828465055a2e144cf74733abad3132534
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 07:36:42 2009 +0000

    don't call getOffset() on jump tables, this fixes three failing olden benchmarks
    with the new asmprinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80906 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02c96d78837bceaecb699bbd4e404403f8188c14
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 07:30:56 2009 +0000

    Implement support for X86II::MO_GOT_ABSOLUTE_ADDRESS.  We get very
    different formatting from the old asmprinter, but it should be
    semantically the same.  We used to get:

    	popl	%eax
    	addl	$_GLOBAL_OFFSET_TABLE_ + [.-.Lllvm$6.$piclabel], %eax
    ...

    Now we get:

    	popl	%eax
    .Lpicbaseref6:
    	addl	$(_GLOBAL_OFFSET_TABLE_ + (.Lpicbaseref6 - .Lllvm$6.$piclabel)), %eax
    ...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80905 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba2cf3d635dcc68ac416f56b767fd79d77ea7c83
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 3 07:04:02 2009 +0000

    Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80904 91177308-0d34-0410-b5e6-96231b3b80d8

commit 04791af064e508422996148f33ef1f5f48c29e5b
Author: Nick Lewycky <nicholas@mxc.ca>
Date:   Thu Sep 3 06:43:15 2009 +0000

    Remove VISIBILITY_HIDDEN from this file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80903 91177308-0d34-0410-b5e6-96231b3b80d8

commit 93d228067020d3f32f6b45799ad394fa34b9b160
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 06:29:23 2009 +0000

    merge all the basic linux/32 pic tests together into one test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80902 91177308-0d34-0410-b5e6-96231b3b80d8

commit c420c6c39eae9503d0a3054400fc5615b02bbf1c
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 06:16:49 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80901 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53d76257db225c1ecc3de84096aae77c4493a962
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 06:15:11 2009 +0000

    use a darwin triple

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80900 91177308-0d34-0410-b5e6-96231b3b80d8

commit c13d5b47266168db627ade3cf5a4157d61949af0
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 06:13:54 2009 +0000

    TAI -> MAI

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80899 91177308-0d34-0410-b5e6-96231b3b80d8

commit fba9e5022d361fa9d772c6b00881c8f1478f09ae
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 06:13:45 2009 +0000

    adjust expected lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80898 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5b06e6b2786ec34435e46720ba44a909193c018
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 06:00:00 2009 +0000

    improve comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80897 91177308-0d34-0410-b5e6-96231b3b80d8

commit 648353a52f524287325e5f5af31aa88f40ed0f76
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:57:47 2009 +0000

    fix MCSymbol printing to exactly match the normal mangler rules so
    we can diff .s files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80894 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90c1949efa972a6078654f6b766ff6b7808b3798
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:54:00 2009 +0000

    remove extraneous hack.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80893 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9cc58801a61ba37f4a90b6093ced685fa0197ff6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 05:47:34 2009 +0000

    Make these functions static and local.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80892 91177308-0d34-0410-b5e6-96231b3b80d8

commit 43ba45cb0f893fd58a0a9f4e80bc455f36b6e46d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 05:47:22 2009 +0000

    Tweak comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80891 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0fe3a1ed4567dfdd45125c95beed6c6b77be2088
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:46:51 2009 +0000

    Thread an MCAsmInfo pointer through the various MC printing APIs,
    and fix a few things using << on MCSymbols to use ->print(). No
    functionality change other than unbreaking my previous patch.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80890 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad1950e0138c65a6e0d329055b4f60402bc36cbb
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:39:09 2009 +0000

    just use dump()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80889 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c75f8d66dd9d6a2ff443ab2fbe16c4d30a8ea1e
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:33:01 2009 +0000

    inline insertion operators.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80888 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2342099f65d7f45542126efa911117c0099a4f5d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:19:59 2009 +0000

    In C++, code is not allowed to call main.  In C it is, this
    simplifylibcalls optimization is thus valid for C++ but not C.
    It's not important enough to worry about for C++ apps, so just
    remove it.

    rdar://7191924

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80887 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dccf61c7f1d8dbb338f4c0afa20408f53a095c8
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 05:06:07 2009 +0000

    merge globaladdress symbol processing stuff into other stuff.  Now
    all global variable operand flag processing stuff is shared between
    different operand types.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80886 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b6365ff99c7c321926f0c5b46536665a97f8676
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 3 05:01:00 2009 +0000

    Unbreak x86_64 build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80885 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5750f44c1063978fa51a46362c8c6a1c52445817
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 04:56:20 2009 +0000

    Split the "operand -> symbol" logic from the "get offset and other munging
    from operand" logic.  GlobalAddress still todo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80884 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9fb70d6e3120d738d14e0b8fa26e3e492cba6e5a
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 04:44:53 2009 +0000

    implement lowering support for constant pool index operands, this gets a bunch more
    olden programs working.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80881 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5746a94642c6f34c8476fd113ad7913c27a5bc38
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Sep 3 04:37:05 2009 +0000

    X86JITInfo::getLazyResolverFunction() should not read cpu id to determine whether sse is available. Just use consult subtarget.

    No functionality changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80880 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc699fcbd21999eeee0e6659b6aee4f7a9d8c8ec
Author: Ted Kremenek <kremenek@apple.com>
Date:   Thu Sep 3 04:21:34 2009 +0000

    Set the 'cached digest' flag after computing the digest for an
    ImutAVLTree.  This was accidentally left out, and essentially caused
    digest caching to be ignored in ImmutableMap and ImmutableSet (this
    bug was detected from shark traces that showed ComputeDigest was in
    the hot path in the clang static analyzer).

    This reduces the running time of the clang static analyzer on an
    example benchmark by ~32% for both RegionStore (field-sensitivty) and
    BasicStore (without field-sensitivity).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80877 91177308-0d34-0410-b5e6-96231b3b80d8

commit 613e05408626a631c011a3f141eff2d6eea9f1f2
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 04:03:44 2009 +0000

    update test for alignment value in hex

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80876 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27f44adc3b16ead29795d1a06e6be88d8de21471
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 04:01:10 2009 +0000

    output alignment value in hex so that we get:
      .align 3, 0x90
    instead of,
      .align 3, 144

    suggested by eric.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80875 91177308-0d34-0410-b5e6-96231b3b80d8

commit 862164990329cfcc3dc83d595cb8304913f1218d
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Sep 3 03:54:02 2009 +0000

    simplify this by using SmallString::str(), much nicer!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80874 91177308-0d34-0410-b5e6-96231b3b80d8

commit e86b0df8fc92fdeb05d03897afe4802ee5108dae
Author: Lang Hames <lhames@gmail.com>
Date:   Thu Sep 3 02:52:02 2009 +0000

    Fixed a test that ensures the LocalRewriter does not attempt to
    avoid reloads by reusing clobbered registers.

    This was causing issues in 256.bzip2 when compiled with PIC for
    a while (starting at r78217), though the problem has since been masked.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80872 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5a6b6b43459b875e88d598c232ddef7b805fe107
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Sep 3 02:02:59 2009 +0000

    back out my recent commit (r80858), it seems to break self-hosting buildbot's stage 2 configure

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80871 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0cb8b7ce425011e4caedfb841fdfc0aa38e6cff
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 3 01:39:20 2009 +0000

    Now Bitcode reader bug is fixed. Reapply 80839.

    Use CallbackVH, instead of WeakVH, to hold MDNode elements.
    Use FoldingSetNode to unique MDNodes in a context.
    Use CallbackVH hooks to update context's MDNodeSet appropriately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80868 91177308-0d34-0410-b5e6-96231b3b80d8

commit deda3956ac6e8af372398bd9f4fd64c9cdf02711
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Sep 3 01:38:02 2009 +0000

    Add new value for given index in MDValuePtrs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80867 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e48cf651240e745819e2cbf5cd837b4c24141b1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Sep 3 01:10:13 2009 +0000

    Improve llvm::getHostTriple for some cases where the LLVM_HOSTTRIPLE is not
    reliable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80863 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe15ce4a51f0d83bd2a0bb788af70663fc8713aa
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Sep 3 00:18:58 2009 +0000

    re-commit r66920 (which has been backed out in r66953) I may have more luck this time. I'll back out if needed...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80858 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66fdfa0595d378249f8ff71168d0fe923a828b9a
Author: Sean Callanan <scallanan@apple.com>
Date:   Thu Sep 3 00:04:47 2009 +0000

    Added opaque 32-, 48-, and 80-bit memory operand types to the X86
    instruction tables to support segmented addressing (and other objects
    of obscure type).
    Modified the X86 assembly printers to handle these new operand types.
    Added JMP and CALL instructions that use segmented addresses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80857 91177308-0d34-0410-b5e6-96231b3b80d8

commit 401011eae07426d5669af7c96bb06e92cff60cfe
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 2 23:52:38 2009 +0000

    Show derived host triple in --version.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80855 91177308-0d34-0410-b5e6-96231b3b80d8

commit eba47222d28036cebbd582e4dc84fefa3f76de49
Author: Shantonu Sen <ssen@apple.com>
Date:   Wed Sep 2 23:52:23 2009 +0000

    Improve support for cross-hosted builds of LLVM.
    --build=triple and other configure options are passed
    to the BuildTools/ sub-invocation more consistently

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80854 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66284fca05a7b78636f9f99a14bddf2e16f4f570
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Sep 2 22:45:31 2009 +0000

    Unbreak my CMake build. Say you'll link again.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80842 91177308-0d34-0410-b5e6-96231b3b80d8

commit 03ebfa2ba332dcf86a3233b11397f6699c6ac157
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 2 21:49:26 2009 +0000

    Revert 80839 for now. It causes test failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80841 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22d00c4b5b0845531feead561116ede02a7354b9
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 2 21:22:09 2009 +0000

    Use CallbackVH, instead of WeakVH, to hold MDNode elements.
    Use FoldingSetNode to unique MDNodes in a context.
    Use CallbackVH hooks to update context's MDNodeSet appropriately.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80839 91177308-0d34-0410-b5e6-96231b3b80d8

commit b261a1986acd86bb414d8e9e190a4e15742efc44
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Sep 2 21:21:28 2009 +0000

    More missed vdup patterns

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80838 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22f2b1c131b207894d8167b516b11aa4c0776e90
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 19:35:19 2009 +0000

    Switch llc from ParseBitcodeFile to ParseIRFile. This lets llc
    transparently read either LLVM Assembly or LLVM Bitcode files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80829 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1bbc7078b1f3d61b52af07ff6ab8344c26d179a6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 19:21:56 2009 +0000

    Add a comment noting the memory ownership rules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80827 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56747f2521918e90a939a2db2d8c8e88f9688b89
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 17:54:06 2009 +0000

    Add convenience functions for reading in LLVM IR that autodetect
    and LLVM Assembly and LLVM Bitcode and automatically call the
    corresponding reader.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80809 91177308-0d34-0410-b5e6-96231b3b80d8

commit b8f1df36008dbe45eb80c218979020088c800283
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 17:37:38 2009 +0000

    switch from std::string to SmallString + raw_svector_ostream.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80807 91177308-0d34-0410-b5e6-96231b3b80d8

commit b16f72e48e2ca32c5e795f7f302c1a7448c56b19
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 17:35:12 2009 +0000

    split mcinst lowering stuff out to its own file.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80806 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3b034848455f9961fd34ec9cb6108095c8302cf
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 17:31:42 2009 +0000

    Fix the syntax of add/sub/mul nsw/nuw and sdiv exact.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80805 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f603892701d4630990e7a552354c8cf2b6374dd
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 17:21:29 2009 +0000

    Add const qualifiers for isBitcodeWrapper, and add new functions
    isRawBitcode and isBitcode to allow clients to test whether a given
    memory buffer holds a bitcode image.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80804 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18721d0596e31317458834d4d6bb0cbdd9d9a332
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 17:18:19 2009 +0000

    Refactor common code from ParseAssemblyString and ParseAssemblyFile,
    to expose a low-level interface for parsing from an existing MemoryBuffer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80803 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5c7b1d9dd31abf15bdeb32ec2dd09b666114da7e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 17:05:05 2009 +0000

    Add const qualifiers to dominates' arguments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80801 91177308-0d34-0410-b5e6-96231b3b80d8

commit c53892f60f8828b82695fff8895223bf6abdc1a4
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 2 16:47:24 2009 +0000

    Removed temporarily because of breaking Darwin builds.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086214.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80799 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa2d3271d5e771007cf55840bb4eae119c02818c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Sep 2 16:35:35 2009 +0000

    Rearrange code to eliminate redundancy and avoid gotos.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80798 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58837339ac130fbb4a0d1c6456584d7b6d933b71
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Wed Sep 2 15:02:57 2009 +0000

    plug another leak in LLParser::PerFunctionState::SetInstName()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80792 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2c6e434dc05bbb5cf3eac56dce1ad05d6c97e77f
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 2 14:24:08 2009 +0000

    Changed profiling-tool-chain.ll test to use optimal-edge-profiling instead of
    edge-profiling, this is more useful since the loading of the
    optimal-edge-profiling is more complicated.
    The edge-profiling is tested in edge-profiling.ll where only the
    instrumentation is tested.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80791 91177308-0d34-0410-b5e6-96231b3b80d8

commit f50aecf1cc4ff2b3272d1f4ed6c1783220152875
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Wed Sep 2 14:22:03 2009 +0000

    plug memory leak in LLParser::PerFunctionState::SetInstName() by deleting a value after replacing it

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80790 91177308-0d34-0410-b5e6-96231b3b80d8

commit 46ef7bea5c421a06f05d376742413c18d82e35f6
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 2 14:03:11 2009 +0000

    Sort edges in MaximumSpanningTree more stable in case of equal weight.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085890.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80789 91177308-0d34-0410-b5e6-96231b3b80d8

commit f73818861a527851de1f63c34803548dc4844416
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 2 13:59:05 2009 +0000

    Changed set of BlocksToInstrument to set of InsertedBlocks that do not have to
    be instrumented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80788 91177308-0d34-0410-b5e6-96231b3b80d8

commit 98004cce823f3ae209052fb1229d516dfc0b22df
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Sep 2 12:38:39 2009 +0000

    Code cleanups and added comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80781 91177308-0d34-0410-b5e6-96231b3b80d8

commit b65febdbf1a37695e2dea5cee9e5dca9e181fb14
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Sep 2 12:23:05 2009 +0000

    Opaque types didn't work if llvm_is_multithreaded().
    AlwaysOpaqueTy is always NULL at this point, and it causes an assertion failure.
    Fix it by using the just constructed tmp instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80780 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1298be5a7cc8edb31e1e825a7ddbc755a39bf2f0
Author: Nuno Lopes <nunoplopes@sapo.pt>
Date:   Wed Sep 2 11:58:01 2009 +0000

    set svn:ignore

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80779 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0aebd0cd8b56b87682114d314e77f13a5920f9db
Author: Edwin Török <edwintorok@gmail.com>
Date:   Wed Sep 2 11:13:56 2009 +0000

    Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in
    r80406, and readd a -print-dbginfo test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80778 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5838baa4a8aedfd453a5b0663425979c77e4e285
Author: Sandeep Patel <deeppatel1987@gmail.com>
Date:   Wed Sep 2 08:44:58 2009 +0000

    Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80773 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c3d6c1f0cacdc5a01a66ce5f99e09848f0d58f3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 06:34:22 2009 +0000

    Fix month.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80769 91177308-0d34-0410-b5e6-96231b3b80d8

commit 47ecca719dca162477c10e787bb1ab0c4c571ece
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 06:31:02 2009 +0000

    fix PR4815: some cases where DeleteDeadInstruction can delete
    the instruction BBI points to.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80768 91177308-0d34-0410-b5e6-96231b3b80d8

commit 77f1627b24f4256e414864513212cc4648e89dcc
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 06:15:37 2009 +0000

    clean up this code a bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80767 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa2d1ba102a74ecb0444957e0e5e1e99b064bfc3
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 06:11:42 2009 +0000

    eliminate VISIBILITY_HIDDEN from Transforms/Scalar.  PR4861

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80766 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84a6720fa162828ccf52531135afc2449662a2cd
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 05:57:00 2009 +0000

    refactor select 'sched insertion' out to its own method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80764 91177308-0d34-0410-b5e6-96231b3b80d8

commit 556464fc42a499f616530d6c9ec3ab698a05aa90
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 05:53:04 2009 +0000

    Add support for modeling whether or not the processor has support for
    conditional moves as a subtarget feature.  This is the easy part of
    PR4841.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80763 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12aaa0197524bcbf878774e442335813667b8518
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 05:35:45 2009 +0000

    fix PR4848 an infinite loop when indexing down through a recursive gep
    and we get the original pointer type.  This doesn't mean that we're
    at the first pointer being indexed.  Correct the predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80762 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41c09930cfb4e36227f5f73bb618d2a7aa4da884
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 05:12:37 2009 +0000

    fix PR4837, some bugs folding vector compares.  These
    return a vector of i1, not i1 itself.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80761 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc05eef1c31d86b525f0d80429a13344b13192a2
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 04:39:04 2009 +0000

    revert my patch, duncan points out what is wrong with my logic.  Add
    a comment so that I don't change this in the future :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80760 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9d256f1e48cf074e739f478a48f9619797cbe4c1
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Sep 2 04:34:06 2009 +0000

    one more try at making this simpler, hopefully it won't break everything :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80759 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1585abba762e44ee70734e77dded04d3a6a77a7
Author: Duncan Sands <baldrick@free.fr>
Date:   Wed Sep 2 03:48:41 2009 +0000

    Complicate Chris's simplification, avoiding complaints
    about singular iterators when building with expensive
    checks turned on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80757 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7a9a27a450dce545da94ffc43df64c776eabaeb
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Sep 2 02:43:11 2009 +0000

    Don't force the triple or data layout in this test. We just have to get them
    from the host and hope that works.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80751 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7b5cdc094c42b788e1c0d6708ba5fa077eca7f8a
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Sep 2 01:14:16 2009 +0000

    Add a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80749 91177308-0d34-0410-b5e6-96231b3b80d8

commit 251676e7beab341460c562976a1f3f4a2f873929
Author: Sean Callanan <scallanan@apple.com>
Date:   Wed Sep 2 00:55:49 2009 +0000

    Fixed the asmstrings for 8-bit, 16-bit, and 32-bit ADD %rAX, imm instructions.
    Added a 64-bit ADD %RAX, imm32 instruction.
    Added all 4 forms for AND %rAX, imm and CMP %rAX, imm.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80746 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5f0d0810c3224d8296a90ee7c504d19f6b99ea89
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Wed Sep 2 00:19:03 2009 +0000

    Fix PR4845: r77946 completely broke x86_64 Darwin (or any situation where the
    desired triplet is a sub-target, e.g. thumbv7 vs. arm host). Reverting the
    patch isn't quite right either since the previous behavior does not allow the
    triplet to be overridden with -march.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80742 91177308-0d34-0410-b5e6-96231b3b80d8

commit aae9da7d74762fa1aef3d9e9b3eba4657eb5bfd8
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Sep 2 00:16:33 2009 +0000

    Disable uniqueness test for now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80741 91177308-0d34-0410-b5e6-96231b3b80d8

commit bd93206d2cd5cfc5482b8b9d17a9d7e2862fe26b
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 1 23:56:42 2009 +0000

    For now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on certain Mac OS X 10.5. I am working on a proper fix.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80738 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a073840a9863f7fde14aba104621ce546f35510
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 23:18:46 2009 +0000

    Avoid calling removeVirtualRegisterKilled which iterates over the operands
    to find the kill, since we already have the operand.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80736 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4868b2482d56166b836de78a4b35607a799f7958
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 22:51:08 2009 +0000

    Refactor some code into separate functions.  No functional changes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80733 91177308-0d34-0410-b5e6-96231b3b80d8

commit 432d176192c6a1707a9f714ea00ea500f1d9a6ee
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 22:19:00 2009 +0000

    Move use of LV inside condition that guards for null LV.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80731 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7cc00874d5de3b00205dcce03e05205916697d38
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 1 22:07:12 2009 +0000

    Fix build warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80730 91177308-0d34-0410-b5e6-96231b3b80d8

commit 064aca1f4cb7a3ac916d665db62056008ecde927
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 1 22:07:06 2009 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80729 91177308-0d34-0410-b5e6-96231b3b80d8

commit 914bc71e34cfa976d86bcd7c95fafd794dcc2020
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 1 22:07:00 2009 +0000

    Fix what I believe is a copy-n-pasto introduced in r78129.
     - Bruno, please check!!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80728 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ac6c04c49a83ce12779ca42416fe5512e69a01e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 1 22:06:53 2009 +0000

    X86/Encoding: Support ExternalSymbol operands in emitDisplacementField (for consistency).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80727 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9f086b93c3bb001b72590024114ac8c19f5abdaa
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 1 22:06:46 2009 +0000

    Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80726 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dfe01d21e412c113b13e222c0fde9970d258af2
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 21:37:50 2009 +0000

    debug intrinsics do not go in the callgraph, this fixes a couple
    clang regtest failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80724 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0934baa37a70c413600ebc3f2219822cbaf90830
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 20:33:43 2009 +0000

    Fix a regression I introduced in r80708, found by llvm-test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80718 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0c971ca2967e9dd20f26d8d68cacb131dd2fb7ca
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Sep 1 19:25:52 2009 +0000

    Fix ELF Writter related memory leaks

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80717 91177308-0d34-0410-b5e6-96231b3b80d8

commit 231d73422a43624472e0ff74a1d9ec30740c7adb
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 19:08:51 2009 +0000

    OptimalEdgeProfiling: Reading in Profiles.
    This enables LLVM to read the OptimalEdgeProfiles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80715 91177308-0d34-0410-b5e6-96231b3b80d8

commit 595887666dae3198db047b6e718129fdcf45ab8a
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 19:05:58 2009 +0000

    Addedum to r80712, forgot to add files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80713 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10dd7a2d9c1c123260c8afd730be1c109a20bb2c
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 19:03:44 2009 +0000

    OptimalEdgeProfiling: Creation of profiles.
    This adds the instrumentation and runtime part of OptimalEdgeProfiling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80712 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8093b5dc9a1e310a79fc7af83c1fc2e1867c2ef7
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 19:01:59 2009 +0000

    Small fix in ProfileEstimator that eliminates duplicated code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80711 91177308-0d34-0410-b5e6-96231b3b80d8

commit d5496d944b0095cfd0d1cc93386a3c569b7f06d5
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 18:55:08 2009 +0000

    reduce size of SmallString to something more reasonable

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80710 91177308-0d34-0410-b5e6-96231b3b80d8

commit b980f057d2ea2119836fbf39040ca8e49386d297
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 18:52:39 2009 +0000

    remove CallGraphNode::replaceCallSite, it is redundant with other APIs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80708 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2d6585e5e77e5b44a9440f7cb821dada5009692
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 18:51:56 2009 +0000

    Add support for generating code for vst{234}lane intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80707 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b6ab543047eac94f4155297b7b12af78e0e6a6d
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 18:50:55 2009 +0000

    cleanup/simplify

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80706 91177308-0d34-0410-b5e6-96231b3b80d8

commit 10d150b7c19caf36e4dbe6505c0b43cf62c0a858
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 18:50:43 2009 +0000

    Fix incorrect declarations of intrinsics in this test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80705 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1e58780928c42ba7c34deb7bbb35c17391b3d36e
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 18:49:12 2009 +0000

    Use raw_ostream instead of sstream

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80704 91177308-0d34-0410-b5e6-96231b3b80d8

commit ecd40faa95e178986ff2fec6c7eaae10692be6f9
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 18:44:06 2009 +0000

    remove a bunch of explicit code previously needed to update the
    callgraph.  This is now dead because RAUW does the job.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80703 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b023dd6936966cce0cfea28c5148168f7a5b40e
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Sep 1 18:34:03 2009 +0000

    Add hidden flags to allow binary search of post-RA scheduling errors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80702 91177308-0d34-0410-b5e6-96231b3b80d8

commit 02b0e35f988abea2d6e5a07a854b4c6192872355
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Sep 1 18:32:09 2009 +0000

    RRX reads CPSR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80699 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c79378308526587066ea216550858e780fd6423
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 18:32:03 2009 +0000

    doxygenate RefreshCallGraph, add a new 'verification mode', and run it after
    CGSCC passes make change to ensure they are updating the callgraph correctly
    (when assertions are enabled).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80698 91177308-0d34-0410-b5e6-96231b3b80d8

commit 96d7ddc073ae2bdbf5e0bda96a5d7d8f7185ecb4
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Sep 1 18:29:01 2009 +0000

    Fix a typo in a comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80697 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e4b1a34d5b499ec5547537b59505158e643305c
Author: Sean Callanan <scallanan@apple.com>
Date:   Tue Sep 1 18:14:18 2009 +0000

    Added TEST %rAX, $imm instructions to the Intel tables.  These are required for the X86 disassembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80696 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2507c18bfc58d649a6ddd20b3e3ce41b2ed0793f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 18:13:40 2009 +0000

    simpler solution to iterator invalidation "problem" found
    by expensive checking.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80695 91177308-0d34-0410-b5e6-96231b3b80d8

commit d23a9667c9e7f88f4cdb2befc3adc08a5b7df776
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 17:56:32 2009 +0000

    enhance memcpy opt to turn memmoves into memcpy when the src/dest
    don't alias.  Remove an old and poorly reduced testcase that fails
    with this transform for reasons unrelated to the original test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80693 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8f43b86c52646711a6906e516e17b32224f1a104
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Tue Sep 1 17:27:58 2009 +0000

    Reapply 80278

    Add MO flags to simplify the printing of relocations.
    Remove the support for printing large code model relocs (which
    aren't supported anyway).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80691 91177308-0d34-0410-b5e6-96231b3b80d8

commit 598082b1dd506ca0d6540f2bcaded867bfbf77af
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 17:19:13 2009 +0000

    revert inadvertant change from previous commit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80689 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e8a8c4cb8746fbe3d199d69b1efcabe557eec3f
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 17:09:55 2009 +0000

    random code cleanups, no functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80682 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3efbb51978df6a37350f8d9d8c67ff3a988ad585
Author: Ted Kremenek <kremenek@apple.com>
Date:   Tue Sep 1 17:01:02 2009 +0000

    Update CMake files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80680 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90cc01b4e49618f75a3cb899cefaa0abe9ca7066
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 16:43:35 2009 +0000

    Simply LSDA lable emission to use a direct special-case output instead of
    EmitLabel()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80677 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce59c1a172148acb3140cd46dcb94a9d225f31d5
Author: Duncan Sands <baldrick@free.fr>
Date:   Tue Sep 1 15:13:02 2009 +0000

    Do not manipulate invalid iterators.  This fixes the
    llvm-gcc build when expensive checking is turned on.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80671 91177308-0d34-0410-b5e6-96231b3b80d8

commit 724c3211128a50b60e5e479d0e6b66de710a6470
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Tue Sep 1 10:47:31 2009 +0000

    Further refactoring of PIC16 Obj file code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80670 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba2ab19fb3bd60795d5e5c84d5ada7121ab5d282
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Tue Sep 1 10:24:10 2009 +0000

    Update CMakeLists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80669 91177308-0d34-0410-b5e6-96231b3b80d8

commit 204b27e24b13676075ab11b149b3a67db3c59f03
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 10:08:39 2009 +0000

    Preparation for Optimal Edge Profiling:
    Add statistics for regular edge profiling, this enables the comparation of the
    number of edges inserted by regular and optimal edge profiling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80668 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09ae6e0d77d7eb3339a20c613a6f0a9c391dc9f3
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 10:06:05 2009 +0000

    Preparation for Optimal Edge Profiling:
    Optimal edge profiling is only possible when blocks with no predecessors get an
    virtual edge (BB,0) that counts the execution frequencies of this
    function-exiting blocks.
    This patch makes the necessary changes before actually enabling optimal edge profiling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80667 91177308-0d34-0410-b5e6-96231b3b80d8

commit 76448f751688349d8dc7330dbe56ba0165878790
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Sep 1 08:48:42 2009 +0000

    Preparation for Optimal Edge Profiling:
    This adds a pass to verify the current profile against the flow conditions.
    This is very helpful when later on trying to perserve the profiling information
    during all passes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80666 91177308-0d34-0410-b5e6-96231b3b80d8

commit aabe25ea1ff3a49b6daa2e643cdb92ac8cc285f5
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 06:33:49 2009 +0000

    testcase for PR3601

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80664 91177308-0d34-0410-b5e6-96231b3b80d8

commit a59b5decad2d3e3b9e2f565ff5d4e1857b9202a1
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Sep 1 06:31:31 2009 +0000

    Change CallGraphNode to maintain it's Function as an AssertingVH
    for sanity.  This didn't turn up any bugs.

    Change CallGraphNode to maintain its "callsite" information in the
    call edges list as a WeakVH instead of as an instruction*.  This fixes
    a broad class of dangling pointer bugs, and makes CallGraph have a number
    of useful invariants again.  This fixes the class of problem indicated
    by PR4029 and PR3601.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80663 91177308-0d34-0410-b5e6-96231b3b80d8

commit e18cb0735189d79b73d3643f9bfda482a82f498d
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 1 05:04:28 2009 +0000

    Add virtual destructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80660 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56c573ec8f87ef5fe2d507b7fc1446efa1df0043
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 04:27:10 2009 +0000

    Add test for vld{234}_lane instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80658 91177308-0d34-0410-b5e6-96231b3b80d8

commit d14b8b63b3557e85950beb061a1d8b01cff4eadf
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 04:26:28 2009 +0000

    Generate code for vld{234}_lane intrinsics.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80656 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13099514dad37eb4e6f270fc84fb749c3eaeb487
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Sep 1 04:18:40 2009 +0000

    Fix pr4843: When an instruction has multiple destination registers that are
    tied to different source registers, the TwoAddressInstructionPass needs to
    be smarter.  Change it to check before replacing a source register whether
    that source register is tied to a different destination register, and if so,
    defer handling it until a subsequent iteration.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80654 91177308-0d34-0410-b5e6-96231b3b80d8

commit ef0f63722ac72a66dd4486e6ac8a1719d12e6e13
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Sep 1 04:09:03 2009 +0000

    llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80652 91177308-0d34-0410-b5e6-96231b3b80d8

commit 843c2a2675a78ce65e781d180fd284d4f4a2ff84
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 02:34:49 2009 +0000

    SJLJ is arm/darwin only for now. force the triple for the test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80651 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b673ee8fb5f7351de61d8bc06fb8958aa846d93
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 02:05:03 2009 +0000

    Fix compiler warnings

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80650 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e0257f9b7567c8c285ee3115c10d552c7c037fb
Author: Jim Grosbach <grosbach@apple.com>
Date:   Tue Sep 1 01:57:56 2009 +0000

    Clean up LSDA name generation and use for SJLJ exception handling. This
    makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
    and making it a GV available for reference would be even better, but is
    beyond the scope of what I'm looking to solve at this point.

    Objective C++ code could generate function names that broke the previous
    scheme. This fixes that.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80649 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8a6a4f5d031875716e06bf7339708874e97d915b
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 1 01:14:15 2009 +0000

    Introduce DILocation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80648 91177308-0d34-0410-b5e6-96231b3b80d8

commit d4794f1da6e32d0eda205da2f994a25d1632aea9
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Sep 1 00:53:21 2009 +0000

    Add getDirectory() and getFilename() interface to DIScope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80647 91177308-0d34-0410-b5e6-96231b3b80d8

commit 318d70da84dd9c3371774284695e2f96613d68a9
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 31 22:47:13 2009 +0000

    Subprogram is a scope. Derive DISubprogram from DIScope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637 91177308-0d34-0410-b5e6-96231b3b80d8

commit a53768e1e514ec9184b3e17c465b19f9334c1e5c
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 31 22:00:15 2009 +0000

    Rename DIBlock as DILexicalBlock.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633 91177308-0d34-0410-b5e6-96231b3b80d8

commit c8b451fceb3e26addeda713ec01dbaf1fa183711
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 31 21:58:28 2009 +0000

    Don't use an iterator which is potentially invalidated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80632 91177308-0d34-0410-b5e6-96231b3b80d8

commit acce6ef067e3e784306ea3e13c30913722a2207c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 31 21:54:55 2009 +0000

    Use early exit and reduce indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80631 91177308-0d34-0410-b5e6-96231b3b80d8

commit ce99fa7903584a25dd332004f3dcf639bbba91f6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 31 21:54:16 2009 +0000

    If the tied registers are already the same, there is no need to change
    them.  Move the code to make that change inside the conditional.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80630 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0b3e9544a8c01d83bb746e80ef380e570db47be6
Author: Richard Osborne <richard@xmos.com>
Date:   Mon Aug 31 21:51:36 2009 +0000

    Add triple parsing support for XCore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80629 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4a47c2447110c5163806b46ee1be881adf70ce38
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 31 21:34:44 2009 +0000

    Derive DICompileUnit from DIScope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80627 91177308-0d34-0410-b5e6-96231b3b80d8

commit 248d5579576fdfb0f1dca59bc3c6cebb8a6976fc
Author: Caroline Tice <ctice@apple.com>
Date:   Mon Aug 31 21:19:37 2009 +0000

    Add flag to mark structs for Apple Block "byref" variables; also add code to
    modify the type and location debug information for these variables to match the
    programmer's expectations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80625 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30e24e0e6f8e94a50ef6f08911724ef5d43762d7
Author: Dan Gohman <gohman@apple.com>
Date:   Mon Aug 31 21:15:23 2009 +0000

    Extend the ValuesAtScope cache to cover all expressions, not just
    SCEVUnknowns, as the non-SCEVUnknown cases in the getSCEVAtScope code
    can also end up repeatedly climing through the same expression trees,
    which can be unusably slow when the trees are very tall.

    Also, add a quick check for SCEV pointer equality to the main
    SCEV comparison routine, as the full comparison code can be expensive
    in the case of large expression trees.

    These fix compile-time problems in some pathlogical cases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80623 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21dde52e1976411d2f85eb2505d98d6b8d23baa6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Aug 31 20:54:23 2009 +0000

    restore semantics of operator* (removing a FIXME I had to introduce in r80224)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80622 91177308-0d34-0410-b5e6-96231b3b80d8

commit 864c4b83472a97397039240f7d5e9c6e269174b1
Author: David Goodwin <david_goodwin@apple.com>
Date:   Mon Aug 31 20:47:02 2009 +0000

    Don't mark a register live at an undef use.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80621 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94f536e037d399e79afa64c060da2ac0d4d6b4a7
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 31 20:44:45 2009 +0000

    Introduce DIScope.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80620 91177308-0d34-0410-b5e6-96231b3b80d8

commit c9db7a5b14625f78cbd619582db31a985eeddd7d
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 31 20:27:49 2009 +0000

    Oops. Fix inverted logic in assertion check.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80618 91177308-0d34-0410-b5e6-96231b3b80d8

commit 08ed20d6841e1879cff1c6b7717b64fd400dc913
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Mon Aug 31 20:14:07 2009 +0000

    Remove .n suffix for some 16-bit opcodes now that Darwin assembler is fixed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80615 91177308-0d34-0410-b5e6-96231b3b80d8

commit 34a26db1f0520916f9f5d8a0f31fc9c34119bb05
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 19:14:05 2009 +0000

    X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.
     - Down to 7 failures on 403.gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80605 91177308-0d34-0410-b5e6-96231b3b80d8

commit 59c42d00cd177c318a10364ddea06290b1f9f320
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 19:13:56 2009 +0000

    Stop printing old asm printing code inline with -experimental-asm-printer (this allows diffing and assembling the .s)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80604 91177308-0d34-0410-b5e6-96231b3b80d8

commit befe952c385a9e2f26212b3cdea6439323964a46
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 19:13:47 2009 +0000

    Avoid unnecessary +0 in experimental-asm-printer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80603 91177308-0d34-0410-b5e6-96231b3b80d8

commit 56843af6f90e5bdf7d79a271d2406f57e6674122
Author: Devang Patel <dpatel@apple.com>
Date:   Mon Aug 31 18:49:10 2009 +0000

    Simplify isDerivedType() and other predicate interface.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02 11:09:40 +03:00
Török Edvin
9da1704025 Merge LLVM upstream SVN r80601.
This brings in some memory leak fixes for LLVMCOntext.

Squashed commit of the following:

commit 4cfaf41d499ce05b11ecb62746c3e86b04440f62
Author: Bill Wendling <isanbard@gmail.com>
Date:   Mon Aug 31 18:26:48 2009 +0000

    Output a hex value, because all of the others are hex.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80601 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7829e5a6558bb97589d47d61da3142f7ebbdaeac
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Aug 31 18:05:23 2009 +0000

    Fix some misspellings of XTARGET.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80598 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8364630e4cb67b6f64a704960e73ae44ce3f10ed
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Aug 31 17:49:20 2009 +0000

    Mark test as passing on all x86, which it should,
    although I don't think anyone cares about this
    feature except Darwin.  PR 4825.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80596 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf91fb4cb2e15b1fa07dc1282ac59c3659d80015
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 17:08:30 2009 +0000

    cleanups pointed out by duncan

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80595 91177308-0d34-0410-b5e6-96231b3b80d8

commit 752d366fe7a9d0f68258465ce554cdf40af2918e
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Aug 31 16:45:16 2009 +0000

    Revert commit 80428.  It completely broke exception
    handling on x86-32 linux.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80592 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c8dfbb88bb125c2b7d1105645937b14dce9bcd3
Author: Edwin Török <edwintorok@gmail.com>
Date:   Mon Aug 31 16:14:59 2009 +0000

    Free the constants that have no uses in ~LLVMContext.
    This fixes leaks from LLVMContext in multithreaded apps.
    Since constants are only deleted if they have no uses, it is safe to not delete
    a Module on shutdown, as many single-threaded tools do.
    Multithreaded apps should however delete the Module before destroying the
    Context to ensure that there are no leaks (assuming they use a different context
    for each thread).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80590 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d5f43b77a907a2b42ff405ab16e078c6598c70e
Author: Edwin Török <edwintorok@gmail.com>
Date:   Mon Aug 31 16:12:29 2009 +0000

    Fix ExplicitSymbols leak.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80589 91177308-0d34-0410-b5e6-96231b3b80d8

commit b759ebc5bc48ee93a9f4b031ec6ed3247028d77c
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Mon Aug 31 13:05:24 2009 +0000

    Normalize makefile comments and sort cmake file lists.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80584 91177308-0d34-0410-b5e6-96231b3b80d8

commit d79f43204be2893e74872f1062e2a44f023d39e1
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:09:28 2009 +0000

    llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80578 91177308-0d34-0410-b5e6-96231b3b80d8

commit f4c67959b5ea0bbd3a39085c91c2d3162c6fd973
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:09:09 2009 +0000

    llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80577 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6a03e093598d90c10c8d1cab8425e3d107b12cf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:08:50 2009 +0000

    llvm-mc: Remove MCAsmParser::Parse[Paren]RelocatableExpression.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80576 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e96621a502ddebc12cd4d139756b7a90fd1ca8a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:08:38 2009 +0000

    llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.

    Also, use MCInst::print instead of custom code in MCAsmPrinter.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8

commit 667cfd44ac3394697e60f54f72bfd190436c061a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:08:17 2009 +0000

    llvm-mc: Add MCAsmParser::Parse[Paren]Expression forms which return an MCExpr.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80574 91177308-0d34-0410-b5e6-96231b3b80d8

commit 22ad5f80f751da3ba986022d09c49fcc4416048a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:08:06 2009 +0000

    llvm-mc: Make MCSymbolData symbol member const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80573 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29efe7e0c9d32aaefa2a2924a8ded5fd4c76ff28
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:07:55 2009 +0000

    llvm-mc: Add MCContext to MCAssembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80572 91177308-0d34-0410-b5e6-96231b3b80d8

commit 890ebe2d940760796e088902a2613cdf30b16e76
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:07:44 2009 +0000

    llvm-mc: Add MCAsmParser::getContext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80571 91177308-0d34-0410-b5e6-96231b3b80d8

commit 510c1a5512b7de68dc9b272eaba0e5d6c3ddc8b9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:07:33 2009 +0000

    llvm-mc: Add MCExpr::{dump,print}.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80570 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc4d607b1a5fd13c1f19ef812ebb6fe814831d56
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:07:22 2009 +0000

    llvm-mc: Switch MCExpr construction to using static member functions, and taking the MCContext (which now owns all MCExprs).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80569 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e3b031540ae25a464bfa37cdbd19e2cad301ee7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:07:08 2009 +0000

    llvm-mc: Add some doxyment markers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80568 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3679d2f3156d001053bae8fa5a162852b7700a27
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 31 08:06:59 2009 +0000

    llvm-mc: Move AsmExpr into MC lib (as MCExpr).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80567 91177308-0d34-0410-b5e6-96231b3b80d8

commit 298ea10f4da28d9be51f8be5af59f88ea86ce7ec
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 07:23:46 2009 +0000

    Step #1 to giving Callgraph some sane invariants.  The problems with callgraph
    stem from the fact that we have two types of passes that need to update it:

    1. callgraphscc and module passes that are explicitly aware of it
    2. Functionpasses (and loop passes etc) that are interlaced with CGSCC passes
       by the CGSCC Passmgr.

    In the case of #1, we can reasonably expect the passes to update the call
    graph just like any analysis.  However, functionpasses are not and generally
    should not be CG aware.  This has caused us no end of problems, so this takes
    a new approach.  Logically, the CGSCC Pass manager can rescan every function
    after it runs a function pass over it to see if the functionpass made any
    updates to the IR that affect the callgraph.  This allows it to catch new calls
    introduced by the functionpass.

    In practice, doing this would be slow.  This implementation keeps track of
    whether or not the current scc is dirtied by a function pass, and, if so,
    delays updating the callgraph until it is actually needed again.  This was
    we avoid extraneous rescans, but we still have good invariants when the
    callgraph is needed.

    Step #2 of the "give Callgraph some sane invariants" is to change CallGraphNode
    to use a CallBackVH for the callsite entry of the CallGraphNode.  This way
    we can immediately remove entries from the callgraph when a FunctionPass is
    active instead of having dangling pointers.  The current pass tries to tolerate
    these dangling pointers, but it is just an evil hack.

    This is related to PR3601/4835/4029.  This also reverts r80541, a hack working
    around the sad lack of invariants.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80566 91177308-0d34-0410-b5e6-96231b3b80d8

commit 21d79e26df48405ff2fdfde682c4fdf6c646ef8a
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 06:57:37 2009 +0000

    fix some cases where instcombine would change hte IR but not return true
    from runOnFunction

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80562 91177308-0d34-0410-b5e6-96231b3b80d8

commit 223479b6087a6d9a1470c857c459e408ba51df84
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 06:01:21 2009 +0000

    cleanups, factor some code out to a helper function

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80542 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5313424550268526a14fd910cfb59efb95e0f30
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 05:46:59 2009 +0000

    fix a crash building SPASS by tolerating a callsite that doesn't exist
    in the callgraph, see the big comment at the top of the testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80541 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4c76b7e8e15bf7ed6607393535f64a9070b6df8c
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 05:34:32 2009 +0000

    comment and simplify some code.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80540 91177308-0d34-0410-b5e6-96231b3b80d8

commit d441cd63a37ec3589fed1cfba11bbb177dab8fa6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 05:22:48 2009 +0000

    add -debug output

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80539 91177308-0d34-0410-b5e6-96231b3b80d8

commit 26b7f945b3a935e44755202ef7be13fdee8c75b5
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 05:17:58 2009 +0000

    improve -debug output, so that -debug is more likely to print when
    instcombine is changing stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80538 91177308-0d34-0410-b5e6-96231b3b80d8

commit adba7ea53650f26a6752f606041ac6d741c1fd4f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 04:36:22 2009 +0000

    fix a bug I introduced with my 'instcombine builder' refactoring
    changes: SimplifyDemandedBits can't use the builder yet because it
    has the wrong insertion point.  This fixes a crash building
    MultiSource/Benchmarks/PAQ8p

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80537 91177308-0d34-0410-b5e6-96231b3b80d8

commit b74203603b43d08ddef33e9a4c9c03752d86aee6
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 04:09:04 2009 +0000

    simplify some code by making the SCCNodes set contain Function*'s
    instead of CallGraphNode*'s.  This also papers over a callgraph
    problem where a pass (in this case, MemCpyOpt) introduces a new
    function into the module (llvm.memset.i64) but doesn't add it to
    the call graph (nor should it, since it is a function pass).

    While it might be a good idea for MemCpyOpt to not synthesize
    functions in a runOnFunction(), there is no need for FunctionAttrs
    to be boneheaded, so fix it there.  This fixes an assertion building
    176.gcc.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80535 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e30f91f1c190b8f3ba93de2c8746e0addaf056e
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 03:22:35 2009 +0000

    only print the override triple if it exists!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80534 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd7079292b43ca5eceae2c585fc2899033a448f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 03:15:49 2009 +0000

    Fix PR4834, a tricky case where the inliner would resolve an
    indirect function pointer, inline it, then go to delete the body.
    The problem is that the callgraph had other references to the function,
    though the inliner had no way to know it, so we got a dangling pointer
    and an invalid iterator out of the deal.

    The fix to this is pretty simple: stop the inliner from deleting the
    function by knowing that there are references to it.  Do this by making
    CallGraphNodes contain a refcount.  This requires moving deletion of
    available_externally functions to the module-level cleanup sweep where
    it belongs.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80533 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7d7776f7adca3f51d05c3bbfbacaf65a5ae5167f
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 02:24:20 2009 +0000

    use an accessor instead of poking internals of a node.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80532 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7032b5cbb5282c844008e780c7bbdddf8f8cf096
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Mon Aug 31 01:58:50 2009 +0000

    CMake: updated library dependencies.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80531 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54b6adfbb882f2f9b96c241fb87d0128ce840960
Author: Jim Grosbach <grosbach@apple.com>
Date:   Mon Aug 31 01:35:03 2009 +0000

    PR4747

    Shared landing pads run into trouble with SJLJ, as the dispatch table is
    mapped to call sites, and merging the pads will throw that off. There needs
    to be a one-to-one mapping of landing pad exception table entries to invoke
    call points.

    Detecting the shared pad during lowering of SJLJ info insn't sufficient, as
    the dispatch function may still need separate destinations to properly
    handle phi-nodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80530 91177308-0d34-0410-b5e6-96231b3b80d8

commit 86ab47ae9c388e9e046dedd9d9d554268290e450
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 00:28:46 2009 +0000

    update unit test for previous change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80528 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3dab7152eedc0d822a9499102303eba526026021
Author: Chris Lattner <sabre@nondot.org>
Date:   Mon Aug 31 00:19:58 2009 +0000

    Fix some nasty callgraph dangling pointer problems in
    argpromotion and structretpromote.  Basically, when replacing
    a function, they used the 'changeFunction' api which changes
    the entry in the function map (and steals/reuses the callgraph
    node).

    This has some interesting effects: first, the problem is that it doesn't
    update the "callee" edges in any callees of the function in the call graph.
    Second, this covers for a major problem in all the CGSCC pass stuff, which
    is that it is completely broken when functions are deleted if they *don't*
    reuse a CGN.  (there is a cute little fixme about this though :).

    This patch changes the protocol that CGSCC passes must obey: now the CGSCC
    pass manager copies the SCC and preincrements its iterator to avoid passes
    invalidating it.  This allows CGSCC passes to mutate the current SCC.  However
    multiple passes may be run on that SCC, so if passes do this, they are now
    required to *update* the SCC to be current when they return.

    Other less interesting parts of this patch are that it makes passes update
    the CG more directly, eliminates changeFunction, and requires clients of
    replaceCallSite to specify the new callee CGN if they are changing it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80527 91177308-0d34-0410-b5e6-96231b3b80d8

commit 637d133ffeaa961837ebc87ee6934be5ef401b8f
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Sun Aug 30 23:41:20 2009 +0000

    Fix header comment for bindings/ocaml/llvm/Makefile.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80526 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad465d7013a6ec529a34605d51377202af71b418
Author: Erick Tryzelaar <idadesub@users.sourceforge.net>
Date:   Sun Aug 30 23:38:06 2009 +0000

    Make sure we specify no arguments for context functions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80525 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba263e5f1b2320558e3935bbfbdc10c6d581c19d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 22:24:32 2009 +0000

    add a dump() method on callgraph.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80524 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72489759fa9fb63fdfa9f2e363222f0c45bf1340
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 22:14:17 2009 +0000

    rename test

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80523 91177308-0d34-0410-b5e6-96231b3b80d8

commit fae478e46e8ba5192eebbe569a627fdb954e587f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 22:13:26 2009 +0000

    merge all sinking tests into one and convert them to filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80522 91177308-0d34-0410-b5e6-96231b3b80d8

commit a94b6974dd77e6457eba731fc6bf760d150f4207
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 22:08:19 2009 +0000

    convert scalar_promote to filecheck style and merge 2003-12-13-VolatilePromote.ll into it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80521 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9e2f641e11c20fa64e5f605e00168ecc7c0207b6
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:45:23 2009 +0000

    eliminate some uses of prcontext.  Any help here would be appreciated :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80520 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5d911fe3ad0daa3bab9f6ddb24931db969fed00
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:36:39 2009 +0000

    rename test so that name reflects what it is testing for.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80519 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16078ca613ec085b395afbabf5b68b7062e0ac1c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:36:06 2009 +0000

    convert to filecheck format.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80518 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0799dd19d3f0c2f1beb1b17ef7842ae5b61043d2
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:31:34 2009 +0000

    suck a bunch more gep tests into getelementptr.ll and filecheckize them all.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80517 91177308-0d34-0410-b5e6-96231b3b80d8

commit 16d7262e7a2e523c97e2c8bb2b4ab8823cf05772
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Aug 30 21:14:05 2009 +0000

    Tweak comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80516 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6a8458c86c784f7955ab7815b4840fc21f27b2d8
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Aug 30 21:13:58 2009 +0000

    Fix some possible-use-of-uninitialized warnings.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80515 91177308-0d34-0410-b5e6-96231b3b80d8

commit 909749e25e3d5442e5b407781d2de92871f81a64
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:02:36 2009 +0000

    consolodate various GEP tests into getelementptr.ll using filecheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80514 91177308-0d34-0410-b5e6-96231b3b80d8

commit ccf7551a0445599b24a0eae667242e67b5f5d298
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:02:02 2009 +0000

    another huge testcase, this time from 'gs' in llvm-test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80513 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1fa629a0ffe6aa837bda41389c098e236a5b0f0c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:01:14 2009 +0000

    remove another poorly-reduced testcase which came from ldecod in llvm-test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80512 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36d9c48134861d576a78c09e001d7773a502ea76
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 21:00:11 2009 +0000

    this testcase is 500 lines long and is distilled from bzip2, just
    remove it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80511 91177308-0d34-0410-b5e6-96231b3b80d8

commit 586de4da4bffce2aae9110a60a39a3318014674c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 20:48:15 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80510 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83288fa512830d723318bf99060d3ec4fbf53abc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 20:38:21 2009 +0000

    Fix PR4748:  don't fold gep(bitcast(x)) into bitcast(gep) when x
    is itself a bitcast.  Since we have gep(bitcast(bitcast(y))) in this
    case, just wait for the two bitcasts to get zapped.  This prevents
    instcombine from confusing some aliasing stuff, and allows it to
    directly eliminate the load in the testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80508 91177308-0d34-0410-b5e6-96231b3b80d8

commit f3a2359906e6939a2552c7c23877592693d757f1
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 20:36:46 2009 +0000

    misc cleanup

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80507 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6807a24de176e563843a0c5a21c9358b5eeefc2d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 20:06:40 2009 +0000

    add getPointerAddressSpace() to GEP instruction, use the method
    in a few scalar xforms to simplify things.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80506 91177308-0d34-0410-b5e6-96231b3b80d8

commit d6164c20cdaaa27a2cc7b340604b4df3f2b97129
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 20:01:10 2009 +0000

    eliminate InsertCastBefore, use the builder instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80505 91177308-0d34-0410-b5e6-96231b3b80d8

commit 78628294ebe9a062fbd7e55edf5240e9b7c53fce
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 19:47:22 2009 +0000

    eliminate InsertBitCastBefore, just use the builder instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80504 91177308-0d34-0410-b5e6-96231b3b80d8

commit b77b0464ba62108a07af655f626f5bfe3bd63162
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 19:45:21 2009 +0000

    add a "getPointerAddressSpace" helper method to LoadInst and StoreInst.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80503 91177308-0d34-0410-b5e6-96231b3b80d8

commit d33527768525e6447c6fdcf521ffb975165dbc7a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Aug 30 19:06:39 2009 +0000

    Add missed pattern

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80502 91177308-0d34-0410-b5e6-96231b3b80d8

commit ad7516ac00ede459691feba7f448a4c3654ea6fc
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 18:50:58 2009 +0000

    convert a bunch more calls to InsertNewInstBefore to use
    the new Instcombine builder.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80501 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36ec3b4e9828905bdc6bf7ef91ac808ab11e7d45
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 17:53:59 2009 +0000

    fix typo

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80500 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8ba22dd113839d66b3f2912aff6bdd27776b1608
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 17:44:10 2009 +0000

    hopefully unbreak the build by making this-> explicit for dependent
    base class lookup.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80499 91177308-0d34-0410-b5e6-96231b3b80d8

commit 243874430bb02c8f76b7603cbc8f31ebf2749785
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sun Aug 30 17:14:54 2009 +0000

    EXTRACT_VECTOR_ELEMENT can have result type different from element type.
    Remove the assertion and generalize the code for ARM NEON stuff.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80498 91177308-0d34-0410-b5e6-96231b3b80d8

commit 42cee05a28e87ba96760daaf9699f8355ea53f6e
Author: Edwin Török <edwintorok@gmail.com>
Date:   Sun Aug 30 08:24:09 2009 +0000

    Add regular expression matching support, based on OpenBSD regexec()/regcomp()
    implementation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80493 91177308-0d34-0410-b5e6-96231b3b80d8

commit c769485a593b86360597d913c083292279730695
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 07:44:24 2009 +0000

    give instcombine a custom IRBuilder that adds new instructions to the
    workslist and is set to insert new instructions before the current one.
    Convert a bunch of stuff that used to call InsertNewInstBefore over to
    use it, greatly simplifying code and making it more natural.

    There is still a lot more to go, but this is a good start.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80492 91177308-0d34-0410-b5e6-96231b3b80d8

commit f0b47f327e20f338c90202ea21001dd9b06f7ef5
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Aug 30 07:01:09 2009 +0000

    Update test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80490 91177308-0d34-0410-b5e6-96231b3b80d8

commit c5ad98f04a19b2b7d463713a77634471578d1a64
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 06:27:41 2009 +0000

    add a new InstCombineWorklist::AddValue method that works even
    if the operand is not an instruction.

    Simplify most uses of AddOperandsToWorkList to use AddValue and
    inline it into the one remaining callsite.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80488 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4796b62fccd6f8c414b5a642ebe0f6dbbabd5b61
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 06:22:51 2009 +0000

    move AddUsersToWorkList to the worklist processing class, make the
    argument stronger typed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80487 91177308-0d34-0410-b5e6-96231b3b80d8

commit 059cfc7570d47711c1b53c909ab0f9c347cb23c3
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 06:20:05 2009 +0000

    rename AddUsesToWorkList -> AddOperandsToWorkList.  The
    former looks too much like AddUsersToWorkList and keeps
    confusing me.

    Remove AddSoonDeadInstToWorklist and change its two callers
    to do the same thing in a simpler way.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80486 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8d310b5231890e926000c6939540b93fe094b61
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Aug 30 06:17:49 2009 +0000

    llvm-mc/X86: Encode constant MCValue's correctly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80485 91177308-0d34-0410-b5e6-96231b3b80d8

commit b03d1179e934cb99e30190835fea1e7f4a59ecad
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Sun Aug 30 06:17:16 2009 +0000

    llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.

    - Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3183fb6b613c15627c33a8257cbbfe10dbf0bb7f
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 06:13:40 2009 +0000

    inline the trivial AddToWorkList/RemoveFromWorkList methods
    into their callers.  simplify ReplaceInstUsesWith.  Make
    EraseInstFromFunction only add operands to the worklist if
    there aren't too many of them (this was a scalability win
    for crazy programs that was only infrequently enforced).
    Switch more code to using EraseInstFromFunction instead of
    duplicating it inline.  Change some fcmp/icmp optimizations
    to modify fcmp/icmp in place instead of creating a new one
    and deleting the old one just to change the predicate.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80483 91177308-0d34-0410-b5e6-96231b3b80d8

commit bf09d6330ea039406e250493d7e45d001f81734d
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:56:44 2009 +0000

    fix a bug I introduced in r80478 found by the build bot.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80482 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5119c70d1620b79288c50ca2ad6a3ea4f11a3f35
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:55:36 2009 +0000

    refactor instcombine's worklist processing stuff out to its own class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80481 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1dde4eb8a0aef903bfd53d8dabfc61a560e1b327
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:55:04 2009 +0000

    make DenseMap::clear() early exit if there is nothing to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80480 91177308-0d34-0410-b5e6-96231b3b80d8

commit 69af0ff152a949c41ea8ff4550c74627306262f7
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:42:59 2009 +0000

    some minor cleanups to IRBuilder, factor the insertion
    hook out of the main IRBuilder class to allow clients to
    override it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80479 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c641fc37fc42d878883b0325810a5c8c02a436c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:30:55 2009 +0000

    more cleanups: remove some redundant code, and simplify some
    other places.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80478 91177308-0d34-0410-b5e6-96231b3b80d8

commit c2c8a0ac3f529c9e536862b213e18f67de05f422
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:08:50 2009 +0000

    eliminate the temporary SrcGEPOperands smallvector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80477 91177308-0d34-0410-b5e6-96231b3b80d8

commit 95ba1ec4cbb14614f9ac26c9aabe5cac6640c4b0
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 05:00:50 2009 +0000

    simplify/detangle some control flow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80476 91177308-0d34-0410-b5e6-96231b3b80d8

commit c0f553e874121b6a0feb35e580040c02da05ac3c
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 04:49:01 2009 +0000

    simplify and cleanup some code, remove some code that just
    does constant folding of gep's: this is already handled in
    a more general way.

    No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80475 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9da50553ef4596ea75c3a5434bf9ad356fb574ee
Author: Chris Lattner <sabre@nondot.org>
Date:   Sun Aug 30 04:25:40 2009 +0000

    default count-aa to -print-all.  The whole reason to use count-aa is
    to see what queries are being made by a transformation, we might as well
    default to printing them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80474 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09880947395319ff0df656549ddf0b080b7af385
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sun Aug 30 00:28:57 2009 +0000

    Nuke moribund "std::string" version of EOL(..., Encoding).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80466 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdfb9b17b94bffa0de0e4862d22369fa1dcd9099
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 23:54:26 2009 +0000

    Add AutoGenerated.inc to svn:ignore.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80455 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5d138f96f048cc7009397708ed10edea7cede5a6
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 23:39:38 2009 +0000

    Remove an unnecessary Context argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80454 91177308-0d34-0410-b5e6-96231b3b80d8

commit f928ad4af07aaac5e7e81757dcd514acbb5cb39c
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 23:37:49 2009 +0000

    Minor logic simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80453 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d9354c841746f1802babcd465e542d7a7ea2a10
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 23:36:57 2009 +0000

    Add some comments.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80452 91177308-0d34-0410-b5e6-96231b3b80d8

commit 18e06cf39d0313f80b055eb98dba8d8f42fd08cd
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 23:35:16 2009 +0000

    Cleanup whitespace and indentation.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80451 91177308-0d34-0410-b5e6-96231b3b80d8

commit b006a1010559be4bc9d5e577c50fc750194f34a6
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 23:34:14 2009 +0000

    Remove some unused fields.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80450 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1596dd23f3e2df5225cdfcea0904a017f96aaa90
Author: Dan Gohman <gohman@apple.com>
Date:   Sat Aug 29 22:19:15 2009 +0000

    CMOV_GR8 clobbers EFLAGS when its expansion involves an xor to set
    a register to 0. This fixes PR4814.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80445 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac09afaf40216429fad53899cce2f9fde8e267d4
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Sat Aug 29 13:38:21 2009 +0000

    Inline empty destructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80431 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c5374802712a3d28cd13207ed3979a95457075c
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Aug 29 12:31:38 2009 +0000

    Fix warning about non-virtual destructor.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80429 91177308-0d34-0410-b5e6-96231b3b80d8

commit b4ac493684cdeb2147000a6816a563269fcf3c70
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Aug 29 12:20:54 2009 +0000

    - Add target lowering methods to get the preferred format for the FDE and LSDA
      encodings.
    - Make some of the values emitted by the FDEs dependent upon the pointer
      size. This is in line with how GCC does things. And it has the benefit of
      working for Darwin in 64-bit mode now.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80428 91177308-0d34-0410-b5e6-96231b3b80d8

commit 946b521498866b3d83c4447c9c0ece6095a56874
Author: Bill Wendling <isanbard@gmail.com>
Date:   Sat Aug 29 12:17:53 2009 +0000

    Add a form of EOL which emits the text version of a DWARF format encoding. This
    doesn't handle all values of the formatting. Those can be added as needed.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80427 91177308-0d34-0410-b5e6-96231b3b80d8

commit 502c35e863882790a94ad432d0a03c4a7e1a0aad
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Sat Aug 29 05:53:25 2009 +0000

    PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type
    inferencing.  As far as I can tell, these are equivalent to the existing
    MVT::fAny, iAny and vAny types, and having both of them makes it harder
    to reason about and modify the type inferencing code.

    The specific problem in PR4795 occurs when updating a vAny type to be fAny
    or iAny, or vice versa.  Both iAny and fAny include vector types -- they
    intersect with the set of types represented by vAny.  When merging them,
    choose fAny/iAny to represent the intersection.  This is not perfect, since
    fAny/iAny also include scalar types, but it is good enough for TableGen's
    type inferencing.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80423 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0ac7faa993d472be4a23e0e58fa6e9372960cfe8
Author: Eric Christopher <echristo@apple.com>
Date:   Sat Aug 29 01:12:46 2009 +0000

    Make the augmentation size and next set of bytes agree on size,
    and make the reference pointer size as it should be.

    Fixes an abort on a testcase derived from libunwind's personality
    test in 64-bit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80414 91177308-0d34-0410-b5e6-96231b3b80d8

commit 83b551c5efdc49183f744103cd8e22a75117d07f
Author: Jeffrey Yasskin <jyasskin@google.com>
Date:   Sat Aug 29 00:44:16 2009 +0000

    Fix OProfile support after r80406 changed the DebugInfo interface from
    GlobalVariables to MDNodes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80411 91177308-0d34-0410-b5e6-96231b3b80d8

commit e54c004ea5ea6c7e89b1cef9531ce05096122bbf
Author: David Goodwin <david_goodwin@apple.com>
Date:   Sat Aug 29 00:11:13 2009 +0000

    Another stab at fixing up register kill flags after post-RA scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80410 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb7c98d9ef32354166106ff8218fb9fcbb8b2d24
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Sat Aug 29 00:08:18 2009 +0000

    Do not assert on too wide splats we don't support.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80409 91177308-0d34-0410-b5e6-96231b3b80d8

commit 44e0a6cee931258a05b190f9e6e411a6d276c96a
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Aug 28 23:41:26 2009 +0000

    Add missed extract_element pattern

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80408 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15e723d2c6021bbeacad9baa9c0d946d4a19867e
Author: Devang Patel <dpatel@apple.com>
Date:   Fri Aug 28 23:24:31 2009 +0000

    Reapply 79977.
    Use MDNodes to encode debug info in llvm IR.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406 91177308-0d34-0410-b5e6-96231b3b80d8

commit c299914a58baed2d7cf594494dbba60880d476cd
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Aug 28 23:18:09 2009 +0000

    Let Darwin linker auto-synthesize stubs and lazy-pointers. This deletes a bunch of nasty code in ARM asm printer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80404 91177308-0d34-0410-b5e6-96231b3b80d8

commit a14f4474b2d915579e9e9bd8bf4080d7f25e7dcd
Author: Eric Christopher <echristo@apple.com>
Date:   Fri Aug 28 22:33:43 2009 +0000

    Nuke trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80401 91177308-0d34-0410-b5e6-96231b3b80d8

commit c6750c9bc8e555f632777eb1c69793b3b0dc40f6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 16:14:46 2009 +0000

    Fix creation of .bca libraries with EXPORTED_SYMBOLS_LIST, this was putting the
    llvm-ld shell wrapper script in the archive, not the relinked object!

    Also, rename the temp file to avoid conflicts.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80373 91177308-0d34-0410-b5e6-96231b3b80d8

commit 72d34e1a91e3f2b58559f92e5c1716ba10586bf1
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 16:13:45 2009 +0000

    Read Makefile.config before using LLVMGCC.
    See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085828.html

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80372 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab4193ba50b6b5fcda5e2230e4705676ec07b463
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Aug 28 16:12:48 2009 +0000

    install-sh chmods to 0755 by default, and this causes 'git diff' to show
    that all the Makefiles changed mode.
    Fix this by tellint install-sh to chmod
    only to 0644, these are not executable files after all!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80371 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5cc6d8ae5a5813f059b0f03511b29c101c3a8ba
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Fri Aug 28 16:06:41 2009 +0000

    Short-term workaround for frame-related weirdness on win64.
    Some other minor win64 fixes as well.

    Patch by Michael Beck!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80370 91177308-0d34-0410-b5e6-96231b3b80d8

commit 422cc43971693fd61517993472065277cb0cc903
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Aug 28 14:05:07 2009 +0000

    rm needs -f

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80363 91177308-0d34-0410-b5e6-96231b3b80d8

commit da6633bee39686d02cd348b5c79c9dfc14eea6fd
Author: Edwin Török <edwintorok@gmail.com>
Date:   Fri Aug 28 13:35:44 2009 +0000

    Remove the llvmprof.out from the test output, otherwise running
    make check in a non-clean directory causes it to fail (for example when running
    make check twice), since execution counts will differ.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80362 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f10e8664f46c60e4153da5da0ce33cd6b0b2ea3
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 11:28:24 2009 +0000

    Preparation for Optimal Edge Profiling:
    This implements the maximum spanning tree algorithm on CFGs according to
    weights given by the ProfileEstimator. This is then used to implement Optimal
    Edge Profiling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80358 91177308-0d34-0410-b5e6-96231b3b80d8

commit c99a43a3864aee1121af69db21545a3974226d41
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 10:38:26 2009 +0000

    Remove profiling output file because two consecutive runs of make check give
    error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80357 91177308-0d34-0410-b5e6-96231b3b80d8

commit 354f75a94252e20f1d61ff7b047f34070dcccfc9
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 10:07:41 2009 +0000

    Removed unnecessary file creation during test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80356 91177308-0d34-0410-b5e6-96231b3b80d8

commit 975ad9a72fa60d0e8946c9ec584eb5c29d14386e
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 10:00:28 2009 +0000

    Pulled all tests into one test. Removed some redundant tests. Rename.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80355 91177308-0d34-0410-b5e6-96231b3b80d8

commit f14af431e0f9724474dfa923ba940ecaf19316c7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 08:08:22 2009 +0000

    Fix -Asserts warning, round two.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80354 91177308-0d34-0410-b5e6-96231b3b80d8

commit 796a639383578ff065b5c32539c88f9adb5327c2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 07:08:47 2009 +0000

    llvm-mc: .lsym is more unsupported than unimplemented, pending a use case appearing.

    Also, all one of the file level flags are implemented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80352 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8388a8fed449aa79d848dd2e7b0cf8650e063028
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 07:08:35 2009 +0000

    llvm-mc: Support .comm emission.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80351 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3ab6715ba17ac6726bd92a4514c68c5e58c3c884
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Aug 28 06:59:37 2009 +0000

    Print a nl before pic labels so they start at a new line. This makes assembly more readable.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80350 91177308-0d34-0410-b5e6-96231b3b80d8

commit fd5e315e8d6dca8cab80789552b6bbfef4d960e0
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 06:48:25 2009 +0000

    Since all std::cout is gone, also remove iostream include.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085620.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80349 91177308-0d34-0410-b5e6-96231b3b80d8

commit a2aca168e5c7bbb35569f6f77a3cd4e8bc17520a
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Fri Aug 28 06:41:00 2009 +0000

    Readded test from r79615, this tests the complete profiling tool chain. Furhter
    tests can test only parts of this system.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80348 91177308-0d34-0410-b5e6-96231b3b80d8

commit df98a14701fe2de1d0b83205f32edcdfef8ca141
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:49:21 2009 +0000

    llvm-mc: Support .zerofill emission.
     - I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80347 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c215be1a50bfd6f0b994d61d0c0548fefa52795
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:49:04 2009 +0000

    llvm-mc: Tweak section alignment and size computation to match 'as' closer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80345 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91e7ee60faaf7867aebddbf4915e1422c6895337
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:48:54 2009 +0000

    llvm-mc: Factor getSectionData out of SwitchSection.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80344 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3f952b45c4791659fe6b6addfdc2812f11a21a41
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:48:46 2009 +0000

    llvm-mc: Emit .lcomm as .zerofill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80343 91177308-0d34-0410-b5e6-96231b3b80d8

commit c12c27bdbc93d517025612eab112f28366256839
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:48:29 2009 +0000

    llvm-mc: Unique zero fill sections.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80342 91177308-0d34-0410-b5e6-96231b3b80d8

commit 15f1a5cc63c5f08b31c8a67884efd2604067711e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:48:22 2009 +0000

    llvm-mc: Add const to EmitZeroFill section argument.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80341 91177308-0d34-0410-b5e6-96231b3b80d8

commit b6eff3bcb6f481500df60e028ceaff6b60336a1d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:48:10 2009 +0000

    llvm-mc: Fix thinko in emitting values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80340 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8425d44b7ffa3397ac7d010598e9caab54e1ed4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:48:04 2009 +0000

    Add MathExtras.h OffsetToAlignment, like RoundUpToAlignment but returns the
    offset to the next aligned integer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80339 91177308-0d34-0410-b5e6-96231b3b80d8

commit c24bcdb66bd5b6904147ac443ca44da2660f9223
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 05:47:56 2009 +0000

    Fix -Asserts warning.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80338 91177308-0d34-0410-b5e6-96231b3b80d8

commit d7e5bacf57cba6f139d726a0c63cb195f38cd39d
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 28 04:48:54 2009 +0000

    finish a half formed thought :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80334 91177308-0d34-0410-b5e6-96231b3b80d8

commit ac6a9258ed6e7fa1e1e40ef505799ac54e852be4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 03:06:28 2009 +0000

    Another NO_RUNTIME_LIBRARIES tweak...

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80331 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1497c39481d4d8616d4ba1fb2cde490cfc100baa
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Fri Aug 28 02:20:39 2009 +0000

    Tweak NO_RUNTIME_LIBS.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80330 91177308-0d34-0410-b5e6-96231b3b80d8

commit c4823b9ee92e32a666e03406c46a530fcdbdda1a
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 28 00:45:47 2009 +0000

    Mark Andersen's as experimental.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80328 91177308-0d34-0410-b5e6-96231b3b80d8

commit a8b647dc112f792cb21b0b675e6d2b300207a4fa
Author: Chris Lattner <sabre@nondot.org>
Date:   Fri Aug 28 00:43:14 2009 +0000

    Fix PR3913, patch by Jakub Staszak!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80327 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e1d21856de4bf387cccf8365885c45c87642dfb
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Fri Aug 28 00:31:43 2009 +0000

    v4, v5 does not support sxtb / sxth.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80322 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66f3f9e7356761c91f8063a38b37293ce750c1c2
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 28 00:21:13 2009 +0000

    Disable optional bindings for Apple-style builds.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80319 91177308-0d34-0410-b5e6-96231b3b80d8

commit dc8f15c7a771649ab75bdf2dea1b27067ee9f269
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Fri Aug 28 00:10:15 2009 +0000

    Revert 76080.  This broke some powerpc cross compiles.
    It also makes the llvmCore build dependent on whatever version of llvm-gcc
    happens to be installed on the build machine.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80316 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6decb644026d266aaed9bc51e5840529a4af8df0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 23:58:10 2009 +0000

    Revert r80305, I forgot a dependent change.

    --- Reverse-merging r80305 into '.':
    U    tools/llvm-mc/AsmParser.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80309 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20b3210d23b9c5633787e3d8bbd98d7cc0083c32
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 27 23:51:51 2009 +0000

    Closure is a very generic name. Use AppleBlock instead.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80307 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3edc5f01bcfec50757d8cbdb7cd0fb6abb561d67
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 23:45:06 2009 +0000

    llvm-mc: Unique sections in .zerofill.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80305 91177308-0d34-0410-b5e6-96231b3b80d8

commit ab36e15e689a516f8ff2af4c2c0210a90a423652
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Aug 27 23:44:33 2009 +0000

    eliminate all 80-col violations that I have introduced in my recent checkins (and some others more)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80304 91177308-0d34-0410-b5e6-96231b3b80d8

commit 41d850e034d4f33728c8d8d51a3811dbe0fccf8c
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 23:43:28 2009 +0000

    Don't build runtime libraries in an Apple style build.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80303 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5b6d86316d71c3eae687ecb56abfdfd12679a54
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 27 19:57:56 2009 +0000

    Revert 80278 for now, it caused a lot of MIPS tests to fail

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80280 91177308-0d34-0410-b5e6-96231b3b80d8

commit 862f67b71f0aaeccdd24a0cbd4d99a9a9413c43a
Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com>
Date:   Thu Aug 27 19:40:40 2009 +0000

    Revamp our friend Mips :)
    Add MO flags to simplify the printing of relocations.
    Remove the support for printing large code model relocs (which
    aren't supported anyway).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80278 91177308-0d34-0410-b5e6-96231b3b80d8

commit 90adb6c4bd8c285660db59e5ac10fd71fa3c1076
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 18:16:24 2009 +0000

    Don't mark CMOV_GR8 as two-address, or commutable, since it's a pseudo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80271 91177308-0d34-0410-b5e6-96231b3b80d8

commit fa4c3253f6dd9f328549aa73e2710981ac3a2881
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 18:14:26 2009 +0000

    Adjust the MachineBasicBlock verifier rules to be more
    tolerant of blocks that end with "unreachable".

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80270 91177308-0d34-0410-b5e6-96231b3b80d8

commit 20391ca63ee850ffd6fb86bfd058ff61b698197d
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 27 18:08:16 2009 +0000

    Add FIXME for when we support more specific XMM registers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80269 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3d82bbd2ddfb775d59f271cc25cade73551f976c
Author: Eric Christopher <echristo@apple.com>
Date:   Thu Aug 27 18:07:15 2009 +0000

    Nuke trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80268 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8b840f45084d2486be3fd074807d9a37564a33d
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 18:02:03 2009 +0000

    Use stripPointerCasts instead of doing the same manually.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80267 91177308-0d34-0410-b5e6-96231b3b80d8

commit a578538e9fde98cb05ce9740d7c63aafbd1c69f4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 17:59:08 2009 +0000

    Minor code simplification.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80266 91177308-0d34-0410-b5e6-96231b3b80d8

commit c99596ddbf78116260c177edcfad9261bf186b68
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 17:55:13 2009 +0000

    Teach getUnderlyingObject and skipPointerCasts about GlobalAliases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80265 91177308-0d34-0410-b5e6-96231b3b80d8

commit fe1256903404065be182735c1402411c4940e9e5
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 17:54:15 2009 +0000

    Be somewhat more consistent about const qualifiers.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80264 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3c8455152e3d41b8e5f7b33c3ed99c7a8105f5a8
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 17:52:56 2009 +0000

    Global Aliases are not identifiable objects.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80263 91177308-0d34-0410-b5e6-96231b3b80d8

commit 54e98d921f7eabfd3baae5399e835ddc39a75e6c
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 17:51:25 2009 +0000

    Handle TargetData with const.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80262 91177308-0d34-0410-b5e6-96231b3b80d8

commit ec966442362eeff9b24c9eee2b11188ab4a5246b
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 17:29:49 2009 +0000

    Strip trailing whitespace from blank lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80259 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7bec0f5f90c6d917beb4b1433c847aa132cdfacf
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Aug 27 17:07:35 2009 +0000

    re-apply r80197, now that iterator.h is not mentioned any more

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80254 91177308-0d34-0410-b5e6-96231b3b80d8

commit aa152ae811d8e0ffd01c7a8b454d595cb1a1a31f
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Aug 27 16:25:49 2009 +0000

    Hopefully the final missing part :(
    scalar_to_vector is fully legal now

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80251 91177308-0d34-0410-b5e6-96231b3b80d8

commit 872393c20ee29eaae1746deed115f06192526f64
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Aug 27 16:10:17 2009 +0000

    Forgot about actual change :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80250 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0a21bce095161b98a3671b2aa0e63a020b03e120
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Aug 27 16:04:47 2009 +0000

    scalar_to_vector is fully legal now (implemented as subreg accesses)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80249 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2b6e274f8669337cb148c1df4e060a41af14cc1e
Author: Devang Patel <dpatel@apple.com>
Date:   Thu Aug 27 15:32:38 2009 +0000

    Remove an entry from ValueMap before removing elements.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80247 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6e8275030925dbd3beeb873d0bf605f0c0c67f0b
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Aug 27 14:51:42 2009 +0000

    Ok, sometimes it's profitable to turn scalar_to_vector stuff into subreg access.
    Add a testcase.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80246 91177308-0d34-0410-b5e6-96231b3b80d8

commit baee7b2a5501a45a59554b5bafd87264a2edc442
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Thu Aug 27 14:38:44 2009 +0000

    Transform float scalar_to_vector into subreg accesses.
    No idea whether this is profitable or not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80245 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9daa0677ac901b0f54bdba31dc3913b92df58e50
Author: Misha Brukman <brukman+llvm@gmail.com>
Date:   Thu Aug 27 14:14:21 2009 +0000

    STRD and LDRD require ARMv5TE, not just ARMv5T.
    See http://llvm.org/PR4687 for more info and links.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80244 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4dd75744b70c1a3f686ce5a43952124fb0de7ad9
Author: Benjamin Kramer <benny.kra@googlemail.com>
Date:   Thu Aug 27 12:02:34 2009 +0000

    Inverse logic to increase portability.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80240 91177308-0d34-0410-b5e6-96231b3b80d8

commit 07f1cdae7f327c15cdfc0d68c8500a275dba72b2
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Thu Aug 27 11:54:38 2009 +0000

    To make mcc16 run correctly on mac.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80239 91177308-0d34-0410-b5e6-96231b3b80d8

commit 006e46ee524c49f00fdfa4d0b582c7ecd693c95b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 08:17:51 2009 +0000

    llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
     - No relocations yet, of course.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80235 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f37963b50b496c99300850683ed41db4f9431b6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 08:12:55 2009 +0000

    llvm-mc/X86: Implement single instruction encoding interface for MC.
     - Note, this is a gigantic hack, with the sole purpose of unblocking further
       work on the assembler (its also possible to test the mathcer more completely
       now).

     - Despite being a hack, its actually good enough to work over all of 403.gcc
       (although some encodings are probably incorrect). This is a testament to the
       beauty of X86's MachineInstr, no doubt! ;)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80234 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1f32816fdaf9ba3a7e6e5705f94be145fafde497
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 07:58:57 2009 +0000

    llvm-mc: Print encodings after the instruction, and only when we have an asm
    printer.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80233 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75513bd24edb8ea2142145b448df7a4cdaeaa335
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 07:58:05 2009 +0000

    X86: Mark EH_RETURN as code-gen-only.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80232 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0125384b4a902da228354e5a201cd4cf4f2f1a4a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 07:57:12 2009 +0000

    Add {MCInst,MCOperand}::{print,dump}

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80231 91177308-0d34-0410-b5e6-96231b3b80d8

commit 160f252aa8189beba57b0b025b0206a3910c4ae9
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 07:56:39 2009 +0000

    llvm-mc: Only show instruction encodings with --show-encoding.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80230 91177308-0d34-0410-b5e6-96231b3b80d8

commit f449eb343e70f1e4e8f982939d53c083a1bc5ba3
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Aug 27 06:59:20 2009 +0000

    the buildbots revealed one more breakage. fix. (why didn't I see this?)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80227 91177308-0d34-0410-b5e6-96231b3b80d8

commit 765f012f22956a3085e1e84441af9d880bf65f35
Author: Gabor Greif <ggreif@gmail.com>
Date:   Thu Aug 27 06:41:46 2009 +0000

    Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80224 91177308-0d34-0410-b5e6-96231b3b80d8

commit bc42440879f2a302f2801e224828cfdccd5a92a7
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 06:29:33 2009 +0000

    Implement a new optimization in the inliner: if inlining multiple
    calls into a function and if the calls bring in arrays, try to merge
    them together to reduce stack size.  For example, in the testcase
    we'd previously end up with 4 allocas, now we end up with 2 allocas.

    As described in the comments, this is not really the ideal solution
    to this problem, but it is surprisingly effective.  For example, on
    176.gcc, we end up eliminating 67 arrays at "gccas" time and another
    24 at "llvm-ld" time.

    One piece of concern that I didn't look into: at -O0 -g with
    forced inlining this will almost certainly result in worse debug
    info.  I think this is acceptable though given that this is a case
    of "debugging optimized code", and we don't want debug info to
    prevent the optimizer from doing things anyway.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80215 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d1272cbbc0ba9bffbc702e67c59a8d12ec93660
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 06:20:45 2009 +0000

    the inliner shouldn't crash on this.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80214 91177308-0d34-0410-b5e6-96231b3b80d8

commit ea3bccb555f65187ecbb134d26aab8103ca167b2
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 06:11:15 2009 +0000

    For now, only run MC tests if X86 is configured.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80213 91177308-0d34-0410-b5e6-96231b3b80d8

commit 17d1a4db879f7af0fd20dd78f704ff9f82aabbe1
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 27 05:49:50 2009 +0000

    This is passing for PPC on Mac OS X.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80210 91177308-0d34-0410-b5e6-96231b3b80d8

commit cf5d1d8ceb34c56f21bd3f41f5329407e8d090ce
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 27 05:35:28 2009 +0000

    Revert accidental commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80208 91177308-0d34-0410-b5e6-96231b3b80d8

commit f659a56d993743e0d51beb2c94fbe187637e5918
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 04:43:05 2009 +0000

    unbreak the build, yay for symlinks + makefiles. :(

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80205 91177308-0d34-0410-b5e6-96231b3b80d8

commit d1586b1a1d27d5efeb8e487bbeb7ed255159e53b
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 04:32:07 2009 +0000

    reduce header #include'age

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80204 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ba292d8cfe7b5bf705c5bb307f63f0c0bbe8979
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 04:20:52 2009 +0000

    enhance InlineFunction to be able to optionally return
    a the list of static allocas that it inlined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80203 91177308-0d34-0410-b5e6-96231b3b80d8

commit eb87590c5346b7c17032242e2232a6c1d217f964
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 04:02:30 2009 +0000

    smallvectorize the list of returns built by CloneAndPruneFunctionInto.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80202 91177308-0d34-0410-b5e6-96231b3b80d8

commit 612956220f38126feaacceb378cf105043739271
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 03:56:43 2009 +0000

    remove CloneTrace, which appears to be dead since 2004.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80201 91177308-0d34-0410-b5e6-96231b3b80d8

commit ae56c0de911bf5328ffda48e51ce37bcd7aa0d76
Author: Chris Lattner <sabre@nondot.org>
Date:   Thu Aug 27 03:51:50 2009 +0000

    reduce inlining factor some stuff out to a static helper function,
    and other code cleanups.  No functionality change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80199 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5537c20c55869fac64e4f5738f8eab2080cc79c6
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 27 03:32:50 2009 +0000

    Revert accidental commit.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80198 91177308-0d34-0410-b5e6-96231b3b80d8

commit 25cd944a98bcf3b1542c71d2654fe61e28562867
Author: Bill Wendling <isanbard@gmail.com>
Date:   Thu Aug 27 03:29:26 2009 +0000

    --- Reverse-merging r80147 into '.':
    A    include/llvm/ADT/iterator.cmake
    U    autoconf/configure.ac
    --- Reverse-merging r80161 into '.':
    U    cmake/config-ix.cmake
    --- Reverse-merging r80171 into '.':
    U    Makefile
    --- Reverse-merging r80173 into '.':
    U    configure
    U    include/llvm/Config/config.h.in
    --- Reverse-merging r80180 into '.':
    A    include/llvm/ADT/iterator.h.in

    Despite common miscomceptions, iterator.h is alive and well. It broke the build
    bots for several hours. And yet no one bothered to look at them.

    Gabor and Doug, please review your changes and make sure that they actually
    build before resubmitting them.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80197 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0d0598f6281c0b1ae107b2fa2fabd69ec21263c4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 02:43:49 2009 +0000

    Add some checks for MachineCFG consistency. Use AnalyzeBranch and
    do extra checking when it succeeds, as those are cases where
    CodeGen will be doing particularly interesting CFG modifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80196 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92e5548870b7945deb93f7956ea816f67d34b73f
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 02:08:37 2009 +0000

    Update CMake

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80195 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f377df6bba8110c3bc0bf5185d33d1f46b54c6b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 01:34:22 2009 +0000

    llvm-mc: Tweak MCCodeEmitter skeleton.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80193 91177308-0d34-0410-b5e6-96231b3b80d8

commit cdde2975f55c43493f3318630985e7a1e8e14384
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 01:25:57 2009 +0000

    Initialize the PoisonMemory member before initializing
    members that call methods that read the PoisonMemory member.
    This fixes potential spurious (though probably otherwise
    harmless) poising of unused memory, and fixes the
    associated valgrind error.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80192 91177308-0d34-0410-b5e6-96231b3b80d8

commit 363cd759d4186bdae7b49e89a0d434749d6198aa
Author: Evan Cheng <evan.cheng@apple.com>
Date:   Thu Aug 27 01:23:50 2009 +0000

    Fix PR4789. Teach eliminateFrameIndex how to handle VLDRQ and VSTRQ which cannot fold any immediate offset.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80191 91177308-0d34-0410-b5e6-96231b3b80d8

commit 511e71114c34c8ddae2b44b996502a5efe1adc3a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 01:15:54 2009 +0000

    Add missing declarations.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80190 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12266adfd9dc571aafb7ec7f8b69d85c7a6e352a
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 00:51:57 2009 +0000

    Sketch TargetRegistry support for MCCodeEmitter abstract interface.
     - Of course, nothing actually can provide this interface yet.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80188 91177308-0d34-0410-b5e6-96231b3b80d8

commit adb77e4c37d183af9a2f29b6df8b0dfee562bbba
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Thu Aug 27 00:38:04 2009 +0000

    Try to make MSVC just a little happier.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80187 91177308-0d34-0410-b5e6-96231b3b80d8

commit b59f15a1d2c40f978d93f43b006546f455a65f04
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 00:31:47 2009 +0000

    X86FastISel support for loading and storing values of type i1.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80186 91177308-0d34-0410-b5e6-96231b3b80d8

commit 29b998f5248398e6cfe323a5ebd7419bb77975b4
Author: Dan Gohman <gohman@apple.com>
Date:   Thu Aug 27 00:14:12 2009 +0000

    Expand i8 selects into control flow instead of 16-bit conditional
    moves. This avoids the need to promote the operands (or implicitly
    extend them, a partial register update condition), and can reduce
    i8 register pressure. This substantially speeds up code such as
    write_hex in lib/Support/raw_ostream.cpp.

    subclass-coalesce.ll is too trivial and no longer tests what it was
    originally intended to test.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80184 91177308-0d34-0410-b5e6-96231b3b80d8

commit a7bddb52ed1bb68e8c654c522b885f941c540d04
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Aug 26 23:35:33 2009 +0000

    now that include/llvm/ADT/iterator.h.in is not attempted to be built, its prerequisite can go away too

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80180 91177308-0d34-0410-b5e6-96231b3b80d8

commit b5b99e6fa820047460b362d5d981766ac313b1ce
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 23:12:33 2009 +0000

    Simplify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80176 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2eff5fff4d600df3d29f74dd195bc564a48206b4
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Aug 26 22:59:05 2009 +0000

    Regenerate configure

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80173 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3eace462948ecfec5ee53127c445e4d0d5f1ae89
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Aug 26 22:55:19 2009 +0000

    eliminate references to ADT/iterator.h

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80171 91177308-0d34-0410-b5e6-96231b3b80d8

commit d68b1af98ca9bb39ac51d046a37266ceb24e38b5
Author: Owen Anderson <resistor@mac.com>
Date:   Wed Aug 26 22:55:11 2009 +0000

    Make this into a static method.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80170 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2f01e9983a054713a49d2ac2124e8ca26d128574
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 26 22:50:39 2009 +0000

    Fix bad length argument to substr calls.  Apparently I'm the first one to
    attempt more than 2 constraints on an instruction.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80169 91177308-0d34-0410-b5e6-96231b3b80d8

commit 418706d9a8a304630ddecc3709598d823bee8188
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 22:49:51 2009 +0000

    llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
    sections, etc.
     - The quick and dirty way, just clone the TargetLoweringObjectFile
       code. Eventually this should be shared... somehow.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80168 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1ea86df7ddb44659fbf694934abb2177beed8637
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 22:13:22 2009 +0000

    llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
     - I moved section creation back into AsmParser. I think policy decisions like
       this should be pushed higher, not lower, when possible (in addition the
       assembler has flags which change this behavior, for example).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80162 91177308-0d34-0410-b5e6-96231b3b80d8

commit b003759e247f0edb3b691849598ba252f51ae624
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Aug 26 22:12:02 2009 +0000

    De-bork CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80161 91177308-0d34-0410-b5e6-96231b3b80d8

commit e92cc8d5591cb7ded636c91cc98c741af62ec85f
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 26 21:44:57 2009 +0000

    Rework getPersonalityIndex slightly - 0 is now a valid and not-NULL
    personality function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80153 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2a1099a6809307eee7521b1f725ef89370f7ebd1
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Aug 26 21:36:59 2009 +0000

    nobody includes llvm/ADT/iterator.h any more,
    so get rid of this monstrosity. iterator.h.in is scheduled for deletion in my working copy,
    but I wait till I see that configure gets regenerated, as it depends on it. I'll commit
    then.
    There are still some AC_* tests in the configure.ac dealing with iterators, those can
    be zapped probably too.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80147 91177308-0d34-0410-b5e6-96231b3b80d8

commit c87d5ae938fe0c3b0afc3aefef1dc6a9873516e4
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 26 21:30:49 2009 +0000

    If we're emitting additional CIEs due to personality functions
    don't emit the default one. Explicitly check for the NULL
    CIE later.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80146 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84603633a7609ec55de5d8145048efbbf45e5c9c
Author: Eric Christopher <echristo@apple.com>
Date:   Wed Aug 26 21:27:09 2009 +0000

    Nuke trailing whitespace.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80145 91177308-0d34-0410-b5e6-96231b3b80d8

commit f8c4bb7da634d77a7f2cff601b8d3f53c143e9ad
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 21:22:22 2009 +0000

    llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80144 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87f46499f001931c031002473a73793772852e51
Author: Bill Wendling <isanbard@gmail.com>
Date:   Wed Aug 26 21:00:34 2009 +0000

    Don't submit test directory.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80139 91177308-0d34-0410-b5e6-96231b3b80d8

commit 441e205eb82a0ebd70b807d8560c5a76188eabc5
Author: Reid Kleckner <reid@kleckner.net>
Date:   Wed Aug 26 20:58:25 2009 +0000

    Allocate the module provider in the Kaleidoscope code on the heap, not the stack, so that it can be properly deleted.  Also update the tutorial with the new code.  This fixes PR4762, hopefully better than the last time.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80138 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4952aa5163ff4e87910d461f06316cc793ca95b8
Author: Gabor Greif <ggreif@gmail.com>
Date:   Wed Aug 26 19:16:32 2009 +0000

    Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80128 91177308-0d34-0410-b5e6-96231b3b80d8

commit ffefef35790db7819c72ba7e53c73b8e5931e851
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Wed Aug 26 18:37:05 2009 +0000

    CMake: Removed outdated TODO.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80124 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66448030685cdc3c9bfd52449e4027258aaba480
Author: Venkatraman Govindaraju <venkatra@cs.wisc.edu>
Date:   Wed Aug 26 18:24:12 2009 +0000

    Generate section for bss and enable weak symbols

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80121 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3a392c8714c745ffdc77da0a8589c7b0df03515f
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 26 18:11:50 2009 +0000

    Convert some more Neon tests to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80120 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5e69950d5391bdf294b415bf39dd44f9f40556a1
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Aug 26 18:10:32 2009 +0000

    Alter 79292 to produce output that actually assembles.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80119 91177308-0d34-0410-b5e6-96231b3b80d8

commit 23f2034aaff80f52b309ee17bfa7a9fc801c9677
Author: Mike Stump <mrs@apple.com>
Date:   Wed Aug 26 18:02:19 2009 +0000

    Allow unsigned long long DenseMapInfo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80118 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1b88455b18224867a8d2fc6c3202b6ce12e0a1c
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Wed Aug 26 17:39:53 2009 +0000

    Remove unneeded ARM-specific DAG nodes for VLD* and VST* Neon operations.
    The instructions can be selected directly from the intrinsics.  We will need
    to add some ARM-specific nodes for VLD/VST of 3 and 4 128-bit vectors, but
    those are not yet implemented.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80117 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0defefd8ce9f13cecba8c988897c3224a25e96f8
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Aug 26 17:39:40 2009 +0000

    Add extload expansion for f128

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80116 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e72169c1b197ef8c5b4c663e2eee4551a3a7178
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Aug 26 17:39:23 2009 +0000

    Unbreak FP128 stuff in cbe

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80115 91177308-0d34-0410-b5e6-96231b3b80d8

commit 644cdc3c64cb485c6a21d1bfb126c107e5b40d64
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Wed Aug 26 17:05:06 2009 +0000

    Ignore -fPIC test on Windows. Suggested by Yonggang Luo.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80111 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8427b6b0529e66663737b39ea51a1fbdbbbbd534
Author: Douglas Gregor <doug.gregor@gmail.com>
Date:   Wed Aug 26 16:33:57 2009 +0000

    Unbreak CMake build

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80109 91177308-0d34-0410-b5e6-96231b3b80d8

commit 886f20275a78a1b03b83a8145a62f5e4cfbb1c99
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Aug 26 16:26:09 2009 +0000

    Expand scalar_to_vector - we don't have any isel logic for it now

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80107 91177308-0d34-0410-b5e6-96231b3b80d8

commit 75c687bcc528eb81dc693d63f7aff9185b29e56f
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 16:06:11 2009 +0000

    Add comments detailing a known bug, so that people writing other
    backends don't use it as an example.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80105 91177308-0d34-0410-b5e6-96231b3b80d8

commit 32b17ffaa8593d25728c9ebad7e82a45c16f817c
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 15:57:57 2009 +0000

    -fast is now -O0. -fast-isel is no longer experimental.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80104 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4637d177299aed45c6be7ca24e003771f33fd5d6
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 15:56:38 2009 +0000

    Move ProfileInfo::Edge's operator<< out of line. Among other benefits,
    this eliminates the ATTRIBUTE_USED, which wasn't being used in a manner
    acceptable to some GCC versions, according to the buildbots.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80103 91177308-0d34-0410-b5e6-96231b3b80d8

commit a064a395489f954b0eaafb351d15b456699dea8e
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Aug 26 15:18:38 2009 +0000

    Bugfix for r80100, forgot include. Sorry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80101 91177308-0d34-0410-b5e6-96231b3b80d8

commit 70eeb51888ed9e73d058a3b0c889c295219e2109
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Aug 26 15:13:44 2009 +0000

    Implemented comments from Daniel Dunbar.
    (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084958.html)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80100 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9959b052347ceddec3576013485f2564b99b944e
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 14:59:13 2009 +0000

    Don't use INSERT_SUBREG to model anyext operations on x86-64, as it
    leads to partial-register definitions. To help avoid redundant
    zero-extensions, also teach the h-register matching patterns that
    use movzbl to match anyext as well as zext.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80099 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9927f829a68b645ed5813b25e21a881d94fc80d8
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 14:53:06 2009 +0000

    Create a ScalarEvolution-based AliasAnalysis implementation.

    This is a simple AliasAnalysis implementation which works by making
    ScalarEvolution queries. ScalarEvolution has a more complete understanding
    of arithmetic than BasicAA's collection of ad-hoc checks, so it handles
    some cases that BasicAA misses, for example p[i] and p[i+1] within the
    same iteration of a loop.

    This is currently experimental. It may be that the main use for this pass
    will be to help find cases where BasicAA can be profitably extended, or
    to help in the development of the overall AliasAnalysis infrastructure,
    however it's also possible that it could grow up to become a directly
    useful pass.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80098 91177308-0d34-0410-b5e6-96231b3b80d8

commit 596114dc06489e5bd79e3e8ffc60d43bbf3668e3
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 14:34:12 2009 +0000

    Fix a missing newline, now that Value's operator<< doesn't add one of its own.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80096 91177308-0d34-0410-b5e6-96231b3b80d8

commit 84c793aef4170e0d5be4d2c6fcb26a9e56cad21b
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 14:32:17 2009 +0000

    Use SetVector instead of std::set so that alias relations are tested and
    printed in a deterministic order.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80095 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8fa9da2b34655a15102a0845617a9951ee945ed6
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 13:58:10 2009 +0000

    llvm-mc/Mach-O: Add support for relocations.
     - I haven't really tried to find the "right" way to store the fixups or apply
       them, yet. This works, but isn't particularly elegant or fast.

     - Still no evaluation support, so we don't actually ever not turn a fixup into
       a relocation entry.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80089 91177308-0d34-0410-b5e6-96231b3b80d8

commit c3c1992d46f418c45a8e0b5fdb3c452c90aa960e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 13:57:54 2009 +0000

    llvm-mc/Mach-O: Move symbol indices into the MCSymbolData structure.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80088 91177308-0d34-0410-b5e6-96231b3b80d8

commit cefbda1f46cc612e074fdcc1d8aab712aba085e7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 13:57:44 2009 +0000

    llvm-mc/Mach-O: Dump relocations and section data (optionally) in my Mach-O dumper.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80087 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4486ac16542e9dd843778c5f684e1cd9d7bb3945
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 13:57:37 2009 +0000

    llvm-mc: Add symbol entries for undefined symbols used in .fill and .org.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80086 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7c672df8b969b7514438228bed80cfad6e9c473e
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Wed Aug 26 13:44:29 2009 +0000

    Add dummy inline asm handling for 'r' constraint. This fixes PR4778

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80085 91177308-0d34-0410-b5e6-96231b3b80d8

commit 39fd40ae8671ecff6a1857b5a0156e52284c4e5c
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Aug 26 13:33:09 2009 +0000

    Moved isDeclaration() check further down to allow for function counts for
    declarations if necessary.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80084 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92183c031a21857a580b38795272ce80863b9ebf
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 09:16:57 2009 +0000

    llvm-mc: Change MCContext value table to take const MCSymbol*s.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80079 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9d13ac6e4228451c6fe54566064978597aabc1b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 09:16:46 2009 +0000

    llvm-mc: Make MCValue take const MCSymbol*s.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80078 91177308-0d34-0410-b5e6-96231b3b80d8

commit cb73cfe2496d5e70d8cc4c89e7de29373b348353
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 09:16:34 2009 +0000

    llvm-mc: Make non-sensical max bytes to .align an error.

    Also, warn about overflow in alignment values.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80077 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3e64a6cc0e75cf654fd23ac9ffa1a9a1d3d911e9
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Wed Aug 26 09:05:21 2009 +0000

    Changed std::cout to outs(), retaining formating.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80076 91177308-0d34-0410-b5e6-96231b3b80d8

commit 94060421ce73922e71c183fba0fda8bace7d0e2d
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 26 05:01:18 2009 +0000

    Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073 91177308-0d34-0410-b5e6-96231b3b80d8

commit 66d02907de42fa311fb2b512e820277bb1a61e7c
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 26 05:00:16 2009 +0000

    some mips and some sparc compilers apparently
    predefine mips and sparc respectively.  Just overrule them :)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80072 91177308-0d34-0410-b5e6-96231b3b80d8

commit 202ced1e32f5a88a8c865e62ea10c88a712c3fab
Author: Venkatraman Govindaraju <venkatra@cs.wisc.edu>
Date:   Wed Aug 26 04:50:17 2009 +0000

    test commit

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80070 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3eb9a3f37ed8ee8e026d2dfebe6bae08df4e615d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 04:28:45 2009 +0000

    llvm-mc: Fix tests for python variations in int printing, sigh.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80069 91177308-0d34-0410-b5e6-96231b3b80d8

commit 53a9082d2e95f33980ef2b7f5104e0cc46d6342d
Author: Chris Lattner <sabre@nondot.org>
Date:   Wed Aug 26 04:21:30 2009 +0000

    fix some funky indentation

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80068 91177308-0d34-0410-b5e6-96231b3b80d8

commit 0f56d41709c27ec2f0637e19881fefd90e31c22b
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 04:13:32 2009 +0000

    llvm-mc/Mach-O: Add section padding where needed (to align the next section).

    Also, simplify some of Mach-O writer code which can now use section addresses.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80067 91177308-0d34-0410-b5e6-96231b3b80d8

commit b3730b1a3de7fe37a660bd30d3d0d55bcea22d1d
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 02:48:04 2009 +0000

    llvm-mc/Mach-O: Set addresses for symbols.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80065 91177308-0d34-0410-b5e6-96231b3b80d8

commit 7fd6b0fff74a7c9fbc054b3303fee1a8f22002b2
Author: Dale Johannesen <dalej@apple.com>
Date:   Wed Aug 26 01:08:21 2009 +0000

    Add an 'inline hint' attribute to represent source
    code hints that it would be a good idea to inline
    a function ("inline" keyword).  No functional change
    yet; FEs do not emit this and inliner does not use it.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80063 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2e1a5d0b91503b8d5ada9fe0b19567daca2f1c6f
Author: Devang Patel <dpatel@apple.com>
Date:   Wed Aug 26 00:39:50 2009 +0000

    Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
    Patch by Caroline Tice.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061 91177308-0d34-0410-b5e6-96231b3b80d8

commit 6d294da8f845a8d611529759d194315b76b44a6e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 00:18:21 2009 +0000

    llvm-mc: Improve indirect symbol support (add the indirect index table).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80059 91177308-0d34-0410-b5e6-96231b3b80d8

commit 3b126fbc67c6279898f8ca0c31f233a3a56b31d9
Author: Dan Gohman <gohman@apple.com>
Date:   Wed Aug 26 00:13:22 2009 +0000

    Remove unused variables.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80058 91177308-0d34-0410-b5e6-96231b3b80d8

commit bdd4dc67fb10d0f304bec21c924263f8444ae7a7
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Wed Aug 26 00:10:55 2009 +0000

    llvm-mc: Add MCSection::isDefined()

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80057 91177308-0d34-0410-b5e6-96231b3b80d8

commit 917614663633aa0ff1bdf7208862e8b7e25dd911
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 23:27:45 2009 +0000

    Fix the InsertAtEnd form of ShuffleVectorInst constructor to use
    the correct type.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80050 91177308-0d34-0410-b5e6-96231b3b80d8

commit e6803b821738076b5b2299c1cd496be0d0042362
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 23:17:54 2009 +0000

    Eliminate the unused Context argument on one of the ICmpInst and FCmpInst
    constructors.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80049 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4e46ac9407307942712236f8c91875ef323c182f
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Aug 25 23:02:21 2009 +0000

    revert r78628 and r78803 as these are not needed any more

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80048 91177308-0d34-0410-b5e6-96231b3b80d8

commit 58d95377713fa32cbf129e19f4005f4863f9cdb3
Author: Scott Michel <scottm@aero.org>
Date:   Tue Aug 25 22:37:34 2009 +0000

    Updated i128 sext support for CellSPU backend, contributed by Ken Werner (IBM)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80042 91177308-0d34-0410-b5e6-96231b3b80d8

commit 91bf99a35153b00098633f214207c308c52acdcd
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 22:29:08 2009 +0000

    Use covariant return types for Instruction::clone, and eliminate
    the forms of ExtractElementInst and InsertElementInst that are
    equivalent to clone.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80041 91177308-0d34-0410-b5e6-96231b3b80d8

commit 97be9d37d93c38bc82950e0373cd3a8d1d2aa024
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 25 22:27:22 2009 +0000

    Get rid of this horrible "benign race" by exploiting ManagedStatic to initialize
    the array on its first access.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80040 91177308-0d34-0410-b5e6-96231b3b80d8

commit ba4fe8b91352f65caaf2a30f234b5006afd1cf2b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 22:24:20 2009 +0000

    This should use isIndenticalToWhenDefined.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80039 91177308-0d34-0410-b5e6-96231b3b80d8

commit fc00c4a2407c1b30a19fef9ec0a1ae00f7f7472d
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 22:11:20 2009 +0000

    Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,
    and introduce a new Instruction::isIdenticalTo which tests for full
    identity, including the SubclassOptionalData flags. Also, fix the
    Instruction::clone implementations to preserve the SubclassOptionalData
    flags. Finally, teach several optimizations how to handle
    SubclassOptionalData correctly, given these changes.

    This fixes the counterintuitive behavior of isIdenticalTo not comparing
    the full value, and clone not returning an identical clone, as well as
    some subtle bugs that could be caused by these.

    Thanks to Nick Lewycky for reporting this, and for an initial patch!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80038 91177308-0d34-0410-b5e6-96231b3b80d8

commit e73ff31d813cdc36e334404992c42bfef7842c95
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 21:31:39 2009 +0000

    Revert last patch. We need to put this into TargetLowering. There will be a lot
    of EH stuff going into there, so we can wait to add them all then.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80036 91177308-0d34-0410-b5e6-96231b3b80d8

commit 12d46f5ea460e149882e39dc25c649580a161141
Author: Gabor Greif <ggreif@gmail.com>
Date:   Tue Aug 25 21:25:22 2009 +0000

    re-committing yesterday's r79938.

    This time there is no additional include of llvm/Config/config.h
    at all. Instead I use a hard-coded preprecessor symbol:
    LLVM_COMPACTIFY_SENTINELS

    (should this work on the self-hosting buildbot, then
     cleanups come next)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80035 91177308-0d34-0410-b5e6-96231b3b80d8

commit b81243240cbfc573324c9760a77e6b1463955bab
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 25 21:10:45 2009 +0000

    llvm-mc: Add statistic for number of fragments emitted by the assembler.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80033 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4f61e5051fa25f4abb928573db6ea52585748b93
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 21:09:50 2009 +0000

    Add the #include here.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80032 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4b90952a9dd2b26ef6dd359cb8e4f7139e40f864
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 25 21:01:56 2009 +0000

    remove some dead lines.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80031 91177308-0d34-0410-b5e6-96231b3b80d8

commit 538dfe54dd1c732208b2dbb00057b0a58cdeb61e
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 21:01:42 2009 +0000

    Comment formatting. Removing of unused #include and type forwarding.

    OCD is fun!

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80030 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2db1075b5a1bf1ea8f2d2c618917651150b8a94
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 25 20:57:38 2009 +0000

    convert to filecheck style

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80029 91177308-0d34-0410-b5e6-96231b3b80d8

commit 864504a5810fdfd23e1774de0b935dcdafb91645
Author: Chris Lattner <sabre@nondot.org>
Date:   Tue Aug 25 20:49:04 2009 +0000

    convert to filecheck

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80025 91177308-0d34-0410-b5e6-96231b3b80d8

commit e371d63e2a817eda5e3563eb574c99fa08df7e6d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 20:21:17 2009 +0000

    Add a target asm info hook to specify that particular bits of data in the FDE
    should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants
    these bits to be 64-bits (.quad). However, other platforms may disagree.

    This is just the info right now and is part of a work-in-progress which needs
    this. We'll add the actual *use* of this soon.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80024 91177308-0d34-0410-b5e6-96231b3b80d8

commit b0b96906a0018edbadd9f4f3b17b48ec3c29838e
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 25 20:21:09 2009 +0000

    EXIT STAGE LEFT: gccas, gccld

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80023 91177308-0d34-0410-b5e6-96231b3b80d8

commit 13808ef92db201ec027004b4fd8eb2db55c5aae4
Author: Sanjiv Gupta <sanjiv.gupta@microchip.com>
Date:   Tue Aug 25 19:39:05 2009 +0000

    Start refactoring PIC16 TargetObjectFile code. Eventually, all the stuff from
    PIC16Section will move to MCSectionPIC16.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80021 91177308-0d34-0410-b5e6-96231b3b80d8

commit b1d423e0cccd3f78122a5e8c9e959c8569b23bb0
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Tue Aug 25 18:45:03 2009 +0000

    Switch abi-isel.ll to FileCheck; it's not much faster, but it now tests a lot
    more and is much nicer to the OS.
     - Dan, please check. If there are parts of the test you think I should strip
       out so it doesn't cause random failures let me know (there are still some PIC
       label numbers in it, for example).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80019 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1d99646fa9e8847b0ceb086e33a24ed707491684
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 17:56:57 2009 +0000

    Don't assume that two identical instructions that read from memory
    will always return the same value. This isn't currently necessary,
    since this code doesn't currently ever get called under circumstances
    where it would matter, but it may some day.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80017 91177308-0d34-0410-b5e6-96231b3b80d8

commit 82d30b73d3a37de0ec7960a4e099ef9e255d4f11
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Aug 25 17:52:39 2009 +0000

    Remove some unused SDNode definitions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80015 91177308-0d34-0410-b5e6-96231b3b80d8

commit 5bba145cbd5935b442e6a197eda3477f5d1372a5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 17:49:57 2009 +0000

    Teach ScalarEvolution about GlobalAliases.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80014 91177308-0d34-0410-b5e6-96231b3b80d8

commit 1c17fd9fbdcfebe29c7ea59c2c7675e420aa49f5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 17:48:17 2009 +0000

    Delete some unnecessary flushes.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80013 91177308-0d34-0410-b5e6-96231b3b80d8

commit 814c2eaa0121afd0661d8a2b5f715fcb1174f0b5
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 17:47:44 2009 +0000

    Use X86II::MO_NO_FLAG.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80012 91177308-0d34-0410-b5e6-96231b3b80d8

commit 316062a4d193609d98e80e64389fc2094ad8c515
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Tue Aug 25 17:46:06 2009 +0000

    Expose the instruction contraint string as an argument to the NLdSt class.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80011 91177308-0d34-0410-b5e6-96231b3b80d8

commit 208278cfa708aa6e5fcca6d1b92ee780beb72a8c
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 17:42:10 2009 +0000

    Special-case static allocas in IndVarSimplify's loop invariant
    sinking code, since they are special. If the loop preheader happens
    to be the entry block of a function, don't sink static allocas
    out of it. This fixes PR4775.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80010 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36ed6c0368d77188063d1594e54c52df1438ae87
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 25 17:42:07 2009 +0000

    Comment-ify.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80009 91177308-0d34-0410-b5e6-96231b3b80d8

commit 845a722eb435c2a9c0528b13a472e595340b6dd8
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 25 17:35:37 2009 +0000

    Switch to SmallVector.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80007 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2845c6f885c8c7615610ab8494f7535a8f67334c
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 25 17:26:32 2009 +0000

    Pull out this predicate loop into a helper function.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80006 91177308-0d34-0410-b5e6-96231b3b80d8

commit a9c16fe7d4d2b61191b362a5d073bdc95c123c0f
Author: David Goodwin <david_goodwin@apple.com>
Date:   Tue Aug 25 17:03:05 2009 +0000

    Fixup register kills after scheduling.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80002 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9518d88d270c05fb576604fc813405de177e2e34
Author: Anton Korobeynikov <asl@math.spbu.ru>
Date:   Tue Aug 25 17:00:23 2009 +0000

    Provide dynamic_stackalloc lowering for MSP430.
    This fixes PR4769

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80001 91177308-0d34-0410-b5e6-96231b3b80d8

commit b802d676875f2df286887be83419649770dd8580
Author: Edwin Török <edwintorok@gmail.com>
Date:   Tue Aug 25 16:53:15 2009 +0000

    Remove target triple from this test, it fails on x86-64 with
    --enable-targets=host-only otherwise.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80000 91177308-0d34-0410-b5e6-96231b3b80d8

commit e577ff861e934b98cb950a0b0d32d0a9a1dce8b1
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 16:00:35 2009 +0000

    Allocate the basic types inside the LLVMContextImpl instance,
    rather than separately with new. Move the members above the
    TypeMap members to avoid destruction order issues. This fixes
    a leak of these objects, and eliminates an extra level of
    indirection in Type::getInt32Ty and friends.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79997 91177308-0d34-0410-b5e6-96231b3b80d8

commit 87489cff37dde33a9dbb37fbfbad46ce2f70c8af
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 15:54:01 2009 +0000

    Update documentation for the -f change.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79996 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0e89b2e414df522132636eb256ecbcc2d01a4e8
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 15:45:44 2009 +0000

    Fix a few typos from the removal of -f.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79994 91177308-0d34-0410-b5e6-96231b3b80d8

commit 2d65d35d9233277aee7c8a6d3643740e3ed29f0b
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 15:38:29 2009 +0000

    Remove obsolete -f flags.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79992 91177308-0d34-0410-b5e6-96231b3b80d8

commit 176426d2102142aaa0bf19aca55f528ceb873329
Author: Dan Gohman <gohman@apple.com>
Date:   Tue Aug 25 15:34:52 2009 +0000

    Make LLVM command-line tools overwrite their output files without -f.
    This is conventional command-line tool behavior. -f now just means
    "enable binary output on terminals".

    Add a -f option to llvm-extract and llvm-link, for consistency.

    Remove F_Force from raw_fd_ostream and enable overwriting and
    truncating by default. Introduce an F_Excl flag to permit users to
    enable a failure when the file already exists. This flag is
    currently unused.

    Update Makefiles and documentation accordingly.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8c949d7c548ed4ec883a2c8bd922607be2563f5a
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Tue Aug 25 12:53:27 2009 +0000

    Read profile files as binary as proposed in
    http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-August/025020.html.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79983 91177308-0d34-0410-b5e6-96231b3b80d8

commit 9112f5f6755a85f10036ff20741fc264622dc14a
Author: Xerxes Ranby <xerxes@zafena.se>
Date:   Tue Aug 25 10:12:55 2009 +0000

    Fix PR4772 ARM JIT.GlobalInFuction unittest by explicitly initialize MMI
    to 0 during JITEmitter constructor.

    Modified:
    	lib/ExecutionEngine/JIT/JITEmitter.cpp

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79982 91177308-0d34-0410-b5e6-96231b3b80d8

commit a75796301ee17e60daea754e30a035a53891650d
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 08:08:33 2009 +0000

    - Rename EmitCommonInformationEntry to EmitCIE.
    - Rename EmitFunctionDescriptionEntry to EmitFDE.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79981 91177308-0d34-0410-b5e6-96231b3b80d8

commit 57b83c78f56324e3a8ff636b311235f6f2350b4e
Author: Devang Patel <dpatel@apple.com>
Date:   Tue Aug 25 05:24:07 2009 +0000

    Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.

    This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8

commit bcc93309ca3632b3cd2b45f265a534256be7589a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 02:32:05 2009 +0000

    - Emit new line after each FDE.
    - Fix comment.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79971 91177308-0d34-0410-b5e6-96231b3b80d8

commit 4767b24840250630c47fee8be2a6aef07f19d30a
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 02:27:42 2009 +0000

    Rename functions to something more descriptive. At the very least mention the
    CIE and FDE in their names.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79969 91177308-0d34-0410-b5e6-96231b3b80d8

commit 30d4d765dfc6d01bc4c1d6934582050106bcceba
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Aug 25 01:13:58 2009 +0000

    Allow multiple occurrences of -inline-threshold on
    the command line.  This gives llvm-gcc developers
    a way to control inlining (documented as "not intended
    for end users").

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79966 91177308-0d34-0410-b5e6-96231b3b80d8

commit 06b990c5b3f32505188e52be1b70b38290f81b83
Author: Owen Anderson <resistor@mac.com>
Date:   Tue Aug 25 00:54:39 2009 +0000

    Handle a corner case when extracing code regions where one of the immediate successor
    of an extracted block contains a PHI using a value defined in the extracted region.

    With this patch, the partial inliner now passes MultiSource/Applications.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79963 91177308-0d34-0410-b5e6-96231b3b80d8

commit f1f04ecf6e5af3aa7c4c59077486c9cb29df20ea
Author: Dale Johannesen <dalej@apple.com>
Date:   Tue Aug 25 00:16:14 2009 +0000

    Fix PR 4751, another difficulty with %a modifier on x86.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79961 91177308-0d34-0410-b5e6-96231b3b80d8

commit 09220a24f7845a078fb41c61ee909eed6c94a255
Author: Bill Wendling <isanbard@gmail.com>
Date:   Tue Aug 25 00:05:04 2009 +0000

    --- Reverse-merging r79938 into '.':
    U    include/llvm/BasicBlock.h
    U    include/llvm/ADT/ilist_node.h
    U    include/llvm/ADT/ilist.h
    U    include/llvm/CodeGen/SelectionDAG.h
    U    include/llvm/CodeGen/MachineFunction.h
    U    include/llvm/CodeGen/MachineBasicBlock.h
    U    include/llvm/Function.h

    Revert r79938. It was causing self-hosting build failures.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79960 91177308-0d34-0410-b5e6-96231b3b80d8

commit f2942e63abf0b485e88c21a9fc96bfb13754ed41
Author: Oscar Fuentes <ofv@wanadoo.es>
Date:   Tue Aug 25 00:02:29 2009 +0000

    CMake: updated list of source files.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79959 91177308-0d34-0410-b5e6-96231b3b80d8

commit 399ece6621d316d7378e5fc13bd030e5572f03ce
Author: Scott Michel <scottm@aero.org>
Date:   Mon Aug 24 23:57:35 2009 +0000

    - Remove SelectSEXTi128 from SPUISelDAGToDAG.cpp, evidently, this is redundant
      code, according to Anton (I'm not totally convinced, but we can always
      resurrect patches if we need to do so.)
    - Start moving CellSPU's tests to prefer FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79958 91177308-0d34-0410-b5e6-96231b3b80d8

commit 27dad5a41e0b0fa8fd5cba2e6f5dd70b82689e76
Author: Owen Anderson <resistor@mac.com>
Date:   Mon Aug 24 23:32:14 2009 +0000

    When extracting SEME regions of code, the extractor needs to update the dominator tree for split return blocks.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79957 91177308-0d34-0410-b5e6-96231b3b80d8

commit 316e6fb92b997dfa4db655a371d5699cbcac0473
Author: Scott Michel <scottm@aero.org>
Date:   Mon Aug 24 22:49:22 2009 +0000

    Prefer 'FileCheck' over 'grep'.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79953 91177308-0d34-0410-b5e6-96231b3b80d8

commit 36173e27ebfe4da907c17f2b507a9df3415a3aad
Author: Scott Michel <scottm@aero.org>
Date:   Mon Aug 24 22:28:53 2009 +0000

    128-bit sign extension and vector shift cleanups, contributed by Ken Werner
    (IBM).

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79949 91177308-0d34-0410-b5e6-96231b3b80d8

commit 73ab81726b384015ac9bfe7f734fc13b93297c4c
Author: Scott Michel <scottm@aero.org>
Date:   Mon Aug 24 21:53:27 2009 +0000

    Initialize ShufBytes, as gcc 4.4 can't detect that the entire array is
    initialized and a warning about a potentially unintialized variable is
    generated.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79946 91177308-0d34-0410-b5e6-96231b3b80d8

commit af26e32df3f129ac906a45c4527b5ee3641cb22d
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Mon Aug 24 21:41:37 2009 +0000

    Add llvm_start_edge_profiling to exported symbols for libprofile_rt.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79944 91177308-0d34-0410-b5e6-96231b3b80d8

commit 92b39ace140de279245e80d0465528933787c7e4
Author: Andreas Neustifter <astifter@gmx.at>
Date:   Mon Aug 24 21:37:48 2009 +0000

    This patch cleans up the ProfileInfo by
    *) introducing new data type and export function of edge info for whole function (preparation for next patch).
    *) renaming variables to make clear distinction between data and containers that contain this data.
    *) updated comments and whitespaces.
    *) made ProfileInfo::MissingValue a double (as it should be...).

    (Discussed at http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084955.html.)

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79940 91177308-0d34-0410-b5e6-96231b3b80d8

commit c19dfb9d25347b815512bba5eb64052708e4c183
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Aug 24 21:34:17 2009 +0000

    Resubmit an earlier patch of mine:
    reduce the size of relevant "ghostly" sentinels
    by a pointer.

    This attempt now makes the compactification dependent
    on the configure variable LLVM_COMPACT_SENTINELS
    and should not cause any bootstrap failures for
    llvm-gcc any more.

    Please note that this is not yet the final version,
    and (as settled with Chris) I shall take out the
    autofoo/cmake portions in the next days.

    This will also lose the assertability on sentinel
    dereferencing and operator++, but that seems
    an acceptable price to pay for the simplified
    build logic.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79938 91177308-0d34-0410-b5e6-96231b3b80d8

commit b2f99910fba8818270e41e75f4b127d82a2082a6
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 24 21:17:17 2009 +0000

    Fix a typo.  Somehow I thought this had passed before, but I guess not.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79937 91177308-0d34-0410-b5e6-96231b3b80d8

commit f5c686b114bf6ac6b3137f96bc59ffb2e8e20de6
Author: Gabor Greif <ggreif@gmail.com>
Date:   Mon Aug 24 21:00:10 2009 +0000

    prune ignores: AutoGenerated.inc is no more

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79936 91177308-0d34-0410-b5e6-96231b3b80d8

commit cacea03dbaca34b44783243898ef2274bd71e72e
Author: Bob Wilson <bob.wilson@apple.com>
Date:   Mon Aug 24 20:33:47 2009 +0000

    Convert slow test to use FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79935 91177308-0d34-0410-b5e6-96231b3b80d8

commit 8551a303173101cf595dc35200eea7da37e769d4
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 24 20:08:27 2009 +0000

    Convert two gratuitous abuses of poor helpless CPU cycles to FileCheck.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79933 91177308-0d34-0410-b5e6-96231b3b80d8

commit b9640223f05f0257603a0138c1ea8cb59c7f5acc
Author: Dale Johannesen <dalej@apple.com>
Date:   Mon Aug 24 17:51:19 2009 +0000

    Split test into 3.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79926 91177308-0d34-0410-b5e6-96231b3b80d8

commit a0151d0e9f948b39e55944b5cad64fb33732af25
Author: Daniel Dunbar <daniel@zuster.org>
Date:   Mon Aug 24 11:56:58 2009 +0000

    llvm-mc/Mach-O: Preliminary support for indirect symbols.
     - The indirect table itself isn't being filled in yet.

     - This isn't factored properly and is rather FIXMEd, but at the moment I'm more
       focused on figuring out what it needs to do.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79910 91177308-0d34-0410-b5e6-96231b3b80d8

commit b69f053e0d5af3463d1bbf2101e5c1431cca6fee
Author: Duncan Sands <baldrick@free.fr>
Date:   Mon Aug 24 10:59:01 2009 +0000

    Fix the build when using gcc-4.4 on linux.  Header needed
    for stderr and fprintf.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79909 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31 22:38:59 +03:00
Török Edvin
8771ff1860 rename libclamav/{llvm->c++} 2009-08-31 11:39:46 +03:00