summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* First step in supporting #line directives in assembler. This step parses theKevin Enderby2011-09-133-5/+70
| | | | | | | | | #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. llvm-svn: 139669
* unittests/Support/DataExtractorTest.cpp: Specify ULL explicitly to a few ↵NAKAMURA Takumi2011-09-131-3/+3
| | | | | | | | constants. It seems i686-cygwin-gcc-4.3 does not accept 64-bit constant without LL. llvm-svn: 139664
* Distinguish complex mapped values from forced recomputation.Jakob Stoklund Olesen2011-09-132-53/+40
| | | | | | | | | | | | | | | | | | 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. llvm-svn: 139660
* Update tests. Remove irrelevant tests.Devang Patel2011-09-137-170/+57
| | | | llvm-svn: 139658
* Remove unnecessary scope resolution operator.Jim Grosbach2011-09-131-3/+2
| | | | llvm-svn: 139656
* Delete test cases that generate code for allegrex/psp and cannot be repurposed.Akira Hatanaka2011-09-132-45/+0
| | | | llvm-svn: 139652
* Implement -split-spill-mode=size.Jakob Stoklund Olesen2011-09-132-0/+164
| | | | | | | | | | 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. llvm-svn: 139651
* Fix check for unaligned load/store so it doesn't catch over-aligned load/store.Eli Friedman2011-09-131-2/+2
| | | | llvm-svn: 139649
* Style & indentation tweaks.Benjamin Kramer2011-09-137-211/+201
| | | | llvm-svn: 139646
* Make use of Eli's FileCheck sorcery to improve this test.Owen Anderson2011-09-131-1/+1
| | | | llvm-svn: 139645
* Add a check to make sure schedulePass() has not deleted stale RequiredPass.Devang Patel2011-09-131-3/+5
| | | | llvm-svn: 139642
* Error out on CodeGen of unaligned load/store. Fix test so it isn't ↵Eli Friedman2011-09-132-4/+11
| | | | | | accidentally testing that case. llvm-svn: 139641
* Correct disassembly printing of Thumb2 post-incremented LDRD and STRD.Owen Anderson2011-09-133-6/+20
| | | | llvm-svn: 139639
* There's only 16 regs legal in a register list.Jim Grosbach2011-09-131-1/+1
| | | | llvm-svn: 139637
* Tidy up a few 80 column violations.Jim Grosbach2011-09-135-17/+17
| | | | llvm-svn: 139636
* Tidy up a bit.Jim Grosbach2011-09-131-152/+78
| | | | llvm-svn: 139635
* Add pattern used to match MipsLo, which is needed when the instruction selectorAkira Hatanaka2011-09-132-0/+24
| | | | | | | | 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
* Fix the assertion which checks the size of the input operand.Nadav Rotem2011-09-131-1/+1
| | | | llvm-svn: 139633
* Disable tests which generate code for allegrex or psp.Akira Hatanaka2011-09-132-16/+22
| | | | llvm-svn: 139632
* update checked patternNadav Rotem2011-09-131-1/+19
| | | | llvm-svn: 139631
* swap vselect operand order - pr10907Nadav Rotem2011-09-131-14/+14
| | | | llvm-svn: 139630
* Remove include of header that doesn't exist (yet).Benjamin Kramer2011-09-131-1/+0
| | | | llvm-svn: 139629
* I know copy&paste!Benjamin Kramer2011-09-131-1/+1
| | | | llvm-svn: 139628
* Sketch out a DWARF parser.Benjamin Kramer2011-09-1324-2/+2046
| | | | | | | | | | 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
* Add the DataExtractor utility class.Benjamin Kramer2011-09-134-0/+639
| | | | | | | | | | 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
* Add versions 256-bit versions of alignedstore and alignedload, to beBruno Cardoso Lopes2011-09-132-12/+23
| | | | | | | | 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
* Revert the remaining part of r139528. According to PR10907 the bug seemsBruno Cardoso Lopes2011-09-131-5/+5
| | | | | | to be in the VSELECT operands order, so I'll leave the fix for Nadav. llvm-svn: 139624
* Add vselect target support for targets that do not support blend but do supportNadav Rotem2011-09-134-2/+83
| | | | | | xor/and/or (For example SSE2). llvm-svn: 139623
* Support for PSP is gone too.Akira Hatanaka2011-09-131-7/+2
| | | | llvm-svn: 139622
* [tablegen] In ClangAttrEmitter.cpp handle SourceLocation arguments to ↵Argyrios Kyrtzidis2011-09-131-2/+7
| | | | | | attributes. llvm-svn: 139617
* Use a cache to maintain list of machine basic blocks for a given UserValue.Devang Patel2011-09-131-10/+33
| | | | llvm-svn: 139616
* Add SplitEditor::markOverlappedComplement().Jakob Stoklund Olesen2011-09-132-2/+28
| | | | | | | | 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
* Teach the Thumb ASM parser that BKPT is allowed in IT blocks, even though it ↵Owen Anderson2011-09-132-1/+12
| | | | | | is always executed unconditionally. llvm-svn: 139610
* Eliminate the extendRange() wrapper.Jakob Stoklund Olesen2011-09-132-20/+15
| | | | llvm-svn: 139608
* It is not necessary to search for mipsallegrex in target triple string.Akira Hatanaka2011-09-131-2/+1
| | | | llvm-svn: 139607
* Fix encoding of Thumb2 shifted register operands with RRX shifts.Owen Anderson2011-09-132-0/+9
| | | | llvm-svn: 139606
* Switch extendInBlock() to take a kill slot instead of the last use slot.Jakob Stoklund Olesen2011-09-135-20/+17
| | | | | | | Three out of four clients prefer this interface which is consistent with extendIntervalEndTo() and LiveRangeCalc::extend(). llvm-svn: 139604
* Use a separate LiveRangeCalc for the complement in spill modes.Jakob Stoklund Olesen2011-09-132-11/+30
| | | | | | | | | | 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
* Maintain hexadecimal order.Devang Patel2011-09-131-1/+1
| | | | llvm-svn: 139601
* In ClangAttrEmitter.cpp emit code that allows attributes to keep their ↵Argyrios Kyrtzidis2011-09-131-3/+3
| | | | | | source range. llvm-svn: 139598
* Only disassembler instructions with vvvv != 1111 if the instruction actually ↵Craig Topper2011-09-131-4/+13
| | | | | | uses the vvvv field to encode an operand. Fixes PR10851. llvm-svn: 139591
* Remove filter that was preventing MOVDQU/MOVDQA and their VEX forms from ↵Craig Topper2011-09-133-15/+71
| | | | | | being disassembled. Also added encodings for the other register/register form of these instructions. Fixes PR10848. llvm-svn: 139588
* Fix encoding of VMOVDQU to not simultaneously be 'TB OpSize' and 'XS'. 'XS' ↵Craig Topper2011-09-131-4/+4
| | | | | | is correct and seems to have been taking priority. llvm-svn: 139587
* [indvars] Revert r139579 until 401.bzip -arch i386 miscompilation is fixed. ↵Andrew Trick2011-09-133-3/+3
| | | | | | PR10920. llvm-svn: 139583
* Unbreak msvc.NAKAMURA Takumi2011-09-132-2/+2
| | | | llvm-svn: 139581
* Disable IV rewriting by default. See PR10916.Andrew Trick2011-09-133-3/+3
| | | | llvm-svn: 139579
* Generalize test case to handle multiple indvars modes.Andrew Trick2011-09-131-3/+6
| | | | llvm-svn: 139578
* Generalize this test's CHECK statements to handle different indvars modes.Andrew Trick2011-09-131-2/+2
| | | | llvm-svn: 139577
* This test only makes sense with -enable-iv-rewrite.Andrew Trick2011-09-131-3/+4
| | | | llvm-svn: 139576
* Zap some junk from the ARM instruction descriptions.Eli Friedman2011-09-134-67/+0
| | | | llvm-svn: 139575
OpenPOWER on IntegriCloud