]> granicus.if.org Git - llvm/log
llvm
15 years agoMerge 80596 from mainline. release_26 origin/release_26
Tanya Lattner [Sat, 24 Oct 2009 01:52:47 +0000 (01:52 +0000)]
Merge 80596 from mainline.
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/branches/release_26@84985 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd 2.6
Tanya Lattner [Fri, 23 Oct 2009 06:21:18 +0000 (06:21 +0000)]
Add 2.6

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@84935 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge in release notes.
Tanya Lattner [Fri, 23 Oct 2009 06:16:18 +0000 (06:16 +0000)]
Merge in release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@84933 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 79729 from mainline.
Tanya Lattner [Tue, 13 Oct 2009 06:01:01 +0000 (06:01 +0000)]
Merge 79729 from mainline.
Change SmallString::operator{=,+=} to take a StringRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@83946 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 83417 from mainline.
Tanya Lattner [Mon, 12 Oct 2009 16:46:55 +0000 (16:46 +0000)]
Merge 83417 from mainline.
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/branches/release_26@83859 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 83391 from mainline.
Tanya Lattner [Mon, 12 Oct 2009 16:45:48 +0000 (16:45 +0000)]
Merge 83391 from mainline.
Fix PR5112, a miscompilation on gcc-4.0.3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@83858 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline (reg).
Tanya Lattner [Thu, 1 Oct 2009 15:12:41 +0000 (15:12 +0000)]
Merge from mainline (reg).
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/branches/release_26@83200 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge in fix for PR4910.
Tanya Lattner [Mon, 21 Sep 2009 03:01:01 +0000 (03:01 +0000)]
Merge in fix for PR4910.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@82428 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix mingw for release.
Tanya Lattner [Fri, 18 Sep 2009 04:28:28 +0000 (04:28 +0000)]
Fix mingw for release.
Merge 82177 from mainline.
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/branches/release_26@82192 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR5001 PR5002.
Tanya Lattner [Fri, 18 Sep 2009 04:26:28 +0000 (04:26 +0000)]
Fix PR5001 PR5002.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@82191 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80153 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:15:44 +0000 (01:15 +0000)]
Merge 80153 from mainline.
Rework getPersonalityIndex slightly - 0 is now a valid and not-NULL
personality function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81982 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81888 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:14:55 +0000 (01:14 +0000)]
Merge 81888 from mainline.
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/branches/release_26@81981 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81845 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:13:59 +0000 (01:13 +0000)]
Merge 81845 from mainline.
fix PR4963: folding insertvalue would sometimes turn a packed struct into
an unpacked one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81980 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81821 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:13:06 +0000 (01:13 +0000)]
Merge 81821 from mainline.
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/branches/release_26@81978 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81814 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:12:05 +0000 (01:12 +0000)]
Merge 81814 from mainline.
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/branches/release_26@81977 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81810 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:10:57 +0000 (01:10 +0000)]
Merge 81810 from mainline.
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/branches/release_26@81976 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81800 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:06:50 +0000 (01:06 +0000)]
Merge 81800 from mainline.
Expose initializing the native target for the execution engine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81975 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81799 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:05:19 +0000 (01:05 +0000)]
Merge 81799 from mainline.
Make sure to initialize the fpm in the ocaml tutorial.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81974 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80960 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:04:02 +0000 (01:04 +0000)]
Merge 80960 from mainline.
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/branches/release_26@81973 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81768 from mainline.
Tanya Lattner [Wed, 16 Sep 2009 01:03:05 +0000 (01:03 +0000)]
Merge 81768 from mainline.
Enable the jit for llvm-config.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81972 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80146 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 19:13:34 +0000 (19:13 +0000)]
Merge 80146 from mainline.
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/branches/release_26@81702 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80414 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 19:12:07 +0000 (19:12 +0000)]
Merge 80414 from mainline.
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/branches/release_26@81701 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81655 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 19:08:09 +0000 (19:08 +0000)]
Merge 81655 from mainline.
fix for PR4960.
 - Could we just always implement this as __clear_cache for __GNUC__?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81697 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81316 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 19:02:05 +0000 (19:02 +0000)]
Merge 81316 from mainline.
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/branches/release_26@81694 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81175 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 19:00:12 +0000 (19:00 +0000)]
Merge 81175 from mainline.
Fix PR4882, by making MemCpyOpt not dereference removed stores to get the
context for the newly created operations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81693 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81132 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 18:54:32 +0000 (18:54 +0000)]
Merge 81132 from mainline.
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/branches/release_26@81691 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80370 from mainline.
Tanya Lattner [Sun, 13 Sep 2009 18:53:07 +0000 (18:53 +0000)]
Merge 80370 from mainline.
Short-term workaround for frame-related weirdness on win64.
Some other minor win64 fixes as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81690 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR4962.
Tanya Lattner [Sat, 12 Sep 2009 22:54:18 +0000 (22:54 +0000)]
Fix PR4962.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81650 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge r81547 from mainline to fix PR4820.
Tanya Lattner [Sat, 12 Sep 2009 22:53:29 +0000 (22:53 +0000)]
Merge r81547 from mainline to fix PR4820.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81649 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81422 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:50:39 +0000 (22:50 +0000)]
Merge 81422 from mainline.
Proper support of non-lazy indirect symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81648 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80404 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:49:19 +0000 (22:49 +0000)]
Merge 80404 from mainline.
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/branches/release_26@81647 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81403 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:30:53 +0000 (22:30 +0000)]
Merge 81403 from mainline.
Fix double load / store multiple encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81641 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81311 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:29:41 +0000 (22:29 +0000)]
Merge 81311 from mainline.
Make sure to make stub region writable before emission, executable after emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81640 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81310 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:28:38 +0000 (22:28 +0000)]
Merge 81310 from mainline.
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/branches/release_26@81639 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81308 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:26:39 +0000 (22:26 +0000)]
Merge 81308 from mainline.
Make sure the memory range is writable before memset'ing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81638 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81240 from mainline.
Tanya Lattner [Sat, 12 Sep 2009 22:25:41 +0000 (22:25 +0000)]
Merge 81240 from mainline.
Do not specify -mmacosx-version-min if building for arm-apple-darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81637 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81327 from mainline.
Tanya Lattner [Thu, 10 Sep 2009 00:25:22 +0000 (00:25 +0000)]
Merge 81327 from mainline.
Add testcase for r81322 (PR4933).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81412 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81343 from mainline.
Tanya Lattner [Thu, 10 Sep 2009 00:20:28 +0000 (00:20 +0000)]
Merge 81343 from mainline.
When widening a vector load, use the correct chain. This fixes PR4891.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81411 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81322 from mainline.
Tanya Lattner [Thu, 10 Sep 2009 00:18:43 +0000 (00:18 +0000)]
Merge 81322 from mainline.
Provide proper section flags for various BSS flavours

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81410 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81205 from mainline.
Tanya Lattner [Tue, 8 Sep 2009 23:30:18 +0000 (23:30 +0000)]
Merge 81205 from mainline.
Unbreak this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81271 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81204 from mainline (with minor tweak).
Tanya Lattner [Tue, 8 Sep 2009 23:29:08 +0000 (23:29 +0000)]
Merge 81204 from mainline (with minor tweak).
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/branches/release_26@81270 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 81187 from mainline.
Tanya Lattner [Tue, 8 Sep 2009 23:19:21 +0000 (23:19 +0000)]
Merge 81187 from mainline.
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/branches/release_26@81268 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoInclude file is necessary for 80768 that was merged in.
Tanya Lattner [Tue, 8 Sep 2009 20:36:35 +0000 (20:36 +0000)]
Include file is necessary for 80768 that was merged in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81253 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80863 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:52:18 +0000 (19:52 +0000)]
Merge 80863 from mainline.
Improve llvm::getHostTriple for some cases where the LLVM_HOSTTRIPLE is not
reliable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81033 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80872 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:45:24 +0000 (19:45 +0000)]
Merge 80872 from mainline.
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/branches/release_26@81032 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80805 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:29:42 +0000 (19:29 +0000)]
Merge 80805 from mainline.
Fix the syntax of add/sub/mul nsw/nuw and sdiv exact.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81031 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80780 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:27:52 +0000 (19:27 +0000)]
Merge 80780 from mainline.
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/branches/release_26@81030 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80768 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:26:38 +0000 (19:26 +0000)]
Merge 80768 from mainline.
fix PR4815: some cases where DeleteDeadInstruction can delete
the instruction BBI points to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81029 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80762 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:24:58 +0000 (19:24 +0000)]
Merge 80762 from mainline.
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/branches/release_26@81028 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80761 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 19:22:51 +0000 (19:22 +0000)]
Merge  80761 from mainline.
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/branches/release_26@81027 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 80742 from mainline.
Tanya Lattner [Fri, 4 Sep 2009 18:42:45 +0000 (18:42 +0000)]
Merge 80742 from mainline.
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/branches/release_26@81023 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge r80213 from mainline.
Tanya Lattner [Mon, 31 Aug 2009 07:02:49 +0000 (07:02 +0000)]
Merge r80213 from mainline.
For now, only run MC tests if X86 is configured.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80565 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 79737 from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:59:49 +0000 (06:59 +0000)]
Merge 79737 from mainline.
Force triple for these tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80564 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 79862 from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:58:09 +0000 (06:58 +0000)]
Merge 79862 from mainline.
Fix off-by-one in llvm::Format::print.
 - This also shortens the Format.h implementation, and uses the print buffer
  fully (it was wasting a character).

 - This manifested as llvm-test failures, because one side effect was that
  raw_ostream would write garbage '\x00' values into the output stream if it
  happened that the string was at the end of the buffer. This meant that grep
  would report 'Binary file matches', which meant the silly pattern matching
  llvm-test eventually does would fail. Cute. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80563 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:52:19 +0000 (06:52 +0000)]
Merge from mainline.
This is passing for PPC on Mac OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80561 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:43:15 +0000 (06:43 +0000)]
Merge from mainline.
Make sure we specify no arguments for context functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80560 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:33:31 +0000 (06:33 +0000)]
Merge from mainline.
This should use isIndenticalToWhenDefined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80554 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:32:45 +0000 (06:32 +0000)]
Merge from mainline.
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/branches/release_26@80553 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:29:32 +0000 (06:29 +0000)]
Merge from mainline.
When undoing a reuse in ReuseInfo::GetRegForReload, check if it was only a
sub-register being used. The MachineOperand::getSubReg() method is only valid
for virtual registers, so we have to recover the sub-register index manually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80552 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:28:24 +0000 (06:28 +0000)]
Merge from mainline.
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/branches/release_26@80551 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agomerge from mainline
Tanya Lattner [Mon, 31 Aug 2009 06:27:22 +0000 (06:27 +0000)]
merge from mainline
Fix PR4772 ARM JIT.GlobalInFuction unittest by explicitly initialize MMI
to 0 during JITEmitter constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80550 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:25:32 +0000 (06:25 +0000)]
Merge from mainline.
Don't install FileCheck man page

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80549 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:24:03 +0000 (06:24 +0000)]
Merge from mainline.
Don't install FileCheck and FileUpdate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80548 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline
Tanya Lattner [Mon, 31 Aug 2009 06:14:19 +0000 (06:14 +0000)]
Merge from mainline
Try to fix MSVC build after r79846.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80544 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge from mainline.
Tanya Lattner [Mon, 31 Aug 2009 06:12:11 +0000 (06:12 +0000)]
Merge from mainline.

Fix non-determinism in DAGISel emitter.
 - This manifested as non-determinism in the .inc output in rare cases (when two
   distinct patterns ended up being equivalent, which is rather rare). That
   meant the pattern matching was non-deterministic, which could eventually mean
   the code generator selected different instructions based on the arch.

 - It's probably worth making the DAGISel ensure a total ordering (or force the
   user to), but the simple fix here is to totally order the Record* maps based
   on a unique ID.

 - PR4672, PR4711.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@80543 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 79736 from mainline.
Tanya Lattner [Sun, 23 Aug 2009 03:07:48 +0000 (03:07 +0000)]
Merge 79736 from mainline.
llvm-mc: Hopefully fix Mach-O tests on big-endian platforms, force values to be
converted to Python ints if possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@79810 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRegenerate configure.
Tanya Lattner [Sat, 22 Aug 2009 20:59:52 +0000 (20:59 +0000)]
Regenerate configure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@79770 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSet release number and update copyright date while we are at it.
Tanya Lattner [Sat, 22 Aug 2009 20:59:42 +0000 (20:59 +0000)]
Set release number and update copyright date while we are at it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@79769 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMerge 79741 from mainline.
Tanya Lattner [Sat, 22 Aug 2009 20:41:28 +0000 (20:41 +0000)]
Merge 79741 from mainline.
Some dummy cost model for s390x:
 - Prefer short-imm instructions over ext-imm, when possible
 - Prefer Z10 instructions over Z9, when possible

This hopefully should fix some dejagnu test fails on solaris

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@79761 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCreate 2.6 release branch.
Tanya Lattner [Sat, 22 Aug 2009 04:09:29 +0000 (04:09 +0000)]
Create 2.6 release branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@79722 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agorevert r79708 + r79711
Chris Lattner [Sat, 22 Aug 2009 04:07:34 +0000 (04:07 +0000)]
revert r79708 + r79711

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

15 years agoMake x86 test actually test x86 code generation. Fix the
Eli Friedman [Sat, 22 Aug 2009 03:13:10 +0000 (03:13 +0000)]
Make x86 test actually test x86 code generation.  Fix the
construct on ARM, which was breaking by coincidence, and add a similar
testcase for ARM.

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

15 years agoAdd new intrinsics for Neon vldN_lane and vstN_lane operations.
Bob Wilson [Sat, 22 Aug 2009 02:28:46 +0000 (02:28 +0000)]
Add new intrinsics for Neon vldN_lane and vstN_lane operations.

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

15 years agoNote down a few bits and bobs off the top of my head for ReleaseNotes-2.6.html
Edward O'Callaghan [Sat, 22 Aug 2009 02:17:22 +0000 (02:17 +0000)]
Note down a few bits and bobs off the top of my head for ReleaseNotes-2.6.html

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

15 years agoAdd basic information about SJLJ EH
Jim Grosbach [Sat, 22 Aug 2009 01:42:39 +0000 (01:42 +0000)]
Add basic information about SJLJ EH

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

15 years agorename test, make more specific.
Chris Lattner [Sat, 22 Aug 2009 00:44:24 +0000 (00:44 +0000)]
rename test, make more specific.

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

15 years agoActually remove unused static. Previous commit removed trailing
Eric Christopher [Sat, 22 Aug 2009 00:41:47 +0000 (00:41 +0000)]
Actually remove unused static. Previous commit removed trailing
whitespace.

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

15 years agoRemove unused static.
Eric Christopher [Sat, 22 Aug 2009 00:40:45 +0000 (00:40 +0000)]
Remove unused static.

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

15 years agoEase contention on this lock by noticing that all writes to the VTs array will
Owen Anderson [Sat, 22 Aug 2009 00:29:12 +0000 (00:29 +0000)]
Ease contention on this lock by noticing that all writes to the VTs array will
be of (dynamically) constant values, so races on it are immaterial.  We just need
to ensure that at least one write has completed before return the pointer into it.

With this change, parllc exhibits essentially no overhead on 403.gcc.

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

15 years agoAdd missing RUN line
Anton Korobeynikov [Sat, 22 Aug 2009 00:28:50 +0000 (00:28 +0000)]
Add missing RUN line

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

15 years agoReduce the test
Anton Korobeynikov [Sat, 22 Aug 2009 00:18:11 +0000 (00:18 +0000)]
Reduce the test

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

15 years agoUse CHECK-NEXT to make sure we're only getting one copy of each shuffle
Bob Wilson [Sat, 22 Aug 2009 00:13:23 +0000 (00:13 +0000)]
Use CHECK-NEXT to make sure we're only getting one copy of each shuffle
instruction.

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

15 years agoMake unit-at-a-time on by default to match the behavior of llvm-gcc.
Eric Christopher [Fri, 21 Aug 2009 23:30:30 +0000 (23:30 +0000)]
Make unit-at-a-time on by default to match the behavior of llvm-gcc.

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

15 years agollvm-mc: Improve handling of implicit alignment for magic section directives
Daniel Dunbar [Fri, 21 Aug 2009 23:30:15 +0000 (23:30 +0000)]
llvm-mc: Improve handling of implicit alignment for magic section directives
(e.g., .objc_message_refs).
 - Just emit a .align when we see the directive; this isn't exactly what 'as'
   does but in practice it should be ok, at least for now. See FIXME.

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

15 years agoKill trailing whitespace.
Eric Christopher [Fri, 21 Aug 2009 23:29:40 +0000 (23:29 +0000)]
Kill trailing whitespace.

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

15 years agoremove the directory too
Chris Lattner [Fri, 21 Aug 2009 23:13:12 +0000 (23:13 +0000)]
remove the directory too

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

15 years agoRevert r79563
Chris Lattner [Fri, 21 Aug 2009 23:12:47 +0000 (23:12 +0000)]
Revert r79563

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

15 years agorevert r79562 + r79563
Chris Lattner [Fri, 21 Aug 2009 23:12:15 +0000 (23:12 +0000)]
revert r79562 + r79563

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

15 years agoMake MSVC happy.
Daniel Dunbar [Fri, 21 Aug 2009 23:11:36 +0000 (23:11 +0000)]
Make MSVC happy.

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

15 years agoFix typo.
Anton Korobeynikov [Fri, 21 Aug 2009 23:09:47 +0000 (23:09 +0000)]
Fix typo.

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

15 years agorevert r79631
Chris Lattner [Fri, 21 Aug 2009 23:08:45 +0000 (23:08 +0000)]
revert r79631

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

15 years agorevert 79631
Chris Lattner [Fri, 21 Aug 2009 23:08:09 +0000 (23:08 +0000)]
revert 79631

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

15 years agollvm-mc/Mach-O: Support .o emission for .org and .align.
Daniel Dunbar [Fri, 21 Aug 2009 23:07:38 +0000 (23:07 +0000)]
llvm-mc/Mach-O: Support .o emission for .org and .align.

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

15 years agollvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
Daniel Dunbar [Fri, 21 Aug 2009 23:01:53 +0000 (23:01 +0000)]
llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
count is given (this matches 'as').

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

15 years agoImplement APInt <-> APFloat conversion for IEEE 128-bit floats.
Anton Korobeynikov [Fri, 21 Aug 2009 22:10:30 +0000 (22:10 +0000)]
Implement APInt <-> APFloat conversion for IEEE 128-bit floats.
This fixes PR2555

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

15 years agoRename ARM "lane_cst" operands to "nohash_imm" since they are used for
Bob Wilson [Fri, 21 Aug 2009 21:58:55 +0000 (21:58 +0000)]
Rename ARM "lane_cst" operands to "nohash_imm" since they are used for
several things other than Neon vector lane numbers.  For inline assembly
operands with a "c" print code, check that they really are immediates.

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

15 years agoFix a bug where the DWARF emitter in the JIT was not initializing alignment
Reid Kleckner [Fri, 21 Aug 2009 21:03:57 +0000 (21:03 +0000)]
Fix a bug where the DWARF emitter in the JIT was not initializing alignment
bytes.  libgcc doesn't seem to mind, but if you pass this DWARF to GDB, it
doesn't like it.

Also make the JIT memory manager to initialize it's memory to garbage in debug
mode, so that it's easier to find bugs like these in the future.

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

15 years agoMatch VTRN, VZIP, and VUZP shuffles. Restore the tests for these operations,
Bob Wilson [Fri, 21 Aug 2009 20:54:19 +0000 (20:54 +0000)]
Match VTRN, VZIP, and VUZP shuffles.  Restore the tests for these operations,
now using shuffles instead of intrinsics.

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

15 years agoAdd fcopysign instructions
Anton Korobeynikov [Fri, 21 Aug 2009 20:02:37 +0000 (20:02 +0000)]
Add fcopysign instructions

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

15 years agoTry again at privatizing the layout info map, with a rewritten patch.
Owen Anderson [Fri, 21 Aug 2009 19:59:12 +0000 (19:59 +0000)]
Try again at privatizing the layout info map, with a rewritten patch.
This preserves the existing behavior much more closely than my previous attempt.

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