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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Craig Topper [Thu, 15 Nov 2012 08:06:12 +0000 (08:06 +0000)]
Make FNEG and FABS of v4f32 Expand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168029
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Thu, 15 Nov 2012 08:02:19 +0000 (08:02 +0000)]
Make a bunch of floating point operations on vectors Expand so that instruction selection won't fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168028
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Thu, 15 Nov 2012 07:01:39 +0000 (07:01 +0000)]
Add missing documentation for llvm.exp2, llvm.log10, and llvm.log2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168026
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Thu, 15 Nov 2012 06:51:10 +0000 (06:51 +0000)]
Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168025
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 15 Nov 2012 02:32:22 +0000 (02:32 +0000)]
Fix an obvious merge bug in -join-globalcopies (disabled).
Jakub Staszak spotted this in review. I don't notice these things
until I manually rerun benchmarks. But reducing unit tests is a very
high priority.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168021
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 15 Nov 2012 00:59:52 +0000 (00:59 +0000)]
Add some release notes that say we removed the CellSPU port.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168014
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 15 Nov 2012 00:35:50 +0000 (00:35 +0000)]
InstCombineAndOrXor.cpp: Escape bracket in doxygen description. [-Wdocumentation]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168013
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Thu, 15 Nov 2012 00:25:36 +0000 (00:25 +0000)]
Use LLVM_DELETED_FUNCTION.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168009
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 15 Nov 2012 00:14:15 +0000 (00:14 +0000)]
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.
Patch by Pedro Artigas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168008
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Wed, 14 Nov 2012 23:58:57 +0000 (23:58 +0000)]
Remove unneeded #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168006
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 14 Nov 2012 23:46:15 +0000 (23:46 +0000)]
NVPTXISelLowering.cpp: Fix warnings. [-Wunused-variable]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168001
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Wed, 14 Nov 2012 23:23:27 +0000 (23:23 +0000)]
This patch is in preparation for adding medium code model support to the
PPC64 target. The five tests modified herein test code generation that is
sensitive to the code model selected. So I've added -code-model=small to
the RUN commands for each.
Since small code model is the default, this has no effect for now; but this
prepares us for eventually changing the default to medium code model for PPC64.
Test changes verified with small and medium code model as default on
powerpc64-unknown-linux-gnu. All tests continue to pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167999
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 14 Nov 2012 23:15:51 +0000 (23:15 +0000)]
docs: Improve typographical correctness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167998
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 14 Nov 2012 23:11:10 +0000 (23:11 +0000)]
docs: Sphinxify TestSuiteMakefileGuide
Some small related fixups to TestingGuide too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167996
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Wed, 14 Nov 2012 22:42:17 +0000 (22:42 +0000)]
Use reserve() to avoid vector reallocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167991
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Wed, 14 Nov 2012 22:24:01 +0000 (22:24 +0000)]
Make sure to not get AVX code on an AVX-capable host. Revealed in r167967.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167989
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 14 Nov 2012 22:22:37 +0000 (22:22 +0000)]
test/CodeGen/Hexagon/postinc-load.ll: Suppress it for now. It triggered the failure on i686 hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167988
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Nov 2012 22:13:56 +0000 (22:13 +0000)]
Few more small CellSPU removals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167987
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Nov 2012 22:10:47 +0000 (22:10 +0000)]
Fix CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167986
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Nov 2012 22:09:20 +0000 (22:09 +0000)]
Remove the CellSPU port.
Approved by Chris Lattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167984
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 14 Nov 2012 21:09:30 +0000 (21:09 +0000)]
docs: Sphinxify TestingGuide
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167979
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Wed, 14 Nov 2012 21:07:37 +0000 (21:07 +0000)]
Support for [[@LINE]], [[@LINE+<offset>]], [[@LINE-<offset>]] expressions in
FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167978
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Wed, 14 Nov 2012 21:03:40 +0000 (21:03 +0000)]
Fix invalid asserts, use llvm_unreachable instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167976
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 14 Nov 2012 21:01:40 +0000 (21:01 +0000)]
llvm/test/CodeGen/X86/memset.ll: FileCheck-ize, and add another case on +avx.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167975
91177308-0d34-0410-b5e6-
96231b3b80d8