| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This re-lands commit r196876, which was reverted in r196879.
The tests have been fixed to pass on platforms with a stack alignment
larger than 4.
Update to clang side tests will land shortly.
llvm-svn: 196939
|
| |
|
|
|
|
| |
Some things I missed when this first went in.
llvm-svn: 196938
|
| |
|
|
|
|
|
|
|
|
| |
Warn if both result expressions of a ternary operator (? :) are the same.
Because only one of them will be executed, this warning will fire even if
the expressions have side effects.
Patch by Anders Rönnholm and Per Viberg!
llvm-svn: 196937
|
| |
|
|
|
|
| |
function. No functional change intended.
llvm-svn: 196936
|
| |
|
|
|
|
|
| |
attributed CF to ObjC type conversions.
// rdar://15499111
llvm-svn: 196935
|
| |
|
|
|
|
|
|
|
|
|
| |
Most users would be surprised if "isCOFF" and "isMachO" were simultaneously
true, unless they'd put the compiler in a box with a gun attached to a photon
detector.
This makes sure precisely one of the three formats is true for any triple and
simplifies some target logic based on that.
llvm-svn: 196934
|
| |
|
|
|
|
| |
of the file). Thanks to Xavier De Gaye for the patch
llvm-svn: 196933
|
| |
|
|
|
|
|
|
|
|
| |
The docstrings were describing an older interface that has been replaced with
functions.
Also describe the performance characteristics of FindProgramByName() and
ExecuteAndWait() explaining when it's best to avoid them.
llvm-svn: 196932
|
| |
|
|
|
|
| |
that they use float/double rather than the vector equivalents when appropriate.
llvm-svn: 196931
|
| |
|
|
|
|
| |
that they use float/double rather than the vector equivalents when appropriate.
llvm-svn: 196930
|
| |
|
|
| |
llvm-svn: 196929
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This still misses a few important features, so there's no mention of
this style in the help message, but a few style rules are implemented.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2371
llvm-svn: 196928
|
| |
|
|
|
|
| |
Specifically, reuse the ARM intrinsics when possible.
llvm-svn: 196927
|
| |
|
|
|
|
| |
Specifically, reuse the ARM intrinsics when possible.
llvm-svn: 196926
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
immediately after SSE scalar fp instructions like addss or mulss.
Added patterns to select SSE scalar fp arithmetic instructions from a scalar
fp operation followed by a blend.
For example, given the following code:
__m128 foo(__m128 A, __m128 B) {
A[0] += B[0];
return A;
}
previously we generated:
addss %xmm0, %xmm1
movss %xmm1, %xmm0
now we generate:
addss %xmm1, %xmm0
llvm-svn: 196925
|
| |
|
|
|
|
| |
Thanks to Sean Silva for the suggestion.
llvm-svn: 196924
|
| |
|
|
| |
llvm-svn: 196923
|
| |
|
|
| |
llvm-svn: 196922
|
| |
|
|
|
|
|
|
| |
Save S2(reg 18) only when we are calling floating point stubs that
have a return value of float or complex. Some more work to make this
better but this is the first step.
llvm-svn: 196921
|
| |
|
|
|
|
| |
Also add decorator for an issue that this uncovered: llvm.org/pr18200
llvm-svn: 196920
|
| |
|
|
| |
llvm-svn: 196919
|
| |
|
|
| |
llvm-svn: 196918
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for more filename extensions based on the list in the clang
plus JavaScript.
Also adds a -regex option so users can override defaults if they have unusual
file extensions or want to format everything in the diff.
Keeping with tradition the flag is modelled on Unix conventions, this time
matching the semantics of find(1).
llvm-svn: 196917
|
| |
|
|
|
|
| |
CMakeLists.txt.
llvm-svn: 196916
|
| |
|
|
| |
llvm-svn: 196915
|
| |
|
|
| |
llvm-svn: 196914
|
| |
|
|
| |
llvm-svn: 196913
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Defaulting to iOS 3.0 when LLVM has to guess the version is no longer a useful
option and can give surprising results (like tail calls being disabled).
5.0 seems like a reasonable compromise as a platform that's still interesting
to some people.
rdar://problem/15567348
llvm-svn: 196912
|
| |
|
|
|
|
| |
lto.exports really exports LLVM-C Disasm stuff.
llvm-svn: 196911
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: The result register of these instructions is also the first operand.
Reviewers: jacksprat, dsanders
Reviewed By: dsanders
Differential Revision: http://llvm-reviews.chandlerc.com/D2362
Differential Revision: http://llvm-reviews.chandlerc.com/D2363
llvm-svn: 196910
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Allow predefined styles to define different options for different
languages so that one can run:
clang-format -style=google file1.cpp file2.js
or use a single .clang-format file with "BasedOnStyle: Google" for both c++ and
JS files.
Added Google style for JavaScript with "BreakBeforeTernaryOperators" set to
false.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2364
llvm-svn: 196909
|
| |
|
|
| |
llvm-svn: 196908
|
| |
|
|
| |
llvm-svn: 196907
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One unusual feature of the z architecture is that the result of a
previous load can be reused indefinitely for subsequent loads, even if
a cache-coherent store to that location is performed by another CPU.
A special serializing instruction must be used if you want to force
a load to be reattempted.
Since volatile loads are not supposed to be omitted in this way,
we should insert a serializing instruction before each such load.
The same goes for atomic loads.
The patch implements this at the IR->DAG boundary, in a similar way
to atomic fences. It is a no-op for targets other than SystemZ.
llvm-svn: 196906
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One unusual feature of the z architecture is that the result of a
previous load can be reused indefinitely for subsequent loads, even if
a cache-coherent store to that location is performed by another CPU.
A special serializing instruction must be used if you want to force
a load to be reattempted.
Since volatile loads are not supposed to be omitted in this way,
we should insert a serializing instruction before each such load.
The same goes for atomic loads.
The patch implements this at the IR->DAG boundary, in a similar way
to atomic fences. It is a no-op for targets other than SystemZ.
llvm-svn: 196905
|
| |
|
|
| |
llvm-svn: 196904
|
| |
|
|
| |
llvm-svn: 196903
|
| |
|
|
|
|
| |
It depends on nothing described in LLVM_LINK_COMPONENTS.
llvm-svn: 196902
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The rule from the GNU style states:
"We find it easier to read a program when it has spaces before the open-parentheses and after the commas."
http://www.gnu.org/prep/standards/standards.html#index-spaces-before-open_002dparen
This patch makes clang-format adds an option to put spaces before almost all open parentheses, except the cases, where different behavior is dictated by the style rules or language syntax:
* preprocessor:
** function-like macro definitions can't have a space between the macro name and the parenthesis;
** `#if defined(...)` can have a space, but it seems, that it's more frequently used without a space in GCC, for example;
* never add spaces after unary operators;
* adding spaces between two opening parentheses is controlled with the `SpacesInParentheses` option;
* never add spaces between `[` and `(` (there's no option yet).
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D2326
llvm-svn: 196901
|
| |
|
|
|
|
| |
assumption that the left stack redzone is >= 32 bytes (PR18195)
llvm-svn: 196900
|
| |
|
|
| |
llvm-svn: 196898
|
| |
|
|
| |
llvm-svn: 196897
|
| |
|
|
| |
llvm-svn: 196896
|
| |
|
|
|
|
|
| |
Code to create COFF section header was scattered across many member functions
of SectionChunk. Consolidate it to a member function of SectionHeaderTableChunk.
llvm-svn: 196895
|
| |
|
|
| |
llvm-svn: 196894
|
| |
|
|
| |
llvm-svn: 196893
|
| |
|
|
|
|
|
|
|
| |
more than one such initializer in a union, make mem-initializers override
default initializers for other union members, handle anonymous unions with
anonymous struct members better. Fix a couple of semi-related bugs exposed by
the tests for same.
llvm-svn: 196892
|
| |
|
|
| |
llvm-svn: 196891
|
| |
|
|
|
|
| |
... because they are used only in the function for relocations.
llvm-svn: 196890
|
| |
|
|
|
|
| |
This is a small change to be strict. Just want get pattern safer.
llvm-svn: 196889
|