| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 237707
|
| |
|
|
|
|
|
| |
Explain the relation of the example to the variables in the code,
explain what bad behaviour the code avoids in this case.
llvm-svn: 237706
|
| |
|
|
| |
llvm-svn: 237705
|
| |
|
|
|
|
|
|
|
| |
"void (*my_function)(void)" should become "void (*my_function) (void)" when
SpaceBeforeParens is set to 'Always'
Differential Revision: http://reviews.llvm.org/D9835
llvm-svn: 237704
|
| |
|
|
|
|
|
|
| |
through clang-format.
Differential Revision: http://reviews.llvm.org/D9774
llvm-svn: 237703
|
| |
|
|
|
|
|
|
|
|
| |
InstructionCombiningPass was added after LoopUnrollPass in r237395. Because
InstructionCombiningPass is strictly more powerful than InstructionSimplifierPass,
remove the unnecessary InstructionSimplifierPass.
Differential Revision: http://reviews.llvm.org/D9838
llvm-svn: 237702
|
| |
|
|
|
|
|
|
| |
cheaper to clone them after statepoint than to emit proper relocates for them. This change implements this logic. There is alredy similar optimization in CodeGenPrepare, but doing so during RewriteStatepointsForGC allows to capture more opprtunities such as relocates in loops and longer instruction chains.
Differential Revision: http://reviews.llvm.org/D9774
llvm-svn: 237701
|
| |
|
|
| |
llvm-svn: 237700
|
| |
|
|
|
|
| |
operator&
llvm-svn: 237699
|
| |
|
|
|
|
| |
_mm_broadcastsd_pd is basically an alias for _mm_movedup_pd, however the alias is only available from AVX2 forward.
llvm-svn: 237698
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8800
llvm-svn: 237697
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8772
llvm-svn: 237696
|
| |
|
|
| |
llvm-svn: 237695
|
| |
|
|
| |
llvm-svn: 237694
|
| |
|
|
|
|
| |
These two intrinsics are alternative names for _mm256_slli_si256 and _mm256_srli_si256, respectively.
llvm-svn: 237693
|
| |
|
|
|
|
|
|
| |
type means something else under the MSYS shell.
Patch by Tzafrir Poupko!
llvm-svn: 237692
|
| |
|
|
|
|
| |
This modification generates proper copyin/initialization sequences for array variables/parameters. Before they were considered as pointers, not arrays.
llvm-svn: 237691
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
S << a *(10);
After:
S << a * (10);
This fixes llvm.org/PR16500.
llvm-svn: 237690
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The documentation writes vectors highest-index first whereas LLVM-IR writes
them lowest-index first. As a result, instructions defined in terms of
left_half() and right_half() had the halves reversed.
In addition to correcting them, they have been improved to allow shuffles
that use the same operand twice or in reverse order. For example, ilvev
used to accept masks of the form:
<0, n, 2, n+2, 4, n+4, ...>
but now accepts:
<0, 0, 2, 2, 4, 4, ...>
<n, n, n+2, n+2, n+4, n+4, ...>
<0, n, 2, n+2, 4, n+4, ...>
<n, 0, n+2, 2, n+4, 4, ...>
One further improvement is that splati.[bhwd] is now the preferred instruction
for splat-like operations. The other special shuffles are no longer used
for splats. This lead to the discovery that <0, 0, ...> would not cause
splati.[hwd] to be selected and this has also been fixed.
This fixes the enc-3des test from the test-suite on Mips64r6 with MSA.
Reviewers: vkalintiris
Reviewed By: vkalintiris
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D9660
llvm-svn: 237689
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
for (SmallVectorImpl<TemplateIdAnnotationn *>::iterator I =
Container.begin(),
E = Container.end();
I != E; ++I)
After:
for (SmallVectorImpl<TemplateIdAnnotationn *>::iterator
I = Container.begin(),
E = Container.end();
I != E; ++I)
This fixes llvm.org/PR23544.
llvm-svn: 237688
|
| |
|
|
| |
llvm-svn: 237687
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
#include_next < test.h >
After:
#include_next <test.h>
This fixes llvm.org/PR23500
llvm-svn: 237686
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8769
llvm-svn: 237685
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
ns::E f() { return (ns::E) - 1; }
After:
ns::E f() { return (ns::E)-1; }
This fixes llvm.org/PR23503.
llvm-svn: 237684
|
| |
|
|
|
|
| |
It does not like std::min(unsigned, uint32_t).
llvm-svn: 237683
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
4, except on Darwin.
This changes the ABI used on 32-bit x86 for passing vector arguments.
Historically, clang passes the first 4 vector arguments in-register, and additional vector arguments on the stack, regardless of platform. That is different from the behavior of gcc, icc, and msvc, all of which pass only the first 3 arguments in-register.
The 3-register convention is documented, unofficially, in Agner's calling convention guide, and, officially, in the recently released version 1.0 of the i386 psABI.
Darwin is kept as is because the OS X ABI Function Call Guide explicitly documents the current (4-register) behavior.
This fixes PR21510
Differential revision: http://reviews.llvm.org/D9644
llvm-svn: 237682
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
[call aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.
aaaaaaaa];
After:
[call aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa.aaaaaaaa
.aaaaaaaa];
This merely papers over the fact that we aren't parsing ObjC method calls
correctly. Also, the indentation is weird.
llvm-svn: 237681
|
| |
|
|
| |
llvm-svn: 237680
|
| |
|
|
| |
llvm-svn: 237679
|
| |
|
|
| |
llvm-svn: 237678
|
| |
|
|
| |
llvm-svn: 237677
|
| |
|
|
| |
llvm-svn: 237676
|
| |
|
|
|
|
|
|
|
|
| |
Without the --target flag, clang uses the mips64 triple which selects the n64 abi. We need to add --target=mips-linux-gnu, so that clang can select the correct abi for mips32r2.
Reviewers: dsanders, kcc, samsonov
Subscribers: llvm-commits, mohit.bhakkad, jaydeep
Differential Revision: http://reviews.llvm.org/D9249
llvm-svn: 237675
|
| |
|
|
|
|
| |
Currently runtime does not allow to support variably modified types for 'private' and 'firstprivate' clauses in 'task' directives.
llvm-svn: 237674
|
| |
|
|
| |
llvm-svn: 237673
|
| |
|
|
|
|
| |
Runtime does not allow to work with VLAs in copyprivate clause.
llvm-svn: 237672
|
| |
|
|
|
|
| |
Added proper analysis for types of function arguments.
llvm-svn: 237670
|
| |
|
|
| |
llvm-svn: 237669
|
| |
|
|
| |
llvm-svn: 237668
|
| |
|
|
|
|
|
| |
The ';' was introduced in 237642. With it in place, we get a large number of
warnings in -pedantic mode.
llvm-svn: 237667
|
| |
|
|
|
|
|
| |
The IRBuilder::CreateCall interface was changed in r237624 and now requires an
initializer list.
llvm-svn: 237666
|
| |
|
|
| |
llvm-svn: 237665
|
| |
|
|
| |
llvm-svn: 237664
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch does 2 main things:
1. Enable sized delete if the feature test macro `__cpp_sized_deallocation` is enabled.
2. Rework and cleanup all of the sized delete tests.
Test Plan:
The sized delete replacement tests are now split into 4 files:
1. sized_delete11.pass.cpp: Ensure overriding sized delete in C++11 has no effect.
2. sized_delete14.pass.cpp: Test overriding sized delete in C++14 and ensure it is called. This test fails on clang and GCC < 5.1.
3. size_delete_calls_unsized_delete_.pass.cpp: Test that the default sized delete calls unsized delete.
4. sized_delete_fsizeddeallocation.pass.cpp: Test overriding sized delete when -fsized-deallocation is passed. This test should pass on clang and GCC >= 5.1
I have also removed a lot of cruft from the old tests. They no longer replace the new handler and tests that it is called for bad allocations.
Reviewers: mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D9831
llvm-svn: 237662
|
| |
|
|
| |
llvm-svn: 237652
|
| |
|
|
|
|
|
|
|
|
|
| |
This cleans up the FoldConstantArithmetic code by factoring out the case
of two ConstantSDNodes into an own function. This avoids unnecessary
complexity for many callers who already have ConstantSDNode arguments.
This also avoids an intermeidate SmallVector datastructure and a loop
over that datastructure.
llvm-svn: 237651
|
| |
|
|
|
|
| |
Bug found with AFL fuzz.
llvm-svn: 237650
|
| |
|
|
| |
llvm-svn: 237649
|
| |
|
|
|
|
|
|
| |
VarDeclBitfields contained bits which are never present in parameters.
Split these out so that ParmVarDeclBitfields wouldn't grow past 32-bits
if another field was added.
llvm-svn: 237648
|
| |
|
|
|
|
| |
a class template into an imported but hidden definition.
llvm-svn: 237647
|