Owen Anderson
7f0e98fd7f
Correct disassembly printing of Thumb2 post-incremented LDRD and STRD.
...
llvm-svn: 139639
2011-09-13 20:46:26 +00:00
Jim Grosbach
e3a6a82f16
There's only 16 regs legal in a register list.
...
llvm-svn: 139637
2011-09-13 20:35:57 +00:00
Jim Grosbach
e7e2aca322
Tidy up a few 80 column violations.
...
llvm-svn: 139636
2011-09-13 20:30:37 +00:00
Jim Grosbach
50087ea1ec
Tidy up a bit.
...
llvm-svn: 139635
2011-09-13 20:27:44 +00:00
Akira Hatanaka
fba4bd62b1
Add pattern used to match MipsLo, which is needed when the instruction selector
...
tries to match a dead MipsLo node (explanation in the link below).
http://article.gmane.org/gmane.comp.compilers.llvm.devel/42757/match=dagcombiner+dead
llvm-svn: 139634
2011-09-13 20:13:58 +00:00
Nadav Rotem
66dc9ae08d
Fix the assertion which checks the size of the input operand.
...
llvm-svn: 139633
2011-09-13 20:03:38 +00:00
Akira Hatanaka
f58d6812a9
Disable tests which generate code for allegrex or psp.
...
llvm-svn: 139632
2011-09-13 20:00:35 +00:00
Nadav Rotem
1af0c538e0
update checked pattern
...
llvm-svn: 139631
2011-09-13 19:59:18 +00:00
Nadav Rotem
9cfbeaff15
swap vselect operand order - pr10907
...
llvm-svn: 139630
2011-09-13 19:56:38 +00:00
Benjamin Kramer
297ee072bf
Remove include of header that doesn't exist (yet).
...
llvm-svn: 139629
2011-09-13 19:55:32 +00:00
Benjamin Kramer
cef8ee3291
I know copy&paste!
...
llvm-svn: 139628
2011-09-13 19:49:53 +00:00
Benjamin Kramer
aa2f78f5e6
Sketch out a DWARF parser.
...
This introduces a new library to LLVM: libDebugInfo. It will provide debug information
parsing to LLVM. Much of the design and some of the code is taken from the LLDB project.
It also contains an llvm-dwarfdump tool that can dump the abbrevs and DIEs from an
object file. It can be used to write tests for DWARF input and output easily.
llvm-svn: 139627
2011-09-13 19:42:23 +00:00
Benjamin Kramer
88a1d9fc00
Add the DataExtractor utility class.
...
It is an endian-aware helper that can read data from a StringRef. It will
come in handy for DWARF parsing. This class is inspired by LLDB's
DataExtractor, but is stripped down to the bare minimum needed for DWARF.
Comes with unit tests!
llvm-svn: 139626
2011-09-13 19:42:16 +00:00
Bruno Cardoso Lopes
03d6002d68
Add versions 256-bit versions of alignedstore and alignedload, to be
...
more strict about the alignment checking. This was found by inspection
and I don't have any testcases so far, although the llvm testsuite runs
without any problem.
llvm-svn: 139625
2011-09-13 19:33:03 +00:00
Bruno Cardoso Lopes
56d9b51caf
Revert the remaining part of r139528. According to PR10907 the bug seems
...
to be in the VSELECT operands order, so I'll leave the fix for Nadav.
llvm-svn: 139624
2011-09-13 19:33:00 +00:00
Nadav Rotem
52202fbf2d
Add vselect target support for targets that do not support blend but do support
...
xor/and/or (For example SSE2).
llvm-svn: 139623
2011-09-13 19:17:42 +00:00
Akira Hatanaka
b491f48aba
Support for PSP is gone too.
...
llvm-svn: 139622
2011-09-13 18:55:33 +00:00
Argyrios Kyrtzidis
07863d80b7
[tablegen] In ClangAttrEmitter.cpp handle SourceLocation arguments to attributes.
...
llvm-svn: 139617
2011-09-13 18:41:43 +00:00
Devang Patel
f9e2ae9b05
Use a cache to maintain list of machine basic blocks for a given UserValue.
...
llvm-svn: 139616
2011-09-13 18:40:53 +00:00
Jakob Stoklund Olesen
4484f99175
Add SplitEditor::markOverlappedComplement().
...
This function is used to flag values where the complement interval may
overlap other intervals. Call it from overlapIntv, and use the flag to
fully recompute those live ranges in transferValues().
llvm-svn: 139612
2011-09-13 18:05:29 +00:00
Owen Anderson
44ae2da4ec
Teach the Thumb ASM parser that BKPT is allowed in IT blocks, even though it is always executed unconditionally.
...
llvm-svn: 139610
2011-09-13 17:59:19 +00:00
Jakob Stoklund Olesen
820c8fd0db
Eliminate the extendRange() wrapper.
...
llvm-svn: 139608
2011-09-13 17:38:57 +00:00
Akira Hatanaka
b0e99ef8f0
It is not necessary to search for mipsallegrex in target triple string.
...
llvm-svn: 139607
2011-09-13 17:35:28 +00:00
Owen Anderson
c3c60a0882
Fix encoding of Thumb2 shifted register operands with RRX shifts.
...
llvm-svn: 139606
2011-09-13 17:34:32 +00:00
Jakob Stoklund Olesen
0494c5c35d
Switch extendInBlock() to take a kill slot instead of the last use slot.
...
Three out of four clients prefer this interface which is consistent with
extendIntervalEndTo() and LiveRangeCalc::extend().
llvm-svn: 139604
2011-09-13 16:47:56 +00:00
Jakob Stoklund Olesen
054984d75b
Use a separate LiveRangeCalc for the complement in spill modes.
...
The complement interval may overlap the other intervals created, so use
a separate LiveRangeCalc instance to compute its live range.
A LiveRangeCalc instance can only be shared among non-overlapping
intervals.
llvm-svn: 139603
2011-09-13 16:47:53 +00:00
Devang Patel
4c1f1e35f5
Maintain hexadecimal order.
...
llvm-svn: 139601
2011-09-13 16:39:59 +00:00
Argyrios Kyrtzidis
3171285edf
In ClangAttrEmitter.cpp emit code that allows attributes to keep their source range.
...
llvm-svn: 139598
2011-09-13 16:05:43 +00:00
Craig Topper
8dd7bbcc80
Only disassembler instructions with vvvv != 1111 if the instruction actually uses the vvvv field to encode an operand. Fixes PR10851.
...
llvm-svn: 139591
2011-09-13 07:37:44 +00:00
Craig Topper
e98d8a5c84
Remove filter that was preventing MOVDQU/MOVDQA and their VEX forms from being disassembled. Also added encodings for the other register/register form of these instructions. Fixes PR10848.
...
llvm-svn: 139588
2011-09-13 06:54:58 +00:00
Craig Topper
b7ae29e404
Fix encoding of VMOVDQU to not simultaneously be 'TB OpSize' and 'XS'. 'XS' is correct and seems to have been taking priority.
...
llvm-svn: 139587
2011-09-13 06:39:34 +00:00
Andrew Trick
f9f68b816b
[indvars] Revert r139579 until 401.bzip -arch i386 miscompilation is fixed. PR10920.
...
llvm-svn: 139583
2011-09-13 05:23:49 +00:00
NAKAMURA Takumi
cac923b556
Unbreak msvc.
...
llvm-svn: 139581
2011-09-13 03:58:34 +00:00
Andrew Trick
061d811c51
Disable IV rewriting by default. See PR10916.
...
llvm-svn: 139579
2011-09-13 03:23:21 +00:00
Andrew Trick
5b28cc84f0
Generalize test case to handle multiple indvars modes.
...
llvm-svn: 139578
2011-09-13 03:17:25 +00:00
Andrew Trick
1191773a62
Generalize this test's CHECK statements to handle different indvars modes.
...
llvm-svn: 139577
2011-09-13 02:46:27 +00:00
Andrew Trick
57d8afde93
This test only makes sense with -enable-iv-rewrite.
...
llvm-svn: 139576
2011-09-13 02:45:26 +00:00
Eli Friedman
12ea1b72a4
Zap some junk from the ARM instruction descriptions.
...
llvm-svn: 139575
2011-09-13 02:29:58 +00:00
Andrew Trick
3de5b8e4c1
[indvars] Fix bugs in floating point IV range checks noticed by inspection.
...
llvm-svn: 139574
2011-09-13 01:59:32 +00:00
Benjamin Kramer
40ddfedd6c
Silence false positive uninitialized variable warnings from GCC.
...
llvm-svn: 139573
2011-09-13 01:59:24 +00:00
Jakob Stoklund Olesen
487f2a37bf
Extract live range calculations from SplitKit.
...
SplitKit will soon need two copies of these data structures, and the
algorithms will also be useful when LiveIntervalAnalysis becomes
independent of LiveVariables.
llvm-svn: 139572
2011-09-13 01:34:21 +00:00
Eli Friedman
72a93e5e9b
Add comment to clarify the behavior of a helper in DSE.
...
llvm-svn: 139571
2011-09-13 01:28:59 +00:00
Eli Friedman
a93ab13e0b
Correct grammar.
...
llvm-svn: 139565
2011-09-13 00:44:16 +00:00
Eli Friedman
d68a727bd0
Fix the assembler strings for a couple of atomic instructions. Doesn't really matter much in practice, but it's a bit cleaner.
...
llvm-svn: 139563
2011-09-13 00:27:04 +00:00
Jim Grosbach
3337e396c8
Tidy up a bit.
...
llvm-svn: 139559
2011-09-12 23:36:42 +00:00
Andrew Trick
54a109845d
Conditionalize indvars test that relies on SCEV expansion of geps,
...
which is only relevant with canonical IVs
llvm-svn: 139556
2011-09-12 23:13:57 +00:00
Bruno Cardoso Lopes
bf6e1e2717
Change testcase commandline to be more strict and silence buildbots
...
llvm-svn: 139554
2011-09-12 22:59:26 +00:00
Bruno Cardoso Lopes
ff8d8a830e
Fix PR10845. SUBREG_TO_REG shouldn't be used when the input and
...
destination types are equal!
llvm-svn: 139553
2011-09-12 22:59:23 +00:00
Andrew Trick
a8315c3f2b
indvars test only relevant for -enable-iv-rewrite.
...
Otherwise this case is now covered by no-iv-rewrite.ll.
llvm-svn: 139552
2011-09-12 22:59:00 +00:00
Owen Anderson
1b7090c9b3
Fix a failing ELF Thumb test. I _think_ this is right, but it's not totally clear to me what this test is doing. Could someone on an ELF platform check?
...
llvm-svn: 139549
2011-09-12 22:40:31 +00:00