Age | Commit message (Collapse) | Author |
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@84935 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@84933 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@82428 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@82191 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81650 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81649 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Add testcase for r81322 (PR4933).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81412 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
Unbreak this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81271 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81253 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|