Eli Bendersky [Wed, 13 Feb 2013 21:46:38 +0000 (21:46 +0000)]
s/grep/FileCheck/ in some tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175089
91177308-0d34-0410-b5e6-
96231b3b80d8
Weiming Zhao [Wed, 13 Feb 2013 21:43:02 +0000 (21:43 +0000)]
Bug fix 13622: Add paired register support for inline asm with 64-bit data on ARM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175088
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 13 Feb 2013 21:41:58 +0000 (21:41 +0000)]
[ms-inline asm] Fix up test case for non-Darwin platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175087
91177308-0d34-0410-b5e6-
96231b3b80d8
Jyotsna Verma [Wed, 13 Feb 2013 21:38:46 +0000 (21:38 +0000)]
Hexagon: Use absolute addressing mode loads/stores for global+offset
instead of redefining separate instructions for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175086
91177308-0d34-0410-b5e6-
96231b3b80d8
Ryan Govostes [Wed, 13 Feb 2013 21:38:22 +0000 (21:38 +0000)]
Add iterator_traits to ImmutableMap and ImmutableSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175085
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 13 Feb 2013 21:33:44 +0000 (21:33 +0000)]
[ms-inline-asm] Add support for memory references that have non-immediate
displacements.
rdar://
12974533
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175083
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 13 Feb 2013 21:27:17 +0000 (21:27 +0000)]
[ms-inline asm] Add a comment about the determinism of the rewrite sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175082
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 13 Feb 2013 21:19:39 +0000 (21:19 +0000)]
configure: remove workaround for gcc's -Wno-maybe-uninitialized
Since r174770 gcc version check is not needed because CXX_FLAG_CHECK
implements the workaround itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175080
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 13 Feb 2013 21:17:20 +0000 (21:17 +0000)]
[docs] PR15254: Add "AST" to the lexicon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175077
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 13 Feb 2013 21:12:29 +0000 (21:12 +0000)]
LoopVectorize: Simplify code for clarity.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175076
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 13 Feb 2013 21:10:15 +0000 (21:10 +0000)]
Add a blurb about the attributes changes to the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175075
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Wed, 13 Feb 2013 20:28:27 +0000 (20:28 +0000)]
For Mips 16, add the optimization where the 16 bit form of addiu sp can be used
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175073
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Wed, 13 Feb 2013 20:23:48 +0000 (20:23 +0000)]
Clean up LDV, no functionality change.
Remove dead functions: renameRegister
Move private member variables from LDV to Impl
Remove ssp/uwtable from testing case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175072
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 13 Feb 2013 19:44:08 +0000 (19:44 +0000)]
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175069
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 13 Feb 2013 19:22:27 +0000 (19:22 +0000)]
MIsched: HazardRecognizers are created for each DAG. Free them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175067
91177308-0d34-0410-b5e6-
96231b3b80d8
David Peixotto [Wed, 13 Feb 2013 19:21:47 +0000 (19:21 +0000)]
PR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA
Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175066
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 13 Feb 2013 18:38:58 +0000 (18:38 +0000)]
[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175063
91177308-0d34-0410-b5e6-
96231b3b80d8
Pekka Jaaskelainen [Wed, 13 Feb 2013 18:08:57 +0000 (18:08 +0000)]
Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer.
See the documentation update for more info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Wed, 13 Feb 2013 17:40:07 +0000 (17:40 +0000)]
Add registration for PPC-specific passes to allow the IR to be dumped
via -print-after-all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175058
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 13 Feb 2013 13:40:35 +0000 (13:40 +0000)]
X86: Disable generation of rep;movsl when %esi is used as a base pointer.
This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.
Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175057
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Wed, 13 Feb 2013 12:46:32 +0000 (12:46 +0000)]
Mention AArch64 in release notes for 3.3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175055
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Wed, 13 Feb 2013 10:40:01 +0000 (10:40 +0000)]
Fix MSan annotations inclusion guard.
#cmakedefine does not behave the way I though it was.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175050
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 13 Feb 2013 09:26:26 +0000 (09:26 +0000)]
Use array_pod_sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175048
91177308-0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 13 Feb 2013 09:07:18 +0000 (09:07 +0000)]
Update phab docs to clarify how to accept a change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175047
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 13 Feb 2013 08:42:21 +0000 (08:42 +0000)]
Add some accessor and query methods for retrieving Attribute objects and such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175046
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Wed, 13 Feb 2013 08:32:14 +0000 (08:32 +0000)]
Make jumptables work for -static
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175044
91177308-0d34-0410-b5e6-
96231b3b80d8
Elena Demikhovsky [Wed, 13 Feb 2013 08:02:04 +0000 (08:02 +0000)]
Prevent insertion of "vzeroupper" before call that preserves YMM registers, since a caller uses preserved registers across the call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175043
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 13 Feb 2013 07:44:17 +0000 (07:44 +0000)]
Remove unnecessary condtional assignment. The next line ignores the result of the assignment with the same condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175042
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 13 Feb 2013 07:22:25 +0000 (07:22 +0000)]
This is actually located at the end, not the middle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175041
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 13 Feb 2013 06:01:05 +0000 (06:01 +0000)]
Check i1 as well as i8 variables for 8 bit registers for x86 inline
assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175036
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 13 Feb 2013 06:01:00 +0000 (06:01 +0000)]
Finish obviously broken thought.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175035
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Wed, 13 Feb 2013 05:59:45 +0000 (05:59 +0000)]
[tsan] disable load widening in ThreadSanitizer mode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175034
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Wed, 13 Feb 2013 05:14:12 +0000 (05:14 +0000)]
[asan] fix confusing indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Feb 2013 04:53:40 +0000 (04:53 +0000)]
use memcpy instead of dubious union to type pun two values,
thanks to David Blaike for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175032
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 13 Feb 2013 02:29:18 +0000 (02:29 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175024
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Wed, 13 Feb 2013 01:14:49 +0000 (01:14 +0000)]
Debug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.
RegisterCoalescer used to depend on LiveDebugVariable. LDV removes DBG_VALUEs
without emitting them at the end.
We fix this by removing LDV from RegisterCoalescer. Also add an assertion to
make sure we call emitDebugValues if DBG_VALUEs are removed at
runOnMachineFunction.
rdar://problem/
13183203
Reviewed by Andy & Jakob
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175023
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 13 Feb 2013 01:03:13 +0000 (01:03 +0000)]
[ms-inline-asm] Make sure the AsmRewrite list is sorted in lexical order.
rdar://
13202662
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175021
91177308-0d34-0410-b5e6-
96231b3b80d8
David Peixotto [Wed, 13 Feb 2013 00:36:35 +0000 (00:36 +0000)]
Test commit. Fixed typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175020
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnaud A. de Grandmaison [Wed, 13 Feb 2013 00:19:19 +0000 (00:19 +0000)]
Fix comment
visitSExt is an adapted copy of the related visitZExt method, so adapt the comment accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175019
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Tue, 12 Feb 2013 23:35:08 +0000 (23:35 +0000)]
Changed isStoredObjCPointer => IsStoredObjCPointer. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175017
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 12 Feb 2013 23:14:31 +0000 (23:14 +0000)]
Add a default empty string to the 'value' of a string attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175016
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 12 Feb 2013 22:26:41 +0000 (22:26 +0000)]
Actually delete this code, since it's really not clear what it's
trying to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175014
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 12 Feb 2013 21:33:51 +0000 (21:33 +0000)]
[ms-inline-asm] Implement align directive (which is roughly equivalent to .align).
Also, allow _EMIT and __EMIT for the emit directive. We already do the same
for TYPE, SIZE, and LENGTH.
rdar://
13200215
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175008
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Tue, 12 Feb 2013 21:29:39 +0000 (21:29 +0000)]
This patch just fixes up various llvm formatting
violations such as tabs, blanks at eol and long
lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175007
91177308-0d34-0410-b5e6-
96231b3b80d8
Guy Benyei [Tue, 12 Feb 2013 21:21:59 +0000 (21:21 +0000)]
Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175006
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 12 Feb 2013 19:49:10 +0000 (19:49 +0000)]
Record PRE predecessors with a SmallVector instead of a DenseMap, and
avoid a second pred_iterator traversal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175001
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 12 Feb 2013 19:42:32 +0000 (19:42 +0000)]
[ms-inline asm] Pass the length of the IDVal, so we can do a proper AsmRewrite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 12 Feb 2013 19:31:23 +0000 (19:31 +0000)]
[ms-inline asm] Accept the emit directive as either _emit or __emit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174998
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 12 Feb 2013 19:05:10 +0000 (19:05 +0000)]
When disabling PRE for a value is directly redundant with itself
(through a loop), don't continue to iterate through the reamining
predecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174994
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Tue, 12 Feb 2013 18:53:21 +0000 (18:53 +0000)]
Remove target-specific info from the testcase for DWARF/pubnames.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174992
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 12 Feb 2013 18:44:43 +0000 (18:44 +0000)]
Check that pointers are removed from maps before calling delete on the pointers,
for tidiness' sake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174988
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 12 Feb 2013 18:38:36 +0000 (18:38 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174985
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 12 Feb 2013 18:29:02 +0000 (18:29 +0000)]
[ms-inline asm] Add support for lexing binary integers with a [bB] suffix.
This is complicated by backward labels (e.g., 0b can be both a backward label
and a binary zero). The current implementation assumes [0-9]b is always a
label and thus it's possible for 0b and 1b to not be interpreted correctly for
ms-style inline assembly. However, this is relatively simple to fix in the
inline assembly (i.e., drop the [bB]).
This patch also limits backward labels to [0-9]b, so that only 0b and 1b are
ambiguous.
Part of rdar://
12470373
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174983
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 12 Feb 2013 18:26:08 +0000 (18:26 +0000)]
Documentation: HowToUseAttributes: formatting (use monospaced font)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174982
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Tue, 12 Feb 2013 18:00:14 +0000 (18:00 +0000)]
Allow optionally generating pubnames section in DWARF info. Introduce
option "generate-dwarf-pubnames" to control it, set to "false" by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174981
91177308-0d34-0410-b5e6-
96231b3b80d8
Kay Tiong Khoo [Tue, 12 Feb 2013 17:07:44 +0000 (17:07 +0000)]
added test cases for r174920 (prefetch disassembly)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174979
91177308-0d34-0410-b5e6-
96231b3b80d8
Sergei Larin [Tue, 12 Feb 2013 16:36:03 +0000 (16:36 +0000)]
Equal treatment of labels and other terminators in MI DAG construction.
MI sched DAG construction allows targets to include terminators into scheduling DAG.
Extend this functionality to labels as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174977
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Tue, 12 Feb 2013 16:20:28 +0000 (16:20 +0000)]
Add support for the pubnames section to llvm-dwarfdump.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174976
91177308-0d34-0410-b5e6-
96231b3b80d8
Paul Redmond [Tue, 12 Feb 2013 16:07:27 +0000 (16:07 +0000)]
Fix the lit test added in r174972
Patch by: Kevin Schoedel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174974
91177308-0d34-0410-b5e6-
96231b3b80d8
Jyotsna Verma [Tue, 12 Feb 2013 16:06:23 +0000 (16:06 +0000)]
Hexagon: Add support to generate predicated absolute addressing mode
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174973
91177308-0d34-0410-b5e6-
96231b3b80d8
Paul Redmond [Tue, 12 Feb 2013 15:21:21 +0000 (15:21 +0000)]
PR14562 - Truncation of left shift became undef
DAGCombiner::ReduceLoadWidth was converting (trunc i32 (shl i64 v, 32))
into (shl i32 v, 32) into undef. To prevent this, check the shift count
against the final result size.
Patch by: Kevin Schoedel
Reviewed by: Nadav Rotem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174972
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Tue, 12 Feb 2013 14:18:49 +0000 (14:18 +0000)]
[NVPTX] Disable vector registers
Vectors were being manually scalarized by the backend. Instead,
let the target-independent code do all of the work. The manual
scalarization was from a time before good target-independent support
for scalarization in LLVM. However, this forces us to specially-handle
vector loads and stores, which we can turn into PTX instructions that
produce/consume multiple operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174968
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexander Potapenko [Tue, 12 Feb 2013 12:41:12 +0000 (12:41 +0000)]
[ASan] Do not use kDefaultShort64bitShadowOffset on Mac, where the binaries may get mapped at 0x100000000+ and thus may interleave with the shadow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174964
91177308-0d34-0410-b5e6-
96231b3b80d8
Michel Danzer [Tue, 12 Feb 2013 12:11:23 +0000 (12:11 +0000)]
R600: Fix regression with shadow array sampler on pre-SI GPUs.
'R600/SI: Use proper instructions for array/shadow samplers.' removed two
cases from TEX_SHADOW. Vincent Lejeune reported on IRC that this broke some
shadow array piglit tests with the r600g driver. Reinstating the removed
cases should fix this, and still works with radeonsi as well.
I will follow up with some lit tests which would have caught the regression.
NOTE: This is a candidate for the Mesa stable branch.
Tested-by: Vincent Lejeune <vljn@ovi.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174963
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Abbey [Tue, 12 Feb 2013 11:45:22 +0000 (11:45 +0000)]
Adding a HowTo for Attributes.
This is based on Bill Wendling's email. No additional content has been added,
but now there's a place for Attributes to capture future information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174961
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Tue, 12 Feb 2013 11:14:24 +0000 (11:14 +0000)]
[asan] fix tests for the new ABI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174959
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Tue, 12 Feb 2013 11:11:02 +0000 (11:11 +0000)]
[asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives roughly 5% speedup. Since this is an ABI change, bump the asan ABI version by renaming __asan_init to __asan_init_v1. llvm part, compiler-rt part will follow
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174957
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 12 Feb 2013 10:13:06 +0000 (10:13 +0000)]
Merge the collected attributes into the call instruction's attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174955
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 12 Feb 2013 09:14:20 +0000 (09:14 +0000)]
Test for string attributes and for attribute group output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174954
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 12 Feb 2013 08:13:50 +0000 (08:13 +0000)]
Have the bitcode writer and reader handle the new attribute references.
The bitcode writer emits a reference to the attribute group that the object at
the given index refers to. The bitcode reader is modified to read this in and
map it back to the attribute group.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174952
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 12 Feb 2013 08:01:22 +0000 (08:01 +0000)]
Use the AttributeSet as the 'key' to the map instead of the 'raw' pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174950
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 12 Feb 2013 07:56:49 +0000 (07:56 +0000)]
Support string attributes in the AttrBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174948
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 12 Feb 2013 05:48:58 +0000 (05:48 +0000)]
Don't consider definitions by other PHIs live-in when trimming a PHI source's
live range after inserting a copy at the end of a block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174945
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 12 Feb 2013 05:48:56 +0000 (05:48 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174944
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 12 Feb 2013 03:49:25 +0000 (03:49 +0000)]
Add a hidden option to PHIElimination to split all critical edges. This is
particularly useful for catching issues with architectures that have exotic
terminators like MIPS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174938
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 12 Feb 2013 03:49:22 +0000 (03:49 +0000)]
Renumber SlotIndexes locally when a new block is inserted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174937
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 12 Feb 2013 03:49:20 +0000 (03:49 +0000)]
Add blocks to the LiveIntervalAnalysis RegMaskBlocks array when splitting
a critical edge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174936
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 12 Feb 2013 03:49:17 +0000 (03:49 +0000)]
Fix the updating of LiveIntervals after splitting a critical edge. PHI operand
live ranges should always be extended, and the only successor that should be
considered for extension of other ranges is the target of the split edge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174935
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Tue, 12 Feb 2013 03:14:50 +0000 (03:14 +0000)]
Check type for legality before forming a select from loads.
Sorry for the lack of a test case. I tried writing one for i386 as i know selects are illegal on this target, but they are actually considered legal by isel and expanded later.
I can't see any targets to trigger this, but checking for the legality of a node before forming it is general goodness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174934
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Tue, 12 Feb 2013 02:40:39 +0000 (02:40 +0000)]
ARM cost model: Add vector reverse shuffle costs
A reverse shuffle is lowered to a vrev and possibly a vext instruction (quad
word).
radar://
13171406
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174933
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Tue, 12 Feb 2013 02:40:37 +0000 (02:40 +0000)]
Cost model: Add check for reverse shuffles to CostModel analysis
Check for reverse shuffles in the CostModel analysis pass and query
TargetTransform info accordingly. This allows us we can write test cases for
reverse shuffles.
radar://
13171406
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174932
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Tue, 12 Feb 2013 01:58:32 +0000 (01:58 +0000)]
ARM NEON: Handle v16i8 and v8i16 reverse shuffles
Lower reverse shuffles to a vrev64 and a vext instruction instead of the default
legalization of storing and loading to the stack. This is important because we
generate reverse shuffles in the loop vectorizer when we reverse store to an
array.
uint8_t Arr[N];
for (i = 0; i < N; ++i)
Arr[N - i - 1] = ...
radar://
13171760
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174929
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 12 Feb 2013 01:12:24 +0000 (01:12 +0000)]
Update error message due to previous commit, r174926.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174927
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 12 Feb 2013 01:00:01 +0000 (01:00 +0000)]
[ms-inline asm] Add support for lexing hexidecimal integers with a [hH] suffix.
Part of rdar://
12470373
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174926
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Tue, 12 Feb 2013 00:40:41 +0000 (00:40 +0000)]
DIBuilder: make the return type of createBasicType more specific
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174924
91177308-0d34-0410-b5e6-
96231b3b80d8
Kay Tiong Khoo [Tue, 12 Feb 2013 00:19:12 +0000 (00:19 +0000)]
Added 0x0D to 2-byte opcode extension table for prefetch* variants
Fixed decode of existing 3dNow prefetchw instruction
Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174920
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Mon, 11 Feb 2013 23:02:17 +0000 (23:02 +0000)]
BBVectorize: Don't over-search when building the dependency map
When building the pairable-instruction dependency map, don't search
past the last pairable instruction. For large blocks that have been
divided into multiple instruction groups, searching past the last
instruction in each group is very wasteful. This gives a 32% speedup
on the csa.ll test case from PR15222 (when using 50 instructions
in each group).
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174915
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Mon, 11 Feb 2013 23:02:09 +0000 (23:02 +0000)]
BBVectorize: Omit unnecessary entries in PairableInstUsers
This map is queried only for instructions in pairs of pairable
instructions; so make sure that only pairs of pairable
instructions are added to the map. This gives a 3.5% speedup
on the csa.ll test case from PR15222.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174914
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 11 Feb 2013 22:51:07 +0000 (22:51 +0000)]
[Support][Compiler] Add LLVM_HAS_VARIADIC_TEMPLATES.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174913
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 11 Feb 2013 22:35:40 +0000 (22:35 +0000)]
[mips] Expand pseudo instructions before they are emitted in
MipsCodeEmitter.cpp.
JALR and NOP are expanded by function emitPseudoExpansionLowering, which is not
called when the old JIT is used.
This fixes the following tests which have been failing on
llvm-mips-linux builder:
LLVM :: ExecutionEngine__2003-01-04-LoopTest.ll
LLVM :: ExecutionEngine__2003-05-06-LivenessClobber.ll
LLVM :: ExecutionEngine__2003-06-04-bzip2-bug.ll
LLVM :: ExecutionEngine__2005-12-02-TailCallBug.ll
LLVM :: ExecutionEngine__2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
LLVM :: ExecutionEngine__hello2.ll
LLVM :: ExecutionEngine__stubs.ll
LLVM :: ExecutionEngine__test-branch.ll
LLVM :: ExecutionEngine__test-call.ll
LLVM :: ExecutionEngine__test-common-symbols.ll
LLVM :: ExecutionEngine__test-loadstore.ll
LLVM :: ExecutionEngine__test-loop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174912
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 11 Feb 2013 22:33:26 +0000 (22:33 +0000)]
Rename AttributeSets to AttributeGroups so that it's more meaningful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174911
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 11 Feb 2013 22:32:29 +0000 (22:32 +0000)]
Use a std::map so that we record the group ID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174910
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 11 Feb 2013 22:31:34 +0000 (22:31 +0000)]
Rename to something more sensible. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174909
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 11 Feb 2013 22:03:52 +0000 (22:03 +0000)]
[mips] Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174907
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Ilseman [Mon, 11 Feb 2013 21:41:44 +0000 (21:41 +0000)]
Optimization: bitcast (<1 x ...> insertelement ..., X, ...) to ... ==> bitcast X to ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174905
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Mon, 11 Feb 2013 21:37:55 +0000 (21:37 +0000)]
Extend Hexagon hardware loop generation to handle various additional cases:
- variety of compare instructions,
- loops with no preheader,
- arbitrary lower and upper bounds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174904
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Ilseman [Mon, 11 Feb 2013 21:36:49 +0000 (21:36 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174903
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Mon, 11 Feb 2013 20:04:29 +0000 (20:04 +0000)]
Implement HexagonInstrInfo::analyzeCompare.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174901
91177308-0d34-0410-b5e6-
96231b3b80d8
Kay Tiong Khoo [Mon, 11 Feb 2013 19:46:36 +0000 (19:46 +0000)]
*fixed disassembly of some i386 system insts with intel syntax
*added file for test cases for i386 intel syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174900
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Mon, 11 Feb 2013 18:56:35 +0000 (18:56 +0000)]
[NVPTX] Remove NoCapture from address space conversion intrinsics. NoCapture is not valid in this case, and was causing incorrect optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174896
91177308-0d34-0410-b5e6-
96231b3b80d8