Commit Graph

50963 Commits

Author SHA1 Message Date
Tanya Lattner
0ef4085edd 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
2009-10-24 01:52:47 +00:00
Tanya Lattner
850c8b66e2 Add 2.6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@84935 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23 06:21:18 +00:00
Tanya Lattner
1b769552af Merge in release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@84933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-23 06:16:18 +00:00
Tanya Lattner
94ea8e3ce8 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
2009-10-13 06:01:01 +00:00
Tanya Lattner
901cb73cc5 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
2009-10-12 16:46:55 +00:00
Tanya Lattner
f97bad7a6f 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
2009-10-12 16:45:48 +00:00
Tanya Lattner
e07cc230d9 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
2009-10-01 15:12:41 +00:00
Tanya Lattner
f2641fb4d0 Merge in fix for PR4910.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@82428 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-21 03:01:01 +00:00
Tanya Lattner
66f1c6a545 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
2009-09-18 04:28:28 +00:00
Tanya Lattner
440f4126b4 Fix PR5001 PR5002.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@82191 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18 04:26:28 +00:00
Tanya Lattner
1d20c4e51a 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
2009-09-16 01:15:44 +00:00
Tanya Lattner
15a6377b29 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
2009-09-16 01:14:55 +00:00
Tanya Lattner
b580bd1eb2 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
2009-09-16 01:13:59 +00:00
Tanya Lattner
565fb5a655 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
2009-09-16 01:13:06 +00:00
Tanya Lattner
75a1426996 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
2009-09-16 01:12:05 +00:00
Tanya Lattner
dc10e65ed6 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
2009-09-16 01:10:57 +00:00
Tanya Lattner
3abdcf6456 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
2009-09-16 01:06:50 +00:00
Tanya Lattner
544e5bc05e 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
2009-09-16 01:05:19 +00:00
Tanya Lattner
08b3db33e1 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
2009-09-16 01:04:02 +00:00
Tanya Lattner
b5f7f4fe8d 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
2009-09-16 01:03:05 +00:00
Tanya Lattner
5d199aacef 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
2009-09-13 19:13:34 +00:00
Tanya Lattner
99a127c731 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
2009-09-13 19:12:07 +00:00
Tanya Lattner
85160b9dc1 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
2009-09-13 19:08:09 +00:00
Tanya Lattner
bb16ea96ac 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
2009-09-13 19:02:05 +00:00
Tanya Lattner
ac591b8155 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
2009-09-13 19:00:12 +00:00
Tanya Lattner
84bda2164c 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
2009-09-13 18:54:32 +00:00
Tanya Lattner
c8afc562f5 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
2009-09-13 18:53:07 +00:00
Tanya Lattner
413ac2e34c Fix PR4962.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-12 22:54:18 +00:00
Tanya Lattner
9e2e5254c2 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
2009-09-12 22:53:29 +00:00
Tanya Lattner
bf256043da 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
2009-09-12 22:50:39 +00:00
Tanya Lattner
d76a68e5a7 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
2009-09-12 22:49:19 +00:00
Tanya Lattner
031fdbb7e8 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
2009-09-12 22:30:53 +00:00
Tanya Lattner
8a57704ed4 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
2009-09-12 22:29:41 +00:00
Tanya Lattner
b38a3125dd 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
2009-09-12 22:28:38 +00:00
Tanya Lattner
90f271424b 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
2009-09-12 22:26:39 +00:00
Tanya Lattner
a087e06d04 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
2009-09-12 22:25:41 +00:00
Tanya Lattner
31f28dfaee 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
2009-09-10 00:25:22 +00:00
Tanya Lattner
829b8efeb6 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
2009-09-10 00:20:28 +00:00
Tanya Lattner
6967f31cc2 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
2009-09-10 00:18:43 +00:00
Tanya Lattner
280f224593 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
2009-09-08 23:30:18 +00:00
Tanya Lattner
d478be2299 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
2009-09-08 23:29:08 +00:00
Tanya Lattner
68438c16f7 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
2009-09-08 23:19:21 +00:00
Tanya Lattner
05746c4863 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
2009-09-08 20:36:35 +00:00
Tanya Lattner
9b2558bc02 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
2009-09-04 19:52:18 +00:00
Tanya Lattner
beabaccc94 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
2009-09-04 19:45:24 +00:00
Tanya Lattner
a3353ad369 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
2009-09-04 19:29:42 +00:00
Tanya Lattner
2335bcd63f 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
2009-09-04 19:27:52 +00:00
Tanya Lattner
61d5bb6996 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
2009-09-04 19:26:38 +00:00
Tanya Lattner
15c0e3ee5d 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
2009-09-04 19:24:58 +00:00
Tanya Lattner
3ee29bf665 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
2009-09-04 19:22:51 +00:00