| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This is matching what trunk gcc is accepting. Also adds a missing ssse3
case. PR27779. The amount of duplication here is annoying, maybe it
should be factored into a separate .def file?
llvm-svn: 270224
|
| |
|
|
| |
llvm-svn: 270216
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change automatically sorts ES6 imports and exports into four groups:
absolute imports, parent imports, relative imports, and then exports. Exports
are sorted in the same order, but not grouped further.
To keep JS import sorting out of Format.cpp, this required extracting the
TokenAnalyzer infrastructure to separate header and implementation files.
Reviewers: djasper
Subscribers: cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D20198
llvm-svn: 270203
|
| |
|
|
|
|
|
|
| |
Otherwise, clang-format can get confused with statements like:
x.for = 1;
llvm-svn: 270188
|
| |
|
|
|
|
| |
Add a const_cast rather than the C-style cast. NFC.
llvm-svn: 270180
|
| |
|
|
| |
llvm-svn: 270170
|
| |
|
|
|
|
| |
appropriate changes.
llvm-svn: 270169
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The lexer sets the end location of macro arguments incorrectly *if*,
while merging consecutive args to fit into a single SLocEntry, it finds
args which come from different macro files.
Fix the issue by using separate SLocEntries in this situation.
This fixes a code coverage crasher (rdar://problem/26181005). Because
the lexer reported end locations for certain macro args incorrectly, we
would generate bogus coverage mappings with negative line offsets.
Reviewed-by: akyrtzi
Differential Revision: http://reviews.llvm.org/D20401
llvm-svn: 270160
|
| |
|
|
|
|
|
|
|
|
| |
returning a concrete value.
The function strcmp() can return any value, not just {-1,0,1} : "The strcmp(const char *s1, const char *s2) function returns an integer greater than, equal to, or less than zero, accordingly as the string pointed to by s1 is greater than, equal to, or less than the string pointed to by s2." [C11 7.24.4.2p3]
https://llvm.org/bugs/show_bug.cgi?id=23790
http://reviews.llvm.org/D16317
llvm-svn: 270154
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously it was implemented as inline asm in the CUDA headers.
This change allows us to use the [addr+imm] addressing mode when
executing ld.global.nc instructions. This translates into a 1.3x
speedup on some benchmarks that call this instruction from within an
unrolled loop.
Reviewers: tra, rsmith
Subscribers: jhen, cfe-commits, jholewinski
Differential Revision: http://reviews.llvm.org/D19990
llvm-svn: 270150
|
| |
|
|
| |
llvm-svn: 270144
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to Cuda Programming guide (v7.5, E2.3.1):
> __device__, __constant__ and __shared__ variables defined in namespace
> scope, that are of class type, cannot have a non-empty constructor or a
> non-empty destructor.
Clang already deals with device-side constructors (see D15305).
This patch enforces similar rules for destructors.
Differential Revision: http://reviews.llvm.org/D20140
llvm-svn: 270108
|
| |
|
|
|
|
|
|
|
| |
This matches default nvcc behavior and gives substantial
performance boost on GPU where fmad is much cheaper compared to add+mul.
Differential Revision: http://reviews.llvm.org/D20341
llvm-svn: 270094
|
| |
|
|
|
|
|
| |
We didn't skip over extern "C++" contexts, causing us to mangle things
which don't need to be mangled.
llvm-svn: 270089
|
| |
|
|
|
|
|
|
| |
Addresses static analysis report in PR15492.
Differential Revision: http://reviews.llvm.org/D20141
llvm-svn: 270086
|
| |
|
|
|
|
|
|
| |
LLVM accepts them since r233575.
Differential Revision: http://reviews.llvm.org/D20405
llvm-svn: 270084
|
| |
|
|
|
|
|
|
| |
All additional include directories are relative to the toolchain install
folder. So let's do not pass this folder to each callback to simplify
and slightly reduce the code.
llvm-svn: 270069
|
| |
|
|
|
|
|
| |
No one callback uses target triple so we can escape passing the unused
argument.
llvm-svn: 270068
|
| |
|
|
|
|
|
|
| |
CodeSourcery toolchain is a standalone toolchain which always uses
the same triple name in its paths. It is independent from target
triple used by the driver.
llvm-svn: 270067
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20160
llvm-svn: 270047
|
| |
|
|
|
|
|
| |
This probably isn't perfectly perfect but allows correcting function calls
again.
llvm-svn: 270039
|
| |
|
|
|
|
|
|
|
|
| |
Before:
const[a, b, c] = [1, 2, 3];
After:
const [a, b, c] = [1, 2, 3];
llvm-svn: 270029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
#define MACRO(a) \
if (a) { \
f(); \
} else \
g()
After:
#define MACRO(a) \
if (a) { \
f(); \
} else \
g()
llvm-svn: 270028
|
| |
|
|
|
|
|
|
|
|
| |
Before:
case a... b: break;
After:
case a ... b: break;
llvm-svn: 270027
|
| |
|
|
|
|
| |
Sync up with "(llvm) Use Error in InstrProf and Coverage".
llvm-svn: 270021
|
| |
|
|
|
|
|
|
|
|
|
|
| |
deduction of template parameters from base
This reversal is being done with r267453's author's (i.e. Richard Smith's) permission.
This fixes https://llvm.org/bugs/show_bug.cgi?id=27601
Also, per Richard's request the examples from the bug report have been added to our test suite.
llvm-svn: 270016
|
| |
|
|
|
|
|
|
|
|
| |
an identifier table lookup, *and* copy the LangOptions (including various
std::vector<std::string>s). Twice. We call this function once each time we start
parsing a declaration specifier sequence, and once for each call to Sema::Diag.
This reduces the compile time for a sample .c file from the linux kernel by 20%.
llvm-svn: 270009
|
| |
|
|
| |
llvm-svn: 270006
|
| |
|
|
| |
llvm-svn: 269989
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
instance method.
When diagnosing unimplemented class property, make sure we emit
a warning when we only see an instance method with the right selector.
Also warn when we only see a class method for an instance property.
rdar://26141719
llvm-svn: 269968
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
-fembed-bitcode was only checking for old style LTO flag (-flto) but not
considering the new -flto= style option. That makes clang output bitcode
embedded in bitcode object when using -flto= and -fembed-bitcode= together.
Now clang should output normal bitcode file when using LTO and ignores
-fembed-bitcode option.
Reviewers: joker.eph
Subscribers: joker.eph, cfe-commits
Differential Revision: http://reviews.llvm.org/D20374
llvm-svn: 269961
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20101
llvm-svn: 269939
|
| |
|
|
|
|
|
|
|
|
|
|
| |
definition of a function that is declared as =default in its class definition.
First part of PR27699.
Patch by Cristina Cristescu!
Reviewed by Richard Smith and me.
llvm-svn: 269935
|
| |
|
|
|
|
| |
Clang follow-up to r269933.
llvm-svn: 269934
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: [clang-format] Make formatReplacements() also sort #includes.
Reviewers: bkramer, djasper
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D20362
llvm-svn: 269924
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: alexfh, aaron.ballman
Subscribers: aaron.ballman, klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D20360
llvm-svn: 269916
|
| |
|
|
|
|
|
|
|
| |
MIPS32 Android defaults to FPXX ("-fpxx").
MIPS32R6 Android defaults to FP64A ("-mfp64 -mno-odd-spreg").
Differential Revision: http://reviews.llvm.org/D20345
llvm-svn: 269914
|
| |
|
|
| |
llvm-svn: 269910
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
MONITORX/MWAITX instructions provide similar capability to the MONITOR/MWAIT
pair while adding a timer function, such that another termination of the MWAITX
instruction occurs when the timer expires. The presence of the MONITORX and
MWAITX instructions is indicated by CPUID 8000_0001, ECX, bit 29.
The MONITORX and MWAITX instructions are intercepted by the same bits that
intercept MONITOR and MWAIT. MONITORX instruction establishes a range to be
monitored. MWAITX instruction causes the processor to stop instruction
execution and enter an implementation-dependent optimized state until
occurrence of a class of events.
Opcode of MONITORX instruction is "0F 01 FA". Opcode of MWAITX instruction is
"0F 01 FB". These opcode information is used in adding tests for the
disassembler.
These instructions are enabled for AMD's bdver4 architecture.
Patch by Ganesh Gopalasubramanian!
Reviewers: echristo, craig.topper
Subscribers: RKSimon, joker.eph, llvm-commits, cfe-commits
Differential Revision: http://reviews.llvm.org/D19796
llvm-svn: 269907
|
| |
|
|
|
|
|
|
|
| |
/Gr), by Alexander Makarov
Patch for bug #27711
Differential Revision: http://reviews.llvm.org/D20171
llvm-svn: 269891
|
| |
|
|
| |
llvm-svn: 269889
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
colon in constructor initializer.
Summary: Make clang-format cleaner remove redundant commas/colons in constructor initializer list.
Reviewers: klimek, djasper
Subscribers: cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D19804
llvm-svn: 269888
|
| |
|
|
| |
llvm-svn: 269880
|
| |
|
|
|
|
|
|
| |
builtin_shufflevector form that it doesn't support. Remove CodeGen support for the same form since it could never have been used due to the missing support in Sema.
I couldn't find any documentation that this form existed either. Nor is there documentation for one of the remaining two forms, but there is a testcase that uses it.
llvm-svn: 269879
|
| |
|
|
|
|
| |
This time allow -128 to 255 for builtins that use a char type immediate."
llvm-svn: 269878
|
| |
|
|
|
|
| |
on a declaration that already knows the location of the DefinitionData object.
llvm-svn: 269858
|
| |
|
|
|
|
|
|
|
|
|
|
| |
As The default CMAKE install prefix is /usr/local ( https://cmake.org/cmake/help/v3.0/variable/CMAKE_INSTALL_PREFIX.html ),
sudo ninja install ends up installing clang, LLVM and libcxx under /usr/local.
In development scenario, when clang is run from the build location it will not
find libcxx at neither (build location)/../include/c++ nor /usr/include/c++.
This patch lets development clang find system installed libcxx without adding
-isystem /usr/local/include/c++. Also addresses the FIXME by explaining the
use-case for these include paths.
llvm-svn: 269801
|
| |
|
|
| |
llvm-svn: 269794
|
| |
|
|
|
|
|
|
| |
When remapped files were changed, they would not always cause the preamble's PCH to be invalidated, because the remapped path didn't necessarily match the include path (e.g. slash direction -- this happens a lot on Windows). I fixed this by moving to a llvm::sys::fs::UniqueID-based map instead of comparing paths stringwise.
Differential Revision: http://reviews.llvm.org/D20137
llvm-svn: 269769
|
| |
|
|
|
|
| |
This reverts commit r269619.
llvm-svn: 269765
|