| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
These haven't been necessary since allowing
selecting SALU instructions in non-entry blocks
was enabled.
llvm-svn: 219956
|
|
|
|
|
|
|
|
|
|
|
|
| |
iterators.
There are a ton of places where it essentially wants ranges
rather than just iterators. This is just the first step that adds the
core slice range typedefs and uses them in a couple of places. I still
have to explicitly construct them because they've not been punched
throughout the entire set of code. More range-based cleanups incoming.
llvm-svn: 219955
|
|
|
|
|
|
| |
unevaluated contexts. Fixes PR18571.
llvm-svn: 219954
|
|
|
|
|
|
| |
This was resulting in invalid simplifications of sdiv
llvm-svn: 219953
|
|
|
|
| |
llvm-svn: 219952
|
|
|
|
|
|
| |
These days -std-compile-opts was just a silly alias for -O3.
llvm-svn: 219951
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently, call slot optimization requires that if the destination is an
argument, the argument has the sret attribute. This is to ensure that
the memory access won't trap. In addition to sret, we can also allow the
optimization to happen for arguments that have the new dereferenceable
attribute, which gives the same guarantee.
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5832
llvm-svn: 219950
|
|
|
|
|
|
|
|
| |
To deal with cycles in shared library dependencies, the darwin linker supports
marking specific link dependencies as "upward". An upward link is when a
lower level library links against a higher level library.
llvm-svn: 219949
|
|
|
|
|
|
|
|
|
|
| |
This patch creates the import address table and sets its
address to the delay-load import table. This also creates
wrapper functions for __delayLoadHelper2.
x86 only for now.
llvm-svn: 219948
|
|
|
|
| |
llvm-svn: 219947
|
|
|
|
| |
llvm-svn: 219946
|
|
|
|
| |
llvm-svn: 219945
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a square root call has an FP multiplication argument that can be reassociated,
then we can hoist a repeated factor out of the square root call and into a fabs().
In the simplest case, this:
y = sqrt(x * x);
becomes this:
y = fabs(x);
This patch relies on an earlier optimization in instcombine or reassociate to put the
multiplication tree into a canonical form, so we don't have to search over
every permutation of the multiplication tree.
Because there are no IR-level FastMathFlags for intrinsics (PR21290), we have to
use function-level attributes to do this optimization. This needs to be fixed
for both the intrinsics and in the backend.
Differential Revision: http://reviews.llvm.org/D5787
llvm-svn: 219944
|
|
|
|
|
|
| |
constant value in this case as well.
llvm-svn: 219943
|
|
|
|
| |
llvm-svn: 219942
|
|
|
|
| |
llvm-svn: 219941
|
|
|
|
| |
llvm-svn: 219940
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Fix code to follow the "Don’t use else after a return" rule.
This is a followup from rL219792.
Reviewers: alexfh
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D5826
llvm-svn: 219939
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(also, the code executed once the element was found was split half
inside the loop and half after it - now put it all together after the
find operation)
I'm a bit concerned that this code is rather untested (commenting out
this whole function and running check-clang doesn't fail any tests)...
And I wish I had polymorphic lambdas.
llvm-svn: 219938
|
|
|
|
|
|
|
|
| |
The final goal is to get rid of all the rest overloads that
accept LLVM objects (llvm::Function and llvm::GlobalVariable),
and pass in source-level entities instead.
llvm-svn: 219937
|
|
|
|
|
|
|
|
| |
was able to create itself before returning the shared
pointer to it.
clang warning.
llvm-svn: 219936
|
|
|
|
| |
llvm-svn: 219935
|
|
|
|
|
|
|
|
|
|
|
| |
When the constant divisor was larger than 32bits, then the optimized code
generated for the AArch64 backend would emit the wrong code, because the shift
was defined as a shift of a 32bit constant '(1<<Lg2(divisor))' and we would
loose the upper 32bits.
This fixes rdar://problem/18678801.
llvm-svn: 219934
|
|
|
|
| |
llvm-svn: 219933
|
|
|
|
|
|
| |
The test is a C++ semantic analysis test, move it to SemaCXX from Sema. NFC.
llvm-svn: 219932
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nodes.
Summary:
In order to support big endian targets for the BuildPairF64 nodes we
just need to swap the low/high pair registers. Additionally, for the
ExtractElementF64 nodes we have to calculate the correct stack offset
with respect to the node's register/operand that we want to extract.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5753
llvm-svn: 219931
|
|
|
|
| |
llvm-svn: 219929
|
|
|
|
|
|
| |
The ensures there is an explicit address space id in the output.
llvm-svn: 219928
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5751
llvm-svn: 219927
|
|
|
|
|
|
|
|
| |
* Make SmallVector size enough for all groups.
* Allow trailing period in the comment.
* Fix "// anonymous namespace qqq".
llvm-svn: 219926
|
|
|
|
| |
llvm-svn: 219925
|
|
|
|
| |
llvm-svn: 219924
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch allows modules to specify default options for the checks
defined in them. This way a sufficiently configurable check can be registered in
multiple modules with different default options. E.g. the SpacesBeforeComments
option may be set to 1 for the "llvm-namespace-comments" check and to 2 for the
"google-readability-namespace-comment" check without modifying or extending the
check code.
This patch also registers the google-readability-braces-around-statements check
with suitable defaults.
Reviewers: djasper
Reviewed By: djasper
Subscribers: curdeius, cfe-commits
Differential Revision: http://reviews.llvm.org/D5798
llvm-svn: 219923
|
|
|
|
| |
llvm-svn: 219922
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
SomeFunction(aaaaaaaaaaaaaaaaa,
// comment.
ccccccccccccccccc ? aaaaaaaaaaaaaaaaaaaa
: bbbbbbbbbbbbbbbbbbbb);
After:
SomeFunction(aaaaaaaaaaaaaaaaa,
// comment.
ccccccccccccccccc ? aaaaaaaaaaaaaaaaaaaa : bbbbbbbbbbbbbbbbbbbb);
llvm-svn: 219921
|
|
|
|
|
|
|
|
| |
dereferencing it, except for this one section of code. Add a null
check around it.
clang static analyzer fix.
llvm-svn: 219920
|
|
|
|
|
|
|
|
|
|
| |
Before:
return (a)[foo bar : baz];
After:
return (a)[foo bar:baz];
llvm-svn: 219919
|
|
|
|
|
|
| |
clang unreachable code warning.
llvm-svn: 219918
|
|
|
|
| |
llvm-svn: 219917
|
|
|
|
|
|
| |
clang unreachable code warning.
llvm-svn: 219916
|
|
|
|
| |
llvm-svn: 219915
|
|
|
|
| |
llvm-svn: 219914
|
|
|
|
| |
llvm-svn: 219913
|
|
|
|
| |
llvm-svn: 219912
|
|
|
|
| |
llvm-svn: 219911
|
|
|
|
|
|
|
| |
a number of warnings to be enabled. The one making the most noise
across the code base right now is CLANG_WARN_UNREACHABLE_CODE = YES.
llvm-svn: 219910
|
|
|
|
|
|
| |
clang static analyzer fixit.
llvm-svn: 219909
|
|
|
|
|
|
| |
clang static analyzer fixit.
llvm-svn: 219908
|
|
|
|
|
|
| |
clang static analyzer fixit.
llvm-svn: 219907
|
|
|
|
| |
llvm-svn: 219906
|