oota-llvm.git
11 years agotest/ExecutionEngine/MCJIT/stubs-remote.ll: Prune DOSish CRLF.
NAKAMURA Takumi [Sun, 18 Nov 2012 06:16:21 +0000 (06:16 +0000)]
test/ExecutionEngine/MCJIT/stubs-remote.ll: Prune DOSish CRLF.

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

11 years agoDon't try to calculate the alignment of an unsigned type. Fixes PR14371!
Nick Lewycky [Sun, 18 Nov 2012 05:39:39 +0000 (05:39 +0000)]
Don't try to calculate the alignment of an unsigned type. Fixes PR14371!

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

11 years agodocs: CodingStandards should follow the coding standards.
Sean Silva [Sat, 17 Nov 2012 23:25:33 +0000 (23:25 +0000)]
docs: CodingStandards should follow the coding standards.

Some variables in code examples were not LikeThis.

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

11 years agoBump sphinx config to 3.3.
Benjamin Kramer [Sat, 17 Nov 2012 22:12:59 +0000 (22:12 +0000)]
Bump sphinx config to 3.3.

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

11 years agoKick off 3.3 cycle for LLVM trunk.
Benjamin Kramer [Sat, 17 Nov 2012 22:01:08 +0000 (22:01 +0000)]
Kick off 3.3 cycle for LLVM trunk.

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

11 years agodocs: Add link to HowToSetUpLLVMStyleRTTI
Sean Silva [Sat, 17 Nov 2012 21:01:44 +0000 (21:01 +0000)]
docs: Add link to HowToSetUpLLVMStyleRTTI

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

11 years agoTypo
James Molloy [Sat, 17 Nov 2012 17:59:44 +0000 (17:59 +0000)]
Typo

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

11 years agoAdd a new function to ConstantExpr - getAsInstruction. This returns its Instruction...
James Molloy [Sat, 17 Nov 2012 17:56:30 +0000 (17:56 +0000)]
Add a new function to ConstantExpr - getAsInstruction. This returns its Instruction* corollary, which may be useful if a user
wishes to transform a ConstantExpr so that one of its operands is no longer constant.

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

11 years agoPlug a memory leak in the GCOV profiling emitter, which never released the edge table...
Benjamin Kramer [Sat, 17 Nov 2012 13:49:37 +0000 (13:49 +0000)]
Plug a memory leak in the GCOV profiling emitter, which never released the edge table memory.

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

11 years agoreally fix permissions
Pawel Wodnicki [Sat, 17 Nov 2012 06:38:44 +0000 (06:38 +0000)]
really fix permissions

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

11 years agofix permissions
Pawel Wodnicki [Sat, 17 Nov 2012 06:35:19 +0000 (06:35 +0000)]
fix permissions

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

11 years agoadding whose code is it anywa tools
Pawel Wodnicki [Sat, 17 Nov 2012 06:24:37 +0000 (06:24 +0000)]
adding whose code is it anywa tools

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

11 years agoRemoving utf-8 smart quote and trailing whitespace
Joe Abbey [Sat, 17 Nov 2012 05:13:16 +0000 (05:13 +0000)]
Removing utf-8 smart quote and trailing whitespace

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

11 years agoSuppressing the 'direct base ‘{anonymous}::S1’ inaccessible in ‘{anonymous}::D9’
Joe Abbey [Sat, 17 Nov 2012 04:54:22 +0000 (04:54 +0000)]
Suppressing the 'direct base ‘{anonymous}::S1’ inaccessible in ‘{anonymous}::D9’
due to ambiguity' warning.

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

11 years agoSilence the buildbots for this test while I figure out the triple
Andrew Trick [Sat, 17 Nov 2012 03:39:26 +0000 (03:39 +0000)]
Silence the buildbots for this test while I figure out the triple

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

11 years agoBroaden isSchedulingBoundary to check aliases of SP.
Andrew Trick [Sat, 17 Nov 2012 03:35:11 +0000 (03:35 +0000)]
Broaden isSchedulingBoundary to check aliases of SP.

On PPC the stack pointer is X1, but ADJCALLSTACK writes R1.

Fixes PR14315: Register regmask dependency problem with misched.

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

11 years agoPhi speculation improvement for BasicAA
Hal Finkel [Sat, 17 Nov 2012 02:33:15 +0000 (02:33 +0000)]
Phi speculation improvement for BasicAA

This is a partial solution to PR14351. It removes some of the special
significance of the first incoming phi value in the phi aliasing checking logic
in BasicAA. In the context of a loop, the old logic assumes that the first
incoming value is the interesting one (meaning that it is the one that comes
from outside the loop), but this is often not the case.  With this change, we
now test first the incoming value that comes from a block other than the parent
of the phi being tested.

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

11 years agoPer agreement with Doug, take ownership of Clang's libSema.
Richard Smith [Sat, 17 Nov 2012 02:26:54 +0000 (02:26 +0000)]
Per agreement with Doug, take ownership of Clang's libSema.

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

11 years agoMark FP_EXTEND form v2f32 to v2f64 as "expand" for ARM NEON. Patch by Pete Couperus.
Eli Friedman [Sat, 17 Nov 2012 01:52:46 +0000 (01:52 +0000)]
Mark FP_EXTEND form v2f32 to v2f64 as "expand" for ARM NEON.  Patch by Pete Couperus.

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

11 years ago[fast-isel] Add the -verify-machineinstrs to these test cases. The remaining
Chad Rosier [Sat, 17 Nov 2012 00:42:06 +0000 (00:42 +0000)]
[fast-isel] Add the -verify-machineinstrs to these test cases.  The remaining
test cases require fixes to fast-isel before the verifier can be enabled.
Part of rdar://12594152

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

11 years agoLoopVectorizer: Add initial support for pointer induction variables (for example...
Nadav Rotem [Sat, 17 Nov 2012 00:27:03 +0000 (00:27 +0000)]
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

11 years agoInitial implementation of MipsTargetLowering::isLegalAddressingMode.
Akira Hatanaka [Sat, 17 Nov 2012 00:25:41 +0000 (00:25 +0000)]
Initial implementation of MipsTargetLowering::isLegalAddressingMode.

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

11 years agoRename methods like PairSRegs() to createSRegpairNode() to meet our coding
Weiming Zhao [Sat, 17 Nov 2012 00:23:35 +0000 (00:23 +0000)]
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

11 years agoTeach SROA rewriteVectorizedStoreInst to handle cases when the loaded value is narrow...
Evan Cheng [Sat, 17 Nov 2012 00:05:06 +0000 (00:05 +0000)]
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

11 years agoMarking remote mcjit tests as XFAIL for cygwin (hopefully only temporarily).
Andrew Kaylor [Sat, 17 Nov 2012 00:02:50 +0000 (00:02 +0000)]
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

11 years agoClaim ownership of MCJIT
Andrew Kaylor [Fri, 16 Nov 2012 23:56:48 +0000 (23:56 +0000)]
Claim ownership of MCJIT

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

11 years agoAdd some basic support for the fission addr forms to DebugInfo.
Eric Christopher [Fri, 16 Nov 2012 23:44:11 +0000 (23:44 +0000)]
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

11 years agoMarking remote mcjit tests as XFAIL for mingw32 (hopefully only temporarily).
Andrew Kaylor [Fri, 16 Nov 2012 23:38:16 +0000 (23:38 +0000)]
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

11 years agoAdd constant definitions for fission dwarf attributes, forms, etc.
Eric Christopher [Fri, 16 Nov 2012 23:04:31 +0000 (23:04 +0000)]
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

11 years agoClaim the driver.
Chad Rosier [Fri, 16 Nov 2012 22:49:27 +0000 (22:49 +0000)]
Claim the driver.

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

11 years agoRemove default public copy ctors.
Benjamin Kramer [Fri, 16 Nov 2012 22:22:20 +0000 (22:22 +0000)]
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

11 years agoMarking remote mcjit tests as XFAIL for ARM (hopefully only temporarily).
Andrew Kaylor [Fri, 16 Nov 2012 22:21:04 +0000 (22:21 +0000)]
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

11 years agoRemove trailing spaces.
Jakub Staszak [Fri, 16 Nov 2012 22:07:00 +0000 (22:07 +0000)]
Remove trailing spaces.

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

11 years agoRemove hard coded registers in ARM ldrexd and strexd instructions
Weiming Zhao [Fri, 16 Nov 2012 21:55:34 +0000 (21:55 +0000)]
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

11 years agoUse array_pod_sort instead of std::sort.
Andrew Trick [Fri, 16 Nov 2012 21:33:38 +0000 (21:33 +0000)]
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

11 years agotypo
Andrew Trick [Fri, 16 Nov 2012 21:33:35 +0000 (21:33 +0000)]
typo

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

11 years agoAdd myself as owner of XCore Backend.
Richard Osborne [Fri, 16 Nov 2012 21:26:36 +0000 (21:26 +0000)]
Add myself as owner of XCore Backend.

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

11 years agoMake sure FABS on v2f32 and v4f32 is legal on ARM NEON
Anton Korobeynikov [Fri, 16 Nov 2012 21:15:20 +0000 (21:15 +0000)]
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

11 years agoFix handling of aliases to functions.
Richard Osborne [Fri, 16 Nov 2012 21:12:38 +0000 (21:12 +0000)]
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

11 years ago[NVPTX] Order global variables in def-use order before emiting them in the final...
Justin Holewinski [Fri, 16 Nov 2012 21:03:51 +0000 (21:03 +0000)]
[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

11 years agoPreserve address space of forward-referenced global variables in the LL parser
Justin Holewinski [Fri, 16 Nov 2012 21:03:47 +0000 (21:03 +0000)]
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

11 years agoMake this easier to understand, as suggested by Chandler.
Duncan Sands [Fri, 16 Nov 2012 20:53:08 +0000 (20:53 +0000)]
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

11 years agoAdded program header emission
Hemant Kulkarni [Fri, 16 Nov 2012 20:51:32 +0000 (20:51 +0000)]
Added program header emission

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

11 years agoRemove conditions from 'else if' that were guaranteed by preceding 'if'.
Craig Topper [Fri, 16 Nov 2012 20:01:39 +0000 (20:01 +0000)]
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

11 years agoReleaseNotes.html updates reflecting PPC64 Elf Linux efforts and progress.
Will Schmidt [Fri, 16 Nov 2012 19:46:35 +0000 (19:46 +0000)]
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

11 years agoInstructionSimplify should be able to simplify A+B==B+A to 'true'
Duncan Sands [Fri, 16 Nov 2012 19:41:26 +0000 (19:41 +0000)]
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

11 years agoUsing const cast to alleviate a warning.
Joe Abbey [Fri, 16 Nov 2012 19:38:42 +0000 (19:38 +0000)]
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

11 years agoFactor out the final FADD that's common to multiple code paths in the visitLog* funct...
Craig Topper [Fri, 16 Nov 2012 19:08:44 +0000 (19:08 +0000)]
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

11 years agomove irrelevant attribution.
Chris Lattner [Fri, 16 Nov 2012 18:58:23 +0000 (18:58 +0000)]
move irrelevant attribution.

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

11 years agoFix PR14361: wrong simplification of A+B==B+A. You may think that the old logic
Duncan Sands [Fri, 16 Nov 2012 18:55:49 +0000 (18:55 +0000)]
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

11 years agoAdding new tests to test lli's pseudo-remote feature (-remote-mcjit).
Andrew Kaylor [Fri, 16 Nov 2012 18:51:59 +0000 (18:51 +0000)]
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

11 years agoFinally add myself to the credits.
Craig Topper [Fri, 16 Nov 2012 18:44:36 +0000 (18:44 +0000)]
Finally add myself to the credits.

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

11 years agoSimplifyCFG: Don't assume non-null ScalarTargetTransformInfo.
Hans Wennborg [Fri, 16 Nov 2012 18:22:08 +0000 (18:22 +0000)]
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

11 years agoWork around a layering violation from Target to CodeGen.
Benjamin Kramer [Fri, 16 Nov 2012 17:32:33 +0000 (17:32 +0000)]
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

11 years agollvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect to pass...
NAKAMURA Takumi [Fri, 16 Nov 2012 16:07:37 +0000 (16:07 +0000)]
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

11 years agoAdd the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.
Duncan Sands [Fri, 16 Nov 2012 12:36:39 +0000 (12:36 +0000)]
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

11 years agoUpdate credits file regarding SROA work... Also include my other primary
Chandler Carruth [Fri, 16 Nov 2012 11:45:08 +0000 (11:45 +0000)]
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

11 years agoAdd myself as the code owner for a bunch of stuff.
Chandler Carruth [Fri, 16 Nov 2012 11:43:01 +0000 (11:43 +0000)]
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

11 years agoAdd MCJIT test case for running global constructors.
Amara Emerson [Fri, 16 Nov 2012 11:17:00 +0000 (11:17 +0000)]
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

11 years agoAdd R_ARM_TARGET1 relocation to MCJIT and ensure that the runtime dyld reads
Amara Emerson [Fri, 16 Nov 2012 11:11:59 +0000 (11:11 +0000)]
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

11 years agoConstant::IsThreadDependent(): Use dyn_cast<Constant> instead of cast
Hans Wennborg [Fri, 16 Nov 2012 10:33:25 +0000 (10:33 +0000)]
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

11 years ago[DebugInfo] Generate address ranges for compile units even if .debug_aranges is prese...
Alexey Samsonov [Fri, 16 Nov 2012 08:36:25 +0000 (08:36 +0000)]
[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

11 years agoFactor some common code to reduce compile size.
Craig Topper [Fri, 16 Nov 2012 07:48:23 +0000 (07:48 +0000)]
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

11 years agoLoopVectorize: Division reductions generate incorrect code. Remove the part of the...
Nadav Rotem [Fri, 16 Nov 2012 06:51:17 +0000 (06:51 +0000)]
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

11 years agoUse roundps/pd for llvm.ceil, llvm.trunc, llvm.rint, and llvm.nearbyint of vector...
Craig Topper [Fri, 16 Nov 2012 06:37:56 +0000 (06:37 +0000)]
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

11 years agoFix typo in a comment.
Craig Topper [Fri, 16 Nov 2012 06:10:48 +0000 (06:10 +0000)]
Fix typo in a comment.

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

11 years ago[mips] Fix delay slot filler so that instructions with register operand $1 are
Akira Hatanaka [Fri, 16 Nov 2012 02:39:34 +0000 (02:39 +0000)]
[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

11 years agoRemove trailing whitespace
Michael Ilseman [Fri, 16 Nov 2012 00:58:59 +0000 (00:58 +0000)]
Remove trailing whitespace

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

11 years agoInterface changes to allow RuntimeDyld memory managers to set memory permissions...
Andrew Kaylor [Thu, 15 Nov 2012 23:50:01 +0000 (23:50 +0000)]
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

11 years agoAdd some tests for the FileCheck utility.
Eli Bendersky [Thu, 15 Nov 2012 23:42:51 +0000 (23:42 +0000)]
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

11 years agoAdded myself as owner of LLVM Buildbot.
Galina Kistanova [Thu, 15 Nov 2012 23:16:47 +0000 (23:16 +0000)]
Added myself as owner of LLVM Buildbot.

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

11 years agoClarify.
Eric Christopher [Thu, 15 Nov 2012 22:57:22 +0000 (22:57 +0000)]
Clarify.

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

11 years agoClaim ownership of everyone's favorite part of the backend.
Owen Anderson [Thu, 15 Nov 2012 22:56:42 +0000 (22:56 +0000)]
Claim ownership of everyone's favorite part of the backend.

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

11 years agoMark FP_ROUND for converting NEON v2f64 to v2f32 as expand. Add a missing
Eli Friedman [Thu, 15 Nov 2012 22:44:27 +0000 (22:44 +0000)]
Mark FP_ROUND for converting NEON v2f64 to v2f32 as expand. Add a missing
case to vector legalization so this actually works.

Patch by Pete Couperus.  Fixes PR12540.

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

11 years agoMore ownership, no one likes these things anyways.
Eric Christopher [Thu, 15 Nov 2012 22:41:56 +0000 (22:41 +0000)]
More ownership, no one likes these things anyways.

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

11 years agoRemove trailing whitespace
Michael Ilseman [Thu, 15 Nov 2012 22:34:00 +0000 (22:34 +0000)]
Remove trailing whitespace

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

11 years agoUpdate the code ownership.
Nadav Rotem [Thu, 15 Nov 2012 22:26:51 +0000 (22:26 +0000)]
Update the code ownership.

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

11 years agoFix typo.
Jyotsna Verma [Thu, 15 Nov 2012 21:21:01 +0000 (21:21 +0000)]
Fix typo.

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

11 years ago[mips] Add predicate HasFPIdx for floating-point indexed load instruction
Akira Hatanaka [Thu, 15 Nov 2012 21:17:13 +0000 (21:17 +0000)]
[mips] Add predicate HasFPIdx for floating-point indexed load instruction
support and use it in place of HasMips32r2Or64.

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

11 years agoAdd description of how to build docs
Joel Jones [Thu, 15 Nov 2012 21:15:08 +0000 (21:15 +0000)]
Add description of how to build docs

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

11 years agoPowerPC: Lowering floor intrinsic for Altivec
Adhemerval Zanella [Thu, 15 Nov 2012 20:56:03 +0000 (20:56 +0000)]
PowerPC: Lowering floor intrinsic for Altivec

This patch lowers the llvm.floor, llvm.ceil, llvm.trunc, and
llvm.nearbyint to Altivec instruction when using 4 single-precision
float vectors.

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

11 years agoPathV2: Fix a possible infinite loop.
Daniel Dunbar [Thu, 15 Nov 2012 20:24:52 +0000 (20:24 +0000)]
PathV2: Fix a possible infinite loop.

 - The code could infinite loop trying to create unique files, if the directory
   containing the unique file exists, but open() calls on non-existent files in
   the path return ENOENT. This is true on the /dev/fd filesystem, for example.

 - Will add a clang side test case for this.

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

11 years agoAdd assertions in MipsLongBranch which check the size of basic blocks.
Akira Hatanaka [Thu, 15 Nov 2012 20:05:11 +0000 (20:05 +0000)]
Add assertions in MipsLongBranch which check the size of basic blocks.

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

11 years agoReturn 0 instead of false.
Jakub Staszak [Thu, 15 Nov 2012 19:40:29 +0000 (19:40 +0000)]
Return 0 instead of false.

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

11 years agoUse std::stable_sort instead of std::sort when sorting stack slots
Ulrich Weigand [Thu, 15 Nov 2012 19:33:30 +0000 (19:33 +0000)]
Use std::stable_sort instead of std::sort when sorting stack slots
to guarantee deterministic code generation.

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

11 years agoClarify my code ownership
Evan Cheng [Thu, 15 Nov 2012 19:31:48 +0000 (19:31 +0000)]
Clarify my code ownership

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

11 years agoAdd myself as owner of VLIW Instruction Scheduling and Packetization.
Sergei Larin [Thu, 15 Nov 2012 19:24:19 +0000 (19:24 +0000)]
Add myself as owner of VLIW Instruction Scheduling and Packetization.

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

11 years agoAdd ARM EABI to my list of responsibilities.
Anton Korobeynikov [Thu, 15 Nov 2012 19:10:23 +0000 (19:10 +0000)]
Add ARM EABI to my list of responsibilities.
Update the email address (old works too, but less reliable) while there

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

11 years agoSimplify code.
Jakub Staszak [Thu, 15 Nov 2012 19:05:23 +0000 (19:05 +0000)]
Simplify code.

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

11 years agomisspell
Andrew Trick [Thu, 15 Nov 2012 18:40:31 +0000 (18:40 +0000)]
misspell

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

11 years agowhitespace
Andrew Trick [Thu, 15 Nov 2012 18:40:29 +0000 (18:40 +0000)]
whitespace

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

12 years ago[reg scavenger] Fix the isUsed/isAliasUsed functions so as to not report a false
Chad Rosier [Thu, 15 Nov 2012 18:13:20 +0000 (18:13 +0000)]
[reg scavenger] Fix the isUsed/isAliasUsed functions so as to not report a false
positive.

In this particular case, R6 was being spilled by the register scavenger when it
was in fact dead.  The isUsed function reported R6 as used because the R6_R7
alias was reserved (due to the fact that we've reserved R7 as the FP).  The
solution is to only check if the original register (i.e., R6) isReserved and
not the aliases.  The aliases are only checked to make sure they're available.

The test case is derived from one of the nightly tester benchmarks and is rather
intractable and difficult to reproduce, so I haven't included it.
rdar://12592448

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

12 years agoFix indeterminism in MI scheduler DAG construction.
Sergei Larin [Thu, 15 Nov 2012 17:45:50 +0000 (17:45 +0000)]
Fix indeterminism in MI scheduler DAG construction.
Similarly to several recent fixes throughout the code replace std::map use with the MapVector.
Add find() method to the MapVector.

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

12 years agoUse empty parens for empty function parameter list instead of '(void)'.
Dmitri Gribenko [Thu, 15 Nov 2012 16:51:49 +0000 (16:51 +0000)]
Use empty parens for empty function parameter list instead of '(void)'.

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

12 years agoFileCheck: remove useless 'continue' at the end of a 'while(){}' loop.
Dmitri Gribenko [Thu, 15 Nov 2012 16:50:59 +0000 (16:50 +0000)]
FileCheck: remove useless 'continue' at the end of a 'while(){}' loop.

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

12 years agoDo not handle void types in DataLayout. Patch by Patrick Hägglund.
Duncan Sands [Thu, 15 Nov 2012 14:45:30 +0000 (14:45 +0000)]
Do not handle void types in DataLayout.  Patch by Patrick Hägglund.

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

12 years agoMake GlobalOpt be conservative with TLS variables (PR14309)
Hans Wennborg [Thu, 15 Nov 2012 11:40:00 +0000 (11:40 +0000)]
Make GlobalOpt be conservative with TLS variables (PR14309)

For global variables that get the same value stored into them
everywhere, GlobalOpt will replace them with a constant. The problem is
that a thread-local GlobalVariable looks like one value (the address of
the TLS var), but is different between threads.

This patch introduces Constant::isThreadDependent() which returns true
for thread-local variables and constants which depend on them (e.g. a GEP
into a thread-local array), and teaches GlobalOpt not to track such
values.

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

12 years agoAdd support for SPIR64 target - the 64bit counterpart of SPIR.
Guy Benyei [Thu, 15 Nov 2012 10:35:47 +0000 (10:35 +0000)]
Add support for SPIR64 target - the 64bit counterpart of SPIR.

The new OpenCL SPIR extension spec will define separate SPIR for 32 and 64 bit architectures.

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

12 years agoFix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree,
Duncan Sands [Thu, 15 Nov 2012 09:58:38 +0000 (09:58 +0000)]
Fix a crash observed by Shuxin Yang.  The issue here is that LinearizeExprTree,
the utility for extracting a chain of operations from the IR, thought that it
might as well combine any constants it came across (rather than just returning
them along with everything else).  On the other hand, the factorization code
would like to see the individual constants (this is quite reasonable: it is
much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6;
you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo
multiplications of constants as it may at first appear).  This patch therefore
makes LinearizeExprTree stupider: it now leaves optimizing to the optimization
part of reassociate, and sticks to just analysing the IR.

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

12 years agoRevert changing FNEG of v4f32 to Expand. It's legal.
Craig Topper [Thu, 15 Nov 2012 08:09:46 +0000 (08:09 +0000)]
Revert changing FNEG of v4f32 to Expand. It's legal.

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