Benjamin Kramer [Thu, 15 Sep 2011 04:15:59 +0000 (04:15 +0000)]
DWARF: Print the number for unknown abbrev fields.
Thanks Nick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139778
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 04:00:58 +0000 (04:00 +0000)]
DWARF: Fail gracefully when encountering unknown values in an abbrev.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139777
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 15 Sep 2011 03:41:51 +0000 (03:41 +0000)]
Give structs with virtual methods a virtual destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139776
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 03:20:04 +0000 (03:20 +0000)]
DWARF: Silence GCC -Wsign-compare warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139775
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 03:11:09 +0000 (03:11 +0000)]
DWARF: Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139774
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 02:19:33 +0000 (02:19 +0000)]
DWARF: Include <algorithm> explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139773
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 15 Sep 2011 02:12:05 +0000 (02:12 +0000)]
DWARF: Add basic support for line tables.
The llvm-dwarfdump output isn't very verbose yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139771
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 15 Sep 2011 01:14:29 +0000 (01:14 +0000)]
Make demanded-elt simplification for shufflevector slightly stronger. Spotted by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139768
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 15 Sep 2011 01:09:33 +0000 (01:09 +0000)]
[regcoalescing] bug fix for RegistersDefinedFromSameValue.
An improper SlotIndex->VNInfo lookup was leading to unsafe copy removal.
Fixes PR10920 401.bzip2 miscompile with no IV rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139765
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 14 Sep 2011 23:42:45 +0000 (23:42 +0000)]
Fix the code creating VZEXT_LOAD so that it creates the right memoperand. Issue spotted in -debug output. I can't think of any practical effects at the moment, but it might matter if we start doing more aggressive alias analysis in CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139758
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 23:29:05 +0000 (23:29 +0000)]
Thumb2 assembly parsing and encoding for PLI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139757
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 23:26:12 +0000 (23:26 +0000)]
Thumb2 assembly parsing and encoding for PLD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139756
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 14 Sep 2011 23:21:47 +0000 (23:21 +0000)]
Update the comment for system_temp_directory() to indicate when it
will ignore the erasedOnReboot option, and properly escape the
backslash in "C:\TEMP". Thanks to Aaron and Francois.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139755
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 23:16:41 +0000 (23:16 +0000)]
Thumb2 assembly parsing and encoding for PKH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139754
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 23:16:34 +0000 (23:16 +0000)]
ARMv7a has the PKH instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139753
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Sep 2011 23:13:28 +0000 (23:13 +0000)]
Add support to emit debug info for C++0x nullptr type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139751
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 22:52:14 +0000 (22:52 +0000)]
ARM tighten up the register classes for the PKH instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139748
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 14 Sep 2011 22:46:14 +0000 (22:46 +0000)]
Fix a crasher in Thumb2 MOV-immediate encoding for certain inputs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139747
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 14 Sep 2011 21:49:42 +0000 (21:49 +0000)]
Include limits.h to make sure PATH_MAX is known on Solaris 10.
Patch by Joakim Johansson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139743
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 21:43:57 +0000 (21:43 +0000)]
Thumb2 assembly parsing and encoding for ORR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139742
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 21:29:54 +0000 (21:29 +0000)]
Thumb2 assembly parsing and encoding for ORN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139741
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 21:26:25 +0000 (21:26 +0000)]
Thumb2 assembly parsing and encoding for NOP.W.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139740
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 21:24:41 +0000 (21:24 +0000)]
Thumb2 assembly parsing and encoding for MVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139739
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 14 Sep 2011 21:06:21 +0000 (21:06 +0000)]
Nested IT blocks are UNPREDICTABLE. Mark them as such when disassembling them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139736
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 21:00:40 +0000 (21:00 +0000)]
Thumb2 assembly parsing and encoding for MUL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139735
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 20:52:27 +0000 (20:52 +0000)]
DWARF: Generate the address lookup table from the DIE tree if .debug_aranges is not available.
Ported from LLDB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139732
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 14 Sep 2011 20:27:01 +0000 (20:27 +0000)]
Add a simple routine to determine the typical system directory for
temporary data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139725
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 20:03:46 +0000 (20:03 +0000)]
Thumb2 assembly parsing and encoding for MSR/MRS.
Fix a bug in handling default flags for both ARM and Thumb encodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139721
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 19:28:49 +0000 (19:28 +0000)]
Thumb2 assembly parsing and encoding for MRC/MRC2/MRRC/MRRC2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139717
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 19:15:15 +0000 (19:15 +0000)]
Thumb2 assembly parsing and encoding for MOVT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139715
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 19:12:11 +0000 (19:12 +0000)]
Thumb2 assembly parsing for MOV in IT block.
Select the right 16 vs. 32 bit encoding in an IT block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139714
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 18:34:47 +0000 (18:34 +0000)]
DWARF: Reorder fields to reduce padding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139712
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Sep 2011 18:33:34 +0000 (18:33 +0000)]
Don't mark objc_retainBlock as nounwind. It calls user copy constructors
which could theoretically throw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139710
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Sep 2011 18:13:00 +0000 (18:13 +0000)]
objc_retainBlock is not NoModRef because it can update forwarding pointers
in memory relevant to the optimizer. rdar://
10050579.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139708
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 18:08:35 +0000 (18:08 +0000)]
ARM fix assembly parser handling of ranges in register lists.
Clean up register list handling in general a bit to explicitly check things
like all the registers being from the same register class.
rdar://
8883573
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139707
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 17:54:56 +0000 (17:54 +0000)]
DWARF: Improve indentation of DIE dumping so it's easier to see the structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139705
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 14 Sep 2011 17:34:37 +0000 (17:34 +0000)]
Ignore the cloning of unknown registers.
THe LRE_DidCloneVirtReg callback may be called with vitual registers
that RAGreedy doesn't even know about yet. In that case, there are no
data structures to update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139702
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 17:28:13 +0000 (17:28 +0000)]
llvm-dwarfdump: Make the "is debug info section" heuristic stricter so it doesn't accidentaly picks up the wrong section.
Also add some validation code to the aranges section parser.
Fixes PR10926.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139701
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 14 Sep 2011 17:22:51 +0000 (17:22 +0000)]
Add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139699
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 14 Sep 2011 16:45:39 +0000 (16:45 +0000)]
Hoist back-copies to the least busy dominator.
When a back-copy is hoisted to the nearest common dominator, keep
looking up the dominator tree for a less loopy dominator, and place the
back-copy there instead.
Don't do this when a single existing back-copy dominates all the others.
Assume the client knows what he is doing, and keep the dominating
back-copy.
This prevents us from hoisting back-copies into loops in most cases. If
a value is defined in a loop with multiple exits, we may still hoist
back-copies into that loop. That is the speed/size tradeoff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139698
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Sep 2011 16:37:04 +0000 (16:37 +0000)]
Move state var to private class member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139697
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 14 Sep 2011 15:54:46 +0000 (15:54 +0000)]
Add APInt support for converting to/from hexatridecimal strings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139695
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Wed, 14 Sep 2011 14:42:15 +0000 (14:42 +0000)]
Add integer promotion support for vselect
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139692
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 14 Sep 2011 06:41:26 +0000 (06:41 +0000)]
Fix mem type for VEX.128 form of VROUNDP*. Remove filter preventing VROUND from being recognized by disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139691
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 14 Sep 2011 05:55:28 +0000 (05:55 +0000)]
Make disassembling of VBLEND* print immediate as a XMM/YMM register name. Fixes PR10917.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139690
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 14 Sep 2011 04:36:54 +0000 (04:36 +0000)]
Add test case for PR10851.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139689
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 14 Sep 2011 03:00:41 +0000 (03:00 +0000)]
One more patch towards JIT support for Mips.
- Add TSFlags for the instruction formats. The idea here is to use
as much encoding as possible from getBinaryCodeForInstr, and having
TSFLags formats for that would make it easier to encode most part
of the instructions (since Mips encodings are pretty straightforward)
- Improve the mips mechanism for compilation callback
- Add Mips specific code for invalidating the instruction cache
- Next patch will address wrong tablegen encoding
Commit msg added by my own but the patch is from Sasa Stankovic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139688
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 14 Sep 2011 02:36:58 +0000 (02:36 +0000)]
Teach the foldable tables about 128-bit AVX instructions and make the
alignment check for 256-bit classes more strict. There're no testcases
but we catch more folding cases for AVX while running single and multi
sources in the llvm testsuite.
Since some 128-bit AVX instructions have different number of operands
than their SSE counterparts, they are placed in different tables.
256-bit AVX instructions should also be added in the table soon. And
there a few more 128-bit versions to handled, which should come in
the following commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139687
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 14 Sep 2011 02:36:14 +0000 (02:36 +0000)]
Vector shuffle mask <i32 4, i32 5, i32 2, i32 3> should yield "movsd", not "movss".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139686
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 01:27:48 +0000 (01:27 +0000)]
Don't rely in <algorithm> being pulled in transitively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139684
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 01:22:52 +0000 (01:22 +0000)]
Object: make the following changes into SymbolRef
- Add enum SymbolType and function getSymbolType()
- Add function isGlobal() - it's returns true for symbols that can be used in another objects, such as library functions.
- Rename function getAddress() to getOffset() and add new function getAddress(), because currently getAddress() returns section offset of symbol first byte. new getAddress() return symbol address.
- Change usage SymbolRef::getAddress() to getOffset() in tools/llvm-nm and tools/llvm-objdump.
Patch by Danil Malyshev!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139683
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 01:14:36 +0000 (01:14 +0000)]
Remove unimplemented function prototypes from PathV2. They can be readded when someone cares enough.
Patch by Aaron Ballman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139682
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 01:09:52 +0000 (01:09 +0000)]
DWARF: Port support for parsing .debug_aranges section from LLDB and wire it up to llvm-dwarfdump.
This is only one half of it, the part that caches address ranges from the DIEs when .debug_aranges is
not available will be ported soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139680
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 00:39:22 +0000 (00:39 +0000)]
ObjectFile: Add support for mach-o-style dSYM companion files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139676
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Sep 2011 00:29:50 +0000 (00:29 +0000)]
Remove ancient debug info constructs from test cases, they are not relevant to test case's main objective.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139675
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Sep 2011 00:28:54 +0000 (00:28 +0000)]
Remove unnecessary old test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139674
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Sep 2011 00:15:32 +0000 (00:15 +0000)]
DebugInfo: Don't print DIEs multiple times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139671
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 13 Sep 2011 23:45:39 +0000 (23:45 +0000)]
Fix indenting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139670
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Tue, 13 Sep 2011 23:45:18 +0000 (23:45 +0000)]
First step in supporting #line directives in assembler. This step parses the
#line directives with the needed support in the lexer. Next will be to build
a simple file/line# table mapping source SMLoc's for later use by diagnostics.
And the last step will be to get the diagnostics to use the mapping for file
and line numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139669
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 13 Sep 2011 23:23:49 +0000 (23:23 +0000)]
unittests/Support/DataExtractorTest.cpp: Specify ULL explicitly to a few constants.
It seems i686-cygwin-gcc-4.3 does not accept 64-bit constant without LL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139664
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Sep 2011 23:09:04 +0000 (23:09 +0000)]
Distinguish complex mapped values from forced recomputation.
When a ParentVNI maps to multiple defs in a new interval, its live range
may still be derived directly from RegAssign by transferValues().
On the other hand, when instructions have been rematerialized or
hoisted, it may be necessary to completely recompute live ranges using
LiveRangeCalc::extend() to all uses.
Use a bit in the value map to indicate that a live range must be
recomputed. Rename markComplexMapped() to forceRecompute().
This fixes some live range verification errors when
-split-spill-mode=size hoists back-copies by recomputing source ranges
when RegAssign kills can't be moved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139660
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Sep 2011 23:07:41 +0000 (23:07 +0000)]
Update tests. Remove irrelevant tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139658
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 13 Sep 2011 22:56:44 +0000 (22:56 +0000)]
Remove unnecessary scope resolution operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139656
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 13 Sep 2011 22:29:13 +0000 (22:29 +0000)]
Delete test cases that generate code for allegrex/psp and cannot be repurposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139652
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Sep 2011 22:22:39 +0000 (22:22 +0000)]
Implement -split-spill-mode=size.
Whenever the complement interval is defined by multiple copies of the
same value, hoist those back-copies to the nearest common dominator.
This ensures that at most one copy is inserted per value in the
complement inteval, and no phi-defs are needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139651
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 13 Sep 2011 22:19:59 +0000 (22:19 +0000)]
Fix check for unaligned load/store so it doesn't catch over-aligned load/store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139649
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Sep 2011 21:47:32 +0000 (21:47 +0000)]
Style & indentation tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139646
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Sep 2011 21:37:50 +0000 (21:37 +0000)]
Make use of Eli's FileCheck sorcery to improve this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139645
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Sep 2011 21:13:29 +0000 (21:13 +0000)]
Add a check to make sure schedulePass() has not deleted stale RequiredPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139642
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 13 Sep 2011 20:50:54 +0000 (20:50 +0000)]
Error out on CodeGen of unaligned load/store. Fix test so it isn't accidentally testing that case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139641
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Sep 2011 20:46:26 +0000 (20:46 +0000)]
Correct disassembly printing of Thumb2 post-incremented LDRD and STRD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139639
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 13 Sep 2011 20:35:57 +0000 (20:35 +0000)]
There's only 16 regs legal in a register list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139637
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 13 Sep 2011 20:30:37 +0000 (20:30 +0000)]
Tidy up a few 80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139636
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 13 Sep 2011 20:27:44 +0000 (20:27 +0000)]
Tidy up a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139635
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 13 Sep 2011 20:13:58 +0000 (20:13 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139634
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Tue, 13 Sep 2011 20:03:38 +0000 (20:03 +0000)]
Fix the assertion which checks the size of the input operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139633
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 13 Sep 2011 20:00:35 +0000 (20:00 +0000)]
Disable tests which generate code for allegrex or psp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139632
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Tue, 13 Sep 2011 19:59:18 +0000 (19:59 +0000)]
update checked pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139631
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Tue, 13 Sep 2011 19:56:38 +0000 (19:56 +0000)]
swap vselect operand order - pr10907
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139630
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Sep 2011 19:55:32 +0000 (19:55 +0000)]
Remove include of header that doesn't exist (yet).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139629
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Sep 2011 19:49:53 +0000 (19:49 +0000)]
I know copy&paste!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139628
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Sep 2011 19:42:23 +0000 (19:42 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139627
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Sep 2011 19:42:16 +0000 (19:42 +0000)]
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139626
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Sep 2011 19:33:03 +0000 (19:33 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139625
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Sep 2011 19:33:00 +0000 (19:33 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139624
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Tue, 13 Sep 2011 19:17:42 +0000 (19:17 +0000)]
Add vselect target support for targets that do not support blend but do support
xor/and/or (For example SSE2).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139623
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 13 Sep 2011 18:55:33 +0000 (18:55 +0000)]
Support for PSP is gone too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139622
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 13 Sep 2011 18:41:43 +0000 (18:41 +0000)]
[tablegen] In ClangAttrEmitter.cpp handle SourceLocation arguments to attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139617
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Sep 2011 18:40:53 +0000 (18:40 +0000)]
Use a cache to maintain list of machine basic blocks for a given UserValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139616
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Sep 2011 18:05:29 +0000 (18:05 +0000)]
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().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139612
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Sep 2011 17:59:19 +0000 (17:59 +0000)]
Teach the Thumb ASM parser that BKPT is allowed in IT blocks, even though it is always executed unconditionally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139610
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Sep 2011 17:38:57 +0000 (17:38 +0000)]
Eliminate the extendRange() wrapper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139608
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 13 Sep 2011 17:35:28 +0000 (17:35 +0000)]
It is not necessary to search for mipsallegrex in target triple string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139607
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 13 Sep 2011 17:34:32 +0000 (17:34 +0000)]
Fix encoding of Thumb2 shifted register operands with RRX shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139606
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Sep 2011 16:47:56 +0000 (16:47 +0000)]
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().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139604
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Sep 2011 16:47:53 +0000 (16:47 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139603
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Sep 2011 16:39:59 +0000 (16:39 +0000)]
Maintain hexadecimal order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139601
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 13 Sep 2011 16:05:43 +0000 (16:05 +0000)]
In ClangAttrEmitter.cpp emit code that allows attributes to keep their source range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139598
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 13 Sep 2011 07:37:44 +0000 (07:37 +0000)]
Only disassembler instructions with vvvv != 1111 if the instruction actually uses the vvvv field to encode an operand. Fixes PR10851.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139591
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 13 Sep 2011 06:54:58 +0000 (06:54 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139588
91177308-0d34-0410-b5e6-
96231b3b80d8