- Sep 14, 2011
-
-
Benjamin Kramer authored
llvm-svn: 139705
-
Jakob Stoklund Olesen authored
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. llvm-svn: 139702
-
Benjamin Kramer authored
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. llvm-svn: 139701
-
Akira Hatanaka authored
llvm-svn: 139699
-
Jakob Stoklund Olesen authored
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. llvm-svn: 139698
-
Jim Grosbach authored
llvm-svn: 139697
-
Douglas Gregor authored
llvm-svn: 139695
-
Nadav Rotem authored
llvm-svn: 139692
-
Craig Topper authored
Fix mem type for VEX.128 form of VROUNDP*. Remove filter preventing VROUND from being recognized by disassembler. llvm-svn: 139691
-
Craig Topper authored
llvm-svn: 139690
-
Bruno Cardoso Lopes authored
- 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. llvm-svn: 139688
-
Bruno Cardoso Lopes authored
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. llvm-svn: 139687
-
Bruno Cardoso Lopes authored
llvm-svn: 139686
-
Benjamin Kramer authored
llvm-svn: 139684
-
Benjamin Kramer authored
- 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! llvm-svn: 139683
-
Benjamin Kramer authored
Remove unimplemented function prototypes from PathV2. They can be readded when someone cares enough. Patch by Aaron Ballman! llvm-svn: 139682
-
Benjamin Kramer authored
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. llvm-svn: 139680
-
Benjamin Kramer authored
llvm-svn: 139676
-
Benjamin Kramer authored
llvm-svn: 139671
-
Kevin Enderby authored
#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
-
Jakob Stoklund Olesen authored
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
-
Jim Grosbach authored
llvm-svn: 139656
-
Jakob Stoklund Olesen authored
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
-
Eli Friedman authored
llvm-svn: 139649
-
- Sep 13, 2011
-
-
Benjamin Kramer authored
llvm-svn: 139646
-
Devang Patel authored
llvm-svn: 139642
-
Eli Friedman authored
llvm-svn: 139641
-
Owen Anderson authored
llvm-svn: 139639
-
Jim Grosbach authored
llvm-svn: 139637
-
Jim Grosbach authored
llvm-svn: 139636
-
Jim Grosbach authored
llvm-svn: 139635
-
Akira Hatanaka authored
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
-
Nadav Rotem authored
llvm-svn: 139633
-
Nadav Rotem authored
llvm-svn: 139630
-
Benjamin Kramer authored
llvm-svn: 139628
-
Benjamin Kramer authored
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
-
Benjamin Kramer authored
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
-
Bruno Cardoso Lopes authored
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
-
Bruno Cardoso Lopes authored
to be in the VSELECT operands order, so I'll leave the fix for Nadav. llvm-svn: 139624
-
Nadav Rotem authored
xor/and/or (For example SSE2). llvm-svn: 139623
-