| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
and OtherOpIdx differ
llvm-svn: 315972
|
| |
|
|
| |
llvm-svn: 315971
|
| |
|
|
|
|
| |
upcoming commit.
llvm-svn: 315970
|
| |
|
|
| |
llvm-svn: 315969
|
| |
|
|
|
|
|
|
|
|
| |
The nan family of math routines do not rely on global state. They do
however depend on their parameter. This fits the description of pure:
Functions which have no effects except the return value and their
return value depends only on the parameters and/or global variables.
Mark the family as `readonly`.
llvm-svn: 315968
|
| |
|
|
| |
llvm-svn: 315967
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch adds support for passing an arbitrary python stream
(anything inheriting from IOBase) to SetOutputFileHandle or
SetErrorFileHandle.
Differential revision: https://reviews.llvm.org/D38829
<rdar://problem/34870417>
llvm-svn: 315966
|
| |
|
|
|
|
|
|
| |
The right way to parse arch names is by creating a triple. This was
using getArchTypeForLLVMName before, which doesn't really do the right
thing here.
llvm-svn: 315965
|
| |
|
|
|
|
|
|
|
|
|
| |
We want to be writing a 32bit value, so we should be writing 4 bytes
instead of 2.
Patch by Alex Langford <apl@fb.com>.
Differential Revision: https://reviews.llvm.org/D38872
llvm-svn: 315964
|
| |
|
|
|
|
|
|
|
| |
In r315960, I accidentally assumed that the first line segment is
guaranteed to be the non-gap region entry segment (given that one is
present). It can actually be any segment on the line, and the test I
checked in demonstrates that.
llvm-svn: 315963
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r315713. It causes PR34968.
I think I know what the problem is, but I don't think I'll have time to fix it
this week.
llvm-svn: 315962
|
| |
|
|
| |
llvm-svn: 315961
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Gap areas make it possible to correctly determine when to use counts
from deferred regions. Before gap areas were introduced, llvm-cov needed
to use a heuristic to do this: it ignored counts from segments that
start, but do not end, on a line. This heuristic breaks down on a simple
example (see PR34962).
This patch removes the heuristic and picks counts from any region entry
segment which isn't a gap area.
llvm-svn: 315960
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch allows checking the availability of cursors through libclang and clang.cindex (Python).
This e.g. allows to check whether a C++ member function has been marked as deleted.
Reviewers: arphaman, jbcoe
Reviewed By: jbcoe
Subscribers: cfe-commits
Tags: #clang
Patch by jklaehn (Johann Klähn)
Differential Revision: https://reviews.llvm.org/D36973
llvm-svn: 315959
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Previously, `VisitAttributes` was not called for function and class templates and thus their attributes were not accessible using libclang.
Reviewers: bkramer, arphaman, rsmith, jbcoe
Reviewed By: jbcoe
Subscribers: cfe-commits
Tags: #clang
Patch by jklaehn (Johann Klähn)
Differential Revision: https://reviews.llvm.org/D36955
llvm-svn: 315958
|
| |
|
|
|
|
|
|
| |
UpdateNodeOperands() modifies the node in-place and using the return value isn’t strictly necessary. However, it does not necessarily modify the node, but may return a resultant node if it already exists in the DAG. See comments in UpdateNodeOperands(). In that case, the return value must be used to avoid such scenarios as an infinite loop (node is assumed to have been updated, so added back to the worklist, and re-processed; however, node hasn’t changed so it is once again passed to UpdateNodeOperands(), assumed modified, added back to worklist; cycle infinitely repeats).
Differential Revision: https://reviews.llvm.org/D38466
llvm-svn: 315957
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Record::getValueAsString returns a stringref to an interned
string (apparently had been changed since most of tablegen was
written). In this patch, I audited the usage of getValueAsString
to find places where we can trivially stop storing 'std::string' and instead
keep the stringref.
There was one instance where an unnecessary 'stringstream' was being used,
so that has been removed as well to unblock the stringref replacing string fix.
Differential Revision: https://reviews.llvm.org/D38979
llvm-svn: 315956
|
| |
|
|
| |
llvm-svn: 315955
|
| |
|
|
|
|
|
|
|
| |
Now that we have our own implementation of cvtres, we can add resource
files directly to the linkrepro.
Differential Revision: https://reviews.llvm.org/D38974
llvm-svn: 315954
|
| |
|
|
|
|
|
|
|
|
| |
This comes up when pre-processing standalone .s files containing
hash-prefixed comments. The pre-processor should skip the unknown
directive and not emit an extra newline as we were doing.
Fixes PR34950
llvm-svn: 315953
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We add /usr/local/include to the include directory list for some BSD
systems. We should mark this as a system directory to avoid files from
/usr/local/include getting picked over files shipping with llvm.
This typically manifested as gtest headers installed with the system
getting picked over the ones shipping with llvm.
Patch by Petr Penzin <penzin.dev@gmail.com>
Differential Revision: https://reviews.llvm.org/D37415
llvm-svn: 315952
|
| |
|
|
|
|
|
|
|
|
|
| |
GCC ignore qualifiers on array types. Since we seem to have this
function primarily for GCC compatibility, we should try to match that
behavior.
This also adds a few more test-cases __builtin_types_compatible_p,
which were inspired by GCC's documentation on the builtin.
llvm-svn: 315951
|
| |
|
|
|
|
|
|
| |
Typically we don't use the stringstream, so instead use
raw_string_stream. Additionally, the dependent function
changed to use raw_ostream.
llvm-svn: 315950
|
| |
|
|
|
|
|
|
|
|
|
| |
Without this, /linkrepro would create an invalid tar file.
No tests because this requires Windows and the linkrepro tests
require not-Windows.
Differential Revision: https://reviews.llvm.org/D38973
llvm-svn: 315948
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for COPY
This reverts commit r315823, thus re-applying r315781.
Also make sure we don't use G_BITCAST mapping for non-generic registers.
Non-generic registers don't have a type but do have a reg bank.
Something the COPY mapping now how to deal with but the G_BITCAST
mapping don't.
-- Original Commit Message --
We use to resort on the generic implementation to get the mappings for
COPYs. The generic implementation resorts on table lookup and
dynamically allocated objects to get the valid mappings.
Given we already know how to map G_BITCAST and have the static mappings
for them, use that code path for COPY as well. This is much more
efficient.
Improve the compile time of RegBankSelect by up to 20%.
Note: When we eventually generate all the mappings via TableGen, we
wouldn't have to do that dance to shave compile time. The intent of this
change was to make sure that moving to static structure really pays off.
NFC.
llvm-svn: 315947
|
| |
|
|
|
|
| |
Anything bigger than 64-bit just map to FPR.
llvm-svn: 315946
|
| |
|
|
|
|
|
| |
We used to mark all G_BITCAST of 128-bit legal but only for vector
types. Scalars of this size are just fine as well.
llvm-svn: 315945
|
| |
|
|
|
|
|
|
|
| |
This patch adds a new kind of metadata that indicates the possible callees of
indirect calls.
Differential Revision: https://reviews.llvm.org/D37354
llvm-svn: 315944
|
| |
|
|
|
|
|
|
|
|
| |
This will prevent doubling of line endings when parsing assembly and
emitting assembly.
Otherwise we'd parse the directive, consume the end of statement, hit
the next end of statement, and emit a fresh newline.
llvm-svn: 315943
|
| |
|
|
| |
llvm-svn: 315942
|
| |
|
|
|
|
| |
usage. NFCI
llvm-svn: 315941
|
| |
|
|
|
|
| |
warnings; other minor fixes (NFC).
llvm-svn: 315940
|
| |
|
|
| |
llvm-svn: 315939
|
| |
|
|
| |
llvm-svn: 315938
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Code is already in compiler-rt
Reviewers: kcc
Subscribers: krytarowski, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D38912
llvm-svn: 315937
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(OpenCL example):
static __global int Var = 0;
__global int* Ptr[] = {&Var};
...
In this case Var is a non premptable symbol and so its address can be used as the value of Ptr, with a base relative relocation that will add the delta between the ELF address and the actual load address. Such relocations do not require a symbol.
This also fixes LLD which was incorrectly generating a PCREL64 for this case.
Differential Revision: https://reviews.llvm.org/D38910
llvm-svn: 315936
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(OpenCL example):
static __global int Var = 0;
__global int* Ptr[] = {&Var};
...
In this case Var is a non premptable symbol and so its address can be used as the value of Ptr, with a base relative relocation that will add the delta between the ELF address and the actual load address. Such relocations do not require a symbol.
Differential Revision: https://reviews.llvm.org/D38909
llvm-svn: 315935
|
| |
|
|
|
|
|
|
|
| |
This documentation was copied directly from the GCC
documentaiton in r257867. Reverting and alterting
the original author so that it can be rewritten in
copyright-safe language.
llvm-svn: 315934
|
| |
|
|
|
|
| |
(according to the contract)
llvm-svn: 315933
|
| |
|
|
|
|
| |
instantiates addPredicate out of line
llvm-svn: 315932
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attributes in the docs were previously sorted (apparently)
by the attribute name, so AnyX86Interrupt ended up being the
first one, rather than in a meaningful place. This resulted in the
4 'interrupt' titled sections being all in different places.
This replaces it with a naive alphabetical sort (case sensitive, underscore
and special characters first, etc).
Differential Revision: https://reviews.llvm.org/D38969
llvm-svn: 315931
|
| |
|
|
|
|
|
| |
MSVC doesn't seem to like implicitly instantiating addPredicate and then
explicitly specializing it later. It causes an internal compiler error.
llvm-svn: 315930
|
| |
|
|
|
|
|
| |
All 4 of the 'interrupt' headers were automatically named
'interrupt'. This patch gives them unique names.
llvm-svn: 315929
|
| |
|
|
| |
llvm-svn: 315927
|
| |
|
|
|
|
|
|
| |
It causes MSVC 2015 to emit "C4307: '-': integral constant overflow" warning
Differential Revision: https://reviews.llvm.org/D38955
llvm-svn: 315926
|
| |
|
|
|
|
| |
Recommit r315763 with a fix.
llvm-svn: 315925
|
| |
|
|
|
|
|
|
|
| |
This commit allows the refactoring library to use its own set of
refactoring-specific diagnostics to reports things like initiation errors.
Differential Revision: https://reviews.llvm.org/D38772
llvm-svn: 315924
|
| |
|
|
|
|
| |
As suggested by David Blaikie!
llvm-svn: 315923
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: vitalybuka, pcc
Subscribers: llvm-commits, srhines
Differential Revision: https://reviews.llvm.org/D38911
llvm-svn: 315922
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The OS provides cross-dso CFI support starting with Android O.
Trapping mode does not require any runtime at all, and diagnostic mode
requires just ubsan-standalone.
Reviewers: pcc
Subscribers: srhines, cfe-commits
Differential Revision: https://reviews.llvm.org/D38908
llvm-svn: 315921
|