| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 139692
|
| |
|
|
|
|
| |
from being recognized by disassembler.
llvm-svn: 139691
|
| |
|
|
|
|
| |
Fixes PR10917.
llvm-svn: 139690
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
"movss".
llvm-svn: 139686
|
| |
|
|
| |
llvm-svn: 139684
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
| |
when someone cares enough.
Patch by Aaron Ballman!
llvm-svn: 139682
|
| |
|
|
|
|
|
|
|
| |
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.
llvm-svn: 139680
|
| |
|
|
| |
llvm-svn: 139676
|
| |
|
|
| |
llvm-svn: 139671
|
| |
|
|
|
|
|
|
|
| |
#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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 139656
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 139649
|
| |
|
|
| |
llvm-svn: 139646
|
| |
|
|
| |
llvm-svn: 139642
|
| |
|
|
|
|
| |
accidentally testing that case.
llvm-svn: 139641
|
| |
|
|
| |
llvm-svn: 139639
|
| |
|
|
| |
llvm-svn: 139637
|
| |
|
|
| |
llvm-svn: 139636
|
| |
|
|
| |
llvm-svn: 139635
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 139633
|
| |
|
|
| |
llvm-svn: 139630
|
| |
|
|
| |
llvm-svn: 139628
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
to be in the VSELECT operands order, so I'll leave the fix for Nadav.
llvm-svn: 139624
|
| |
|
|
|
|
| |
xor/and/or (For example SSE2).
llvm-svn: 139623
|
| |
|
|
| |
llvm-svn: 139622
|
| |
|
|
| |
llvm-svn: 139616
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
is always executed unconditionally.
llvm-svn: 139610
|
| |
|
|
| |
llvm-svn: 139608
|
| |
|
|
| |
llvm-svn: 139607
|
| |
|
|
| |
llvm-svn: 139606
|
| |
|
|
|
|
|
| |
Three out of four clients prefer this interface which is consistent with
extendIntervalEndTo() and LiveRangeCalc::extend().
llvm-svn: 139604
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
uses the vvvv field to encode an operand. Fixes PR10851.
llvm-svn: 139591
|
| |
|
|
|
|
| |
being disassembled. Also added encodings for the other register/register form of these instructions. Fixes PR10848.
llvm-svn: 139588
|
| |
|
|
|
|
| |
is correct and seems to have been taking priority.
llvm-svn: 139587
|
| |
|
|
|
|
| |
PR10920.
llvm-svn: 139583
|
| |
|
|
| |
llvm-svn: 139581
|
| |
|
|
| |
llvm-svn: 139579
|
| |
|
|
| |
llvm-svn: 139575
|
| |
|
|
| |
llvm-svn: 139574
|