| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
This is almost feature complete - just missing tu_index merging now.
llvm-svn: 259971
|
| |
|
|
|
|
| |
Replace leaq + movq of a pointer with a single movabsq.
llvm-svn: 259968
|
| |
|
|
|
|
|
| |
a significant fraction of the file size (for files that otherwise have few
records). Also include an average size per record in the summary information.
llvm-svn: 259965
|
| |
|
|
| |
llvm-svn: 259963
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add the core scheduling model for the Samsung Exynos-M1 (ARMv8-A).
Reviewers: jmolloy, rengolin, christof, MinSeongKIM, t.p.northover
Subscribers: aemerson, rengolin, MatzeB
Differential Revision: http://reviews.llvm.org/D16644
llvm-svn: 259958
|
| |
|
|
| |
llvm-svn: 259956
|
| |
|
|
| |
llvm-svn: 259954
|
| |
|
|
| |
llvm-svn: 259953
|
| |
|
|
| |
llvm-svn: 259952
|
| |
|
|
| |
llvm-svn: 259948
|
| |
|
|
|
|
|
| |
check wrong when inheriting a member through two levels of private inheritance,
where the middle one is a class template specialization.
llvm-svn: 259943
|
| |
|
|
|
|
|
|
| |
-fsized-deallocation. Disable sized deallocation for all objects derived from
TrailingObjects, as we expect the storage allocated for these objects to be
larger than the size of their dynamic type.
llvm-svn: 259942
|
| |
|
|
|
|
|
|
| |
The change allows skipping duplicate strings
early to avoid redundant md5 computation and
string copying/swapping.
llvm-svn: 259941
|
| |
|
|
|
|
| |
Thanks to David Blaikie for pointing this out!
llvm-svn: 259938
|
| |
|
|
|
|
|
| |
This is more uniform wrt what other tools do and makes the code
a little bit more readable.
llvm-svn: 259937
|
| |
|
|
| |
llvm-svn: 259917
|
| |
|
|
|
|
|
|
| |
In r252595, I inadvertently changed the condition to "Cost <= Threshold",
which caused a significant size regression in Chrome. This commit rectifies
that.
llvm-svn: 259915
|
| |
|
|
|
|
|
| |
Remove narrow load / store instructions from getMatchingPairOpcode(),
and add getMatchingWideOpcode().
llvm-svn: 259914
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This makes it possible to specify some operands as optional to the AsmMatcher.
Setting this field to true will prevent the AsmMatcher from emitting
'too few operands' errors when there are missing optional operands.
Reviewers: olista01, ab
Subscribers: nhaustov, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D15755
llvm-svn: 259913
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The current situation isn't great, because the amount of padding
requires is determined by the inverse order of the first encountered
use. We should eventually somehow sort these to minimize wasted space.
Another problem is the alignment of kernel arguments isn't
respected. The group_segment_alignment is always emitted as
the default 16, and typed arguments with higher alignments
or an explicitly set alignment are also ignored.
llvm-svn: 259912
|
| |
|
|
|
|
|
| |
Also switch to internal linkage, and include the name of the function in
the name.
llvm-svn: 259911
|
| |
|
|
| |
llvm-svn: 259904
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D16862
llvm-svn: 259900
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D16863
llvm-svn: 259897
|
| |
|
|
| |
llvm-svn: 259896
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
LiveRangeEdit::eliminateDeadDef is used to remove dead define instructions
after rematerialization. To remove a VNI for a vreg from its LiveInterval,
LiveIntervals::removeVRegDefAt is used. However, after non-PHI VNIs are all
removed, PHI VNI are still left in the LiveInterval. Such unused vregs will
be kept in RegsToSpill[] at the end of InlineSpiller::reMaterializeAll and
spiller will allocate stackslot for them.
The fix is to get rid of unused reg by checking whether it has non-dbg
reference instead of whether it has non-empty interval.
llvm-svn: 259895
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Subscribers: arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D16724
llvm-svn: 259894
|
| |
|
|
| |
llvm-svn: 259893
|
| |
|
|
| |
llvm-svn: 259888
|
| |
|
|
|
|
|
| |
This is a simple fix for a PowerPC intrinsic that was incorrectly defined
(the return type was incorrect).
llvm-svn: 259886
|
| |
|
|
|
|
| |
No functionality change intended.
llvm-svn: 259883
|
| |
|
|
|
|
|
|
|
| |
This makes it less likely to clash with other stuff that might be linked
in by change, e.g. ncurses exposes an external function called simply
"echo", so linking ncurses statically into the binary explodes in funny
ways.
llvm-svn: 259882
|
| |
|
|
|
|
| |
This reverts commit r259812 as it broke AArch64 self-hosting.
llvm-svn: 259881
|
| |
|
|
|
|
|
| |
The waring was:
lib/DebugInfo/DWARF/DWARFDebugFrame.cpp:643:20: warning: variable ‘LSDA’ set but not used
llvm-svn: 259877
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
In r255133 (reapplied r253126) we started to avoid redundant
recomputation of LCSSA after loop-unrolling. This patch moves one step
further in this direction - now we can avoid it for much wider range of
loops, as we start to look at IR and try to figure out if the
transformation actually breaks LCSSA phis or makes it necessary to
insert new ones.
Differential Revision: http://reviews.llvm.org/D16838
llvm-svn: 259869
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CodeView, like most other debug formats, represents the live range of a
variable so that debuggers might print them out.
They use a variety of records to represent how a particular variable
might be available (in a register, in a frame pointer, etc.) along with
a set of ranges where this debug information is relevant.
However, the format only allows us to use ranges which are limited to a
maximum of 0xF000 in size. This means that we need to split our debug
information into chunks of 0xF000.
Because the layout of code is not known until *very* late, we must use a
new fragment to record the information we need until we can know
*exactly* what the range is.
llvm-svn: 259868
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Passing the rematerialized values map to insertRematerializationStores by
value looks to be a simple oversight; update it to pass by reference.
Reviewers: reames, sanjoy
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16911
llvm-svn: 259867
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This diff increase the tested surface of the C API.
Reviewers: bogner, chandlerc, echristo, dblaikie, joker.eph, Wallbraker
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16910
llvm-svn: 259863
|
| |
|
|
|
|
| |
This was requested in the review of D16300.
llvm-svn: 259861
|
| |
|
|
| |
llvm-svn: 259860
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Only single and double FP immediates are correctly printed by
MachineInstr::print() during debug output. Half float type goes to
APFloat::convertToDouble() and hits assertion it is not a double
semantics. This diff prints half machine operands correctly.
This cannot currently be hit by any in-tree target.
Patch by Stanislav Mekhanoshin
llvm-svn: 259857
|
| |
|
|
| |
llvm-svn: 259855
|
| |
|
|
|
|
|
| |
We don't currently have many tests that deal with operations on multiple
local MemoryLocations. This new test helps out a bit in that regard.
llvm-svn: 259854
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: As per title. It is required and don't get linked in in some builds.
Reviewers: chapuni, joker.eph
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16903
llvm-svn: 259853
|
| |
|
|
| |
llvm-svn: 259851
|
| |
|
|
|
|
|
|
|
|
| |
Summary computation is not just for instrumented profiling and so I have moved
the ProfileSummary class to ProfileCommon.h (named so to allow code unrelated
to summary but common to instrumented and sampled profiling to be placed there)
Differential Revision: http://reviews.llvm.org/D16661
llvm-svn: 259846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This basically add an echo test case in C. The support is limited right now, but full support would just be too much to review at once.
The echo test case simply get a module as input and try to output the same exact module. This allow to check the both reading and writing API are working as expected.
I want to improve this test over time to support more and more of the API, in order to improve coverage (coverage is quite poor right now).
Test Plan: Run the test.
Reviewers: chandlerc, bogner
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10725
llvm-svn: 259844
|
| |
|
|
|
|
|
|
|
| |
Using the load immediate only when the immediate (whether signed or unsigned)
can fit in a 16-bit signed field. Namely, from -32768 to 32767 for signed and
0 to 65535 for unsigned. This patch also ensures that we sign-extend under the
right conditions.
llvm-svn: 259840
|
| |
|
|
| |
llvm-svn: 259839
|
| |
|
|
| |
llvm-svn: 259835
|