Commit Graph

86743 Commits

Author SHA1 Message Date
Nadav Rotem
9a6823516f LoopVectorizer: Add initial support for pointer induction variables (for example: *dst++ = *src++).
At the moment we still require to have an integer induction variable (for example: i++).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 00:27:03 +00:00
Akira Hatanaka
94e472832f Initial implementation of MipsTargetLowering::isLegalAddressingMode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168230 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 00:25:41 +00:00
Weiming Zhao
8b149cbfc6 Rename methods like PairSRegs() to createSRegpairNode() to meet our coding
style requirement.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168229 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 00:23:35 +00:00
Evan Cheng
fd22019ec3 Teach SROA rewriteVectorizedStoreInst to handle cases when the loaded value is narrower than the stored value. rdar://12713675
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168227 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 00:05:06 +00:00
Andrew Kaylor
784c5bb8b5 Marking remote mcjit tests as XFAIL for cygwin (hopefully only temporarily).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168226 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 00:02:50 +00:00
Andrew Kaylor
0180ad6dae Claim ownership of MCJIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168225 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 23:56:48 +00:00
Eric Christopher
205e60b223 Add some basic support for the fission addr forms to DebugInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168223 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 23:44:11 +00:00
Andrew Kaylor
21414e953a Marking remote mcjit tests as XFAIL for mingw32 (hopefully only temporarily).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168221 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 23:38:16 +00:00
Eric Christopher
5094c0c2de Add constant definitions for fission dwarf attributes, forms, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168218 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 23:04:31 +00:00
Chad Rosier
9de3be85fd Claim the driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168215 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 22:49:27 +00:00
Benjamin Kramer
fc53651d57 Remove default public copy ctors.
They are just useless and prevent SmallVector from picking an optimized codepath
for memcpyable elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168211 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 22:22:20 +00:00
Andrew Kaylor
3bae2696ff Marking remote mcjit tests as XFAIL for ARM (hopefully only temporarily).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168210 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 22:21:04 +00:00
Jakub Staszak
4d7f70cbb5 Remove trailing spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168208 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 22:07:00 +00:00
Weiming Zhao
e56764bad1 Remove hard coded registers in ARM ldrexd and strexd instructions
This patch replaces the hard coded GPR pair [R0, R1] of
Intrinsic:arm_ldrexd and [R2, R3] of Intrinsic:arm_strexd with
even/odd GPRPair reg class.
Similar to the lowering of atomic_64 operation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168207 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:55:34 +00:00
Andrew Trick
cdf493dd0b Use array_pod_sort instead of std::sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168203 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:33:38 +00:00
Andrew Trick
d522754535 typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168202 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:33:35 +00:00
Richard Osborne
6062b2be2c Add myself as owner of XCore Backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168201 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:26:36 +00:00
Anton Korobeynikov
b1a392e7c5 Make sure FABS on v2f32 and v4f32 is legal on ARM NEON
This fixes PR14359


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168200 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:15:20 +00:00
Richard Osborne
ccc015d431 Fix handling of aliases to functions.
An alias to a function should use pc relative addressing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168199 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:12:38 +00:00
Justin Holewinski
2085d00d09 [NVPTX] Order global variables in def-use order before emiting them in the final assembly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168198 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:03:51 +00:00
Justin Holewinski
eaff2d55a9 Preserve address space of forward-referenced global variables in the LL parser
Before, the parser would assert on the following code:

@a2 = global i8 addrspace(1)* @a
@a = addrspace(1) global i8 0

because the type of @a was "i8*" instead of "i8 addrspace(1)*" when parsing
the initializer for @a2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168197 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:03:47 +00:00
Duncan Sands
4f0dfbb454 Make this easier to understand, as suggested by Chandler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168196 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 20:53:08 +00:00
Hemant Kulkarni
2217577fa7 Added program header emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168195 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 20:51:32 +00:00
Craig Topper
08ac4691c6 Remove conditions from 'else if' that were guaranteed by preceding 'if'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 20:01:39 +00:00
Will Schmidt
ed07df34d7 ReleaseNotes.html updates reflecting PPC64 Elf Linux efforts and progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168189 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 19:46:35 +00:00
Duncan Sands
aceb03eb58 InstructionSimplify should be able to simplify A+B==B+A to 'true'
but wasn't due to the same logic bug that caused PR14361.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168186 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 19:41:26 +00:00
Joe Abbey
48f63be368 Using const cast to alleviate a warning.
A PR is being filed to address some code issues here.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168185 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 19:38:42 +00:00
Craig Topper
df0ea8dcad Factor out the final FADD that's common to multiple code paths in the visitLog* functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168183 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 19:08:44 +00:00
Chris Lattner
79dcd43600 move irrelevant attribution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168182 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 18:58:23 +00:00
Duncan Sands
afe4539f8e Fix PR14361: wrong simplification of A+B==B+A. You may think that the old logic
replaced by this patch is equivalent to the new logic, but you'd be wrong, and
that's exactly where the bug was.  There's a similar bug in instsimplify which
manifests itself as instsimplify failing to simplify this, rather than doing it
wrong, see next commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168181 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 18:55:49 +00:00
Andrew Kaylor
661dfdc9b7 Adding new tests to test lli's pseudo-remote feature (-remote-mcjit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168180 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 18:51:59 +00:00
Craig Topper
72be358eec Finally add myself to the credits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168178 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 18:44:36 +00:00
Hans Wennborg
6eac2ba4de SimplifyCFG: Don't assume non-null ScalarTargetTransformInfo.
Patch by Pekka Jääskeläinen!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168176 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 18:22:08 +00:00
Benjamin Kramer
1358841e91 Work around a layering violation from Target to CodeGen.
Technically this is still a layering violation but it's header-only which makes
it less harmful. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168173 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 17:32:33 +00:00
NAKAMURA Takumi
e0827d8880 llvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect to pass on Atom.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168171 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 16:07:37 +00:00
Duncan Sands
dc7f174b5e Add the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168166 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 12:36:39 +00:00
Chandler Carruth
c5519d3b26 Update credits file regarding SROA work... Also include my other primary
email address for completeness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168165 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 11:45:08 +00:00
Chandler Carruth
d2b34417db Add myself as the code owner for a bunch of stuff.
Notably, I'm reviewing this stuff already, and this makes it clear I'm
on the hook for it.

I'm relying on Eric Christopher and Michael Spencer to help with Support
when there are platform specific issues, but Chris wants a single point
of contact, and I'm happy with that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168164 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 11:43:01 +00:00
Amara Emerson
4372f00373 Add MCJIT test case for running global constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168149 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 11:17:00 +00:00
Amara Emerson
098d6d5734 Add R_ARM_TARGET1 relocation to MCJIT and ensure that the runtime dyld reads
all symbols during object loading, not just global ones.

This fixes JIT execution of code using llvm.global_ctors with internal
linkage constructors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168148 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 11:11:59 +00:00
Hans Wennborg
fbeb956876 Constant::IsThreadDependent(): Use dyn_cast<Constant> instead of cast
It turns out that the operands of a Constant are not always themselves
Constant. For example, one of the operands of BlockAddress is
BasicBlock, which is not a Constant.

This should fix the dragonegg-x86_64-linux-gcc-4.6-test build which
broke in r168037.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168147 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 10:33:25 +00:00
Alexey Samsonov
63a450a313 [DebugInfo] Generate address ranges for compile units even if .debug_aranges is present: it is often the case that .debug_aranges section contains ranges only for a small subset of compile units. Test cases will be added in separate commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168144 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 08:36:25 +00:00
Craig Topper
9bd4dd742e Factor some common code to reduce compile size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168143 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 07:48:23 +00:00
Nadav Rotem
77d6ae1b01 LoopVectorize: Division reductions generate incorrect code. Remove the part of the code that deals with divs.
Thanks to Paul Redmond for catching this while reviewing the code.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168142 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 06:51:17 +00:00
Craig Topper
d577552c66 Use roundps/pd for llvm.ceil, llvm.trunc, llvm.rint, and llvm.nearbyint of vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168141 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 06:37:56 +00:00
Craig Topper
06be8b8a69 Fix typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168138 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 06:10:48 +00:00
Akira Hatanaka
a032dbd62f [mips] Fix delay slot filler so that instructions with register operand $1 are
allowed in branch delay slot.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168131 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 02:39:34 +00:00
Michael Ilseman
96952bd3b1 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168121 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 00:58:59 +00:00
Andrew Kaylor
53608a34ce Interface changes to allow RuntimeDyld memory managers to set memory permissions after an object has been loaded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168114 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-15 23:50:01 +00:00
Eli Bendersky
085f982462 Add some tests for the FileCheck utility.
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121112/156007.html



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168113 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-15 23:42:51 +00:00