| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
Using rcp should be OK for safe math usually, so this
should not be replacing the original fdiv.
llvm-svn: 276823
|
| |
|
|
|
|
|
|
|
|
| |
expansion."
It causes Clang tests to fail after Windows self-host (PR28705).
(Also reverts follow-up r276139.)
llvm-svn: 276822
|
| |
|
|
| |
llvm-svn: 276821
|
| |
|
|
|
|
|
|
|
|
| |
Failing bot:
http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12025
Fix tested with `ninja docs-llvm-html`.
llvm-svn: 276820
|
| |
|
|
| |
llvm-svn: 276819
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables users to export coverage information as portable JSON for use by
analysis tools and storage in document based databases.
The export sub-command is invoked just like the others:
llvm-cov export -instr-profile path/to/foo.profdata path/to/foo.binary
The resulting JSON contains a list of files and functions. Every file object
contains a list of segments, expansions, and a summary of the file's region,
function, and line coverage. Every function object contains the function's name
and regions. There is also a total summary for the entire object file.
Changes since the initial commit (r276813):
- Fixed the regexes in the tests to handle Windows filepaths.
Patch by Eddie Hurtig!
Differential Revision: https://reviews.llvm.org/D22651
llvm-svn: 276818
|
| |
|
|
| |
llvm-svn: 276817
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r276813. The Windows bots are complaining about some
of the filename regexes in the tests:
http://bb.pgr.jp/builders/ninja-clang-i686-msc19-R/builds/5299
llvm-svn: 276816
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the syntax to use `%0.sub8` to denote a subregister.
This seems like a more natural fit to denote subregisters; I also plan
to introduce a new ":classname" syntax in upcoming patches to denote the
register class of a vreg.
Note that this commit disallows plain identifiers to start with a '.'
character. This shouldn't affect anything as external names/IR
references are all prefixed with '$'/'%', plain identifiers are only
used for instruction names, register mask names and subreg indexes.
Differential Revision: https://reviews.llvm.org/D22390
llvm-svn: 276815
|
| |
|
|
|
|
| |
Differential revision: https://reviews.llvm.org/D22771
llvm-svn: 276814
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables users to export coverage information as portable JSON for use by
analysis tools and storage in document based databases.
The export sub-command is invoked just like the others:
llvm-cov export -instr-profile path/to/foo.profdata path/to/foo.binary
The resulting JSON contains a list of files and functions. Every file object
contains a list of segments, expansions, and a summary of the file's region,
function, and line coverage. Every function object contains the function's name
and regions. There is also a total summary for the entire object file.
Patch by Eddie Hurtig!
Differential Revision: https://reviews.llvm.org/D22651
llvm-svn: 276813
|
| |
|
|
| |
llvm-svn: 276812
|
| |
|
|
|
|
|
|
|
| |
We already have code for ARM in initializeSections, so this
is more consistent.
Differential Revision: https://reviews.llvm.org/D22833
llvm-svn: 276811
|
| |
|
|
| |
llvm-svn: 276809
|
| |
|
|
| |
llvm-svn: 276808
|
| |
|
|
|
|
| |
It is faster and more correct method than string comparision.
llvm-svn: 276807
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
s/code-block:: C++/code-block:: c++ in docs/Coroutines.rst .
Patch by Gor Nishanov! Edited by Sanjoy to fix a missing s/C/c/.
Reviewers: sanjoy, rengolin
Differential Revision: https://reviews.llvm.org/D22832
llvm-svn: 276806
|
| |
|
|
|
|
| |
The intrinsics for these were removed, so this is dead.
llvm-svn: 276805
|
| |
|
|
| |
llvm-svn: 276804
|
| |
|
|
|
|
|
|
|
|
| |
The kernel on Nexus 5X returns error_code in ucontext which has
correct FSR_WRITE flag, but empty (zero) abort type field. Removing
the checks means that we will report all SEGVs as READ on very old
kernels, but will properly distinguish READ vs WRITE on moderately
old ones.
llvm-svn: 276803
|
| |
|
|
|
|
|
| |
EXEC_PAGESIZE lies.
sysconf() is broken in .preinit_array.
llvm-svn: 276802
|
| |
|
|
|
|
|
| |
- Generate vector post-increment stores more aggressively.
- Predicate post-increment and vector stores in early if-conversion.
llvm-svn: 276800
|
| |
|
|
|
|
|
| |
Pretty straightforward, the only oddity is the MachineMemOperand (which it's
surprisingly difficult to share code for).
llvm-svn: 276799
|
| |
|
|
|
|
| |
Preparation for supporting PSADBW emission for straight-line code.
llvm-svn: 276798
|
| |
|
|
|
|
|
|
| |
In r276769, I forgot to forward the driver option, add that here.
rdar://26675801
llvm-svn: 276797
|
| |
|
|
|
|
|
|
| |
instruction.
<rdar://problem/27006685>
llvm-svn: 276796
|
| |
|
|
|
|
|
|
|
|
| |
We were just checking the public state, but that meant if you were hung in a long
running hand-called function, we wouldn't know to interrupt the process, and we would
not succeed in killing it.
<rdar://problem/24805082>
llvm-svn: 276795
|
| |
|
|
| |
llvm-svn: 276794
|
| |
|
|
| |
llvm-svn: 276793
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consider this case:
vreg1 = A2_zxth vreg0 (1)
...
vreg2 = A2_zxth vreg1 (2)
Redundant instruction elimination could delete the instruction (1)
because the user (2) only cares about the low 16 bits. Then it could
delete (2) because the input is already zero-extended. The problem
is that the properties allowing each individual instruction to be
deleted depend on the existence of the other instruction, so either
one can be deleted, but not both.
The existing check for this situation in RIE was insufficient. The
fix is to update all dependent cells when an instruction is removed
(replaced via COPY) in RIE.
llvm-svn: 276792
|
| |
|
|
|
|
|
| |
CloneDetector member variable is shadowing the class with the same name,
which causes build failures on some platforms.
llvm-svn: 276791
|
| |
|
|
| |
llvm-svn: 276790
|
| |
|
|
|
|
| |
http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/25329/steps/build_Lld
llvm-svn: 276789
|
| |
|
|
| |
llvm-svn: 276788
|
| |
|
|
|
|
|
| |
Change the bit simplifier to generate REG_SEQUENCE instructions in
addition to COPY, which will handle cases of word insert/extract.
llvm-svn: 276787
|
| |
|
|
|
|
|
| |
r276777 makes InstSimplify stronger, letting it see through some
unnecessary addrspace casts.
llvm-svn: 276786
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In an instruction like:
CFI_INSTRUCTION .cfi_def_cfa ...
we can drop the '.cfi_' prefix since that should be obvious by the
context:
CFI_INSTRUCTION def_cfa ...
While being a terser and cleaner syntax this also prepares to dropping
support for identifiers starting with a dot character so we can use it
for expressions.
Differential Revision: http://reviews.llvm.org/D22388
llvm-svn: 276785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of expression.
In symbol assignments symbol may appear on the right-hand side of the expression:
(https://svnweb.freebsd.org/base/head/sys/conf/ldscript.amd64?revision=284870&view=markup#l8)
kernphys = CONSTANT (MAXPAGESIZE);
. = kernbase + kernphys + SIZEOF_HEADERS;
Patch implements that.
Differential revision: https://reviews.llvm.org/D22759
llvm-svn: 276784
|
| |
|
|
|
|
| |
Turn that into an error instead.
llvm-svn: 276783
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the CloneDetector class which allows searching source code
for clones.
For every statement or group of statements within a compound statement,
CloneDetector computes a hash value, and finds clones by detecting
identical hash values.
This initial patch only provides a simple hashing mechanism
that hashes the kind of each sub-statement.
This patch also adds CloneChecker - a simple static analyzer checker
that uses CloneDetector to report copy-pasted code.
Patch by Raphael Isemann!
Differential Revision: https://reviews.llvm.org/D20795
llvm-svn: 276782
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given similar reasons from r276710, ld64 scrubs DYLD_* environment if
called from the shim executable /usr/bin/ld.
Add support for finding ld64 via xcrun.
This is needed in order to get LIT to have the full path to the ld4
executable.
Differential Revision: https://reviews.llvm.org/D22791
rdar://problem/24300926
llvm-svn: 276781
|
| |
|
|
|
|
|
|
|
|
|
| |
Output section description can contain ALIGN modificator:
https://sourceware.org/binutils/docs/ld/Output-Section-Description.html#Output-Section-Description
Patch implements it.
Differential revision: https://reviews.llvm.org/D22674
llvm-svn: 276780
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This test attempts to allocate 100 512MB aligned pages of memory. This
is implemented in the usual way by allocating size + alignment bytes and
aligning the result. As a result, this test allocates 51.2GB of memory.
Windows allocates swap for all memory allocated, and our bots do not
have this much swap available.
Avoid the failure by using a more reasonable alignment, like 16MB, as we
do on 32-bit.
llvm-svn: 276779
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In compare with what GNU linkers do (https://sourceware.org/binutils/docs/ld/Builtin-Functions.html),
this implementation simple:
Do not touch DATA_SEGMENT_ALIGN, it do what it do now - just aligns to the page boundary.
Parameters of DATA_SEGMENT_RELRO_END is ignored. That should be correct as it is usually just a 24 bytes
shift that allows to protect first 3 entries of got.plt with relro.
(https://svnweb.freebsd.org/base/head/sys/conf/ldscript.amd64?revision=284870&view=markup#l146).
DATA_SEGMENT_RELRO_END just aligns to the page boundary.
That is what expected because all sections that are not affected by relro should be on another memory page.
So at fact the difference with documented behavior is that we do not pad DATA_SEGMENT_ALIGN.
3 entries of got.plt are uncovered by relro, but functionality is simple and equal to lld behavior
for case when script is not given.
Differential revision: https://reviews.llvm.org/D22813
llvm-svn: 276778
|
| |
|
|
|
|
| |
Use isEliminableCastPair to determine if a pair of casts are foldable.
llvm-svn: 276777
|
| |
|
|
| |
llvm-svn: 276776
|
| |
|
|
|
|
| |
Frame indices should use "addFrameIndex", not "addImm".
llvm-svn: 276775
|
| |
|
|
| |
llvm-svn: 276774
|
| |
|
|
|
|
|
|
|
| |
H -> High part of reg pair.
L -> Low part of reg pair.
Patch by Sundeep Kushwaha.
llvm-svn: 276773
|
| |
|
|
|
|
| |
Tidies up the representation a bit in the common case.
llvm-svn: 276772
|