| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Add parsing/sema analysis for 'simdlen' clause in simd directives. Also add check that if both 'safelen' and 'simdlen' clauses are specified, the value of 'simdlen' parameter is less than the value of 'safelen' parameter.
llvm-svn: 245692
|
| |
|
|
|
|
|
|
|
|
|
|
| |
While working around a bug in certain standard library implementations,
we would try to diagnose the issue so that library implementors would
fix their code. However, we assumed an entity being initialized was
a non-static data member subobject when other circumstances are
possible.
This fixes PR24526.
llvm-svn: 245675
|
| |
|
|
|
|
| |
According to standard the 'uval' modifier declares the address of the original list item to have an invariant value for all iterations of the associated loop(s). Patch improves codegen for this qualifier by removing usage of the original reference variable and replacing by referenced l-value.
llvm-svn: 245674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For some reason, clang had been treating a command like:
clang -static -fPIC foo.c
as if it should be compiled without the PIC relocation model.
This was incorrect: -static should be affecting only the linking
model, and -fPIC only the compilation.
This new behavior also matches GCC.
This is a follow-up from a review comment on r245447.
Differential Revision: http://reviews.llvm.org/D12208
llvm-svn: 245667
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that -Winfinite-recursion no longer uses recursive calls to before path
analysis, several bits of the code can be improved. The main changes:
1) Early return when finding a path to the exit block without a recursive call
2) Moving the states vector into checkForRecursiveFunctionCall instead of
passing it in by reference
3) Change checkForRecursiveFunctionCall to return a bool when the warning
should be emitted.
4) Use the State vector instead of storing it in the Stack vector.
llvm-svn: 245666
|
| |
|
|
|
|
|
| |
non-visible definition, skip the new definition to avoid ending up with a
function with multiple definitions.
llvm-svn: 245664
|
| |
|
|
|
|
|
|
| |
errors in Objective-C.
Differential Revision: http://reviews.llvm.org/D11427
llvm-svn: 245646
|
| |
|
|
|
|
| |
it as they are already set correctly by X86_64TargetInfo and X86TargetInfo.
llvm-svn: 245620
|
| |
|
|
|
|
|
|
| |
That change is causing strange test failures on Fedora 22 (PR24503),
and it does not have any effect with Gold linker anyway (PR15823,
https://sourceware.org/bugzilla/show_bug.cgi?id=18859).
llvm-svn: 245619
|
| |
|
|
| |
llvm-svn: 245618
|
| |
|
|
|
|
| |
delayed template parse of its body.
llvm-svn: 245616
|
| |
|
|
| |
llvm-svn: 245609
|
| |
|
|
|
|
|
|
|
|
| |
This lets us optimize them better. We agreed to remove the intrinsics,
instead of combining them later, as, at -O0, we generate the expected
instructions. Plus, it's a nice cleanup.
Differential Revision: http://reviews.llvm.org/D10556
llvm-svn: 245605
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D12201
llvm-svn: 245595
|
| |
|
|
|
|
| |
It's breaking internal test.
llvm-svn: 245592
|
| |
|
|
| |
llvm-svn: 245562
|
| |
|
|
|
|
|
|
| |
The problem is that the arguments are of TheCall are reset later
to the ones in Args, making TypoExpr put back. Some TypoExpr that have
already been diagnosed and will assert later in Sema::getTypoExprState
llvm-svn: 245560
|
| |
|
|
|
|
| |
Standard allows to use 'uval' and 'ref' modifiers in 'linear' clause for variables with reference types only. Added check for it and modified test.
llvm-svn: 245556
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenMP 4.1 adds 3 optional modifiers to 'linear' clause.
Format of 'linear' clause has changed to:
```
linear(linear-list[ : linear-step])
```
where linear-list is one of the following
```
list
modifier(list)
```
where modifier is one of the following:
```
ref (C++)
val (C/C++)
uval (C++)
```
Patch adds parsing and sema analysis for these modifiers.
llvm-svn: 245550
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
alignment is ignored, and they always allocate a complete
storage unit.
Also, change the dumping of AST record layouts: use the more
readable C++-style dumping even in C, include bitfield offset
information in the dump, and don't print sizeof/alignof
information for fields of record type, since we don't do so
for bases or other kinds of field.
rdar://22275433
llvm-svn: 245514
|
| |
|
|
|
|
|
| |
Remove the assumption of a Boolean type by checking if an expression is known
to have a boolean value. Disable warning in two other tests.
llvm-svn: 245507
|
| |
|
|
|
|
| |
specifications.
llvm-svn: 245501
|
| |
|
|
|
|
| |
need to be emitted. (Also reduces the set of variables that need to be eagerly deserialized when using PCH / modules.)
llvm-svn: 245497
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D12122
llvm-svn: 245496
|
| |
|
|
|
|
|
|
| |
Bugfix revealed in r245264.
http://reviews.llvm.org/D12128
llvm-svn: 245489
|
| |
|
|
|
|
|
| |
See
https://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/i386-and-x86-64-Options.html
llvm-svn: 245459
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doing assembly-only, and unify the Driver's PIC argument parsing.
On a few architectures, parsing of assembly files annoyingly depends
on whether PIC is enabled or not. This was handled for external 'as'
already (passing -KPIC), but was missed for calls to the standalone
internal assembler.
The integrated-as.s test needed to be modified to not expect
-fsanitize=address to be unused, as now fsanitize *IS* used for
assembly, since -fsanitize=memory can sometimes imply -fPIE, which the
assembler needs to know (gack!!).
Differential Revision: http://reviews.llvm.org/D11845
llvm-svn: 245447
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
"generic" cpu was wrongly handled as exact real CPU name of ARMv8.1A architecture.
This has been fixed, now it is abstract name, suitable for any arch.
Reviewers: rengolin
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11640
llvm-svn: 245445
|
| |
|
|
|
|
|
| |
Adds libomp.lib for -fopenmp=libomp and libiomp5md.lib for -fopenmp=libiomp5 on Windows
Differential Revision: http://reviews.llvm.org/D11932
llvm-svn: 245414
|
| |
|
|
|
|
| |
ignores ImportDecls imported from modules, so only eagerly deserialize the ones from a PCH / preamble.
llvm-svn: 245406
|
| |
|
|
|
|
| |
with the current behavior as the name seems to match what's going on.
llvm-svn: 245405
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This has been disabled for a long time, but:
1) Initializers work (and apparently they're re reason why this was disabled).
2) various tests happen to hit this code path and the invariant seems to be
always verified.
Differential Revision: http://reviews.llvm.org/D12110
Reviewed by: rsmith
llvm-svn: 245404
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__builtin_object_size would return incorrect answers for many uses where
type=3. This fixes the inaccuracy by making us emit 0 instead of LLVM's
objectsize intrinsic.
Additionally, there are many cases where we would emit suboptimal (but
correct) answers, such as when arrays are involved. This patch fixes
some of these cases (please see new tests in test/CodeGen/object-size.c
for specifics on which cases are improved)
Resubmit of r245323 with PR24493 fixed.
Patch mostly by Richard Smith.
Differential Revision: http://reviews.llvm.org/D12000
This fixes PR15212.
llvm-svn: 245403
|
| |
|
|
|
|
|
|
|
| |
user-defined dtor
Maybe this and the NumDeclsFound member should just be a std::vector
instead. (it could be a std::dynarray, but that missed standardization)
llvm-svn: 245392
|
| |
|
|
|
|
| |
modules for a header, not just the current favourite.
llvm-svn: 245390
|
| |
|
|
|
|
| |
polymorphically
llvm-svn: 245378
|
| |
|
|
| |
llvm-svn: 245368
|
| |
|
|
|
|
| |
move constructed in ConditionalCleanup::restore
llvm-svn: 245367
|
| |
|
|
|
|
| |
intended.
llvm-svn: 245361
|
| |
|
|
|
|
|
| |
ASTContext. Fixes some cases where we could previously initialize the AST
consumer more than once.
llvm-svn: 245346
|
| |
|
|
|
|
|
| |
This is needed to prevent breakage of -Wl,-as-needed link when
interceptors for functions in libutil are added. See PR15823.
llvm-svn: 245344
|
| |
|
|
| |
llvm-svn: 245342
|
| |
|
|
|
|
| |
inline keyword can also be specified on a FunctionDecl, this is a polymorphic matcher.
llvm-svn: 245337
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__builtin_object_size would return incorrect answers for many uses where
type=3. This fixes the inaccuracy by making us emit 0 instead of LLVM's
objectsize intrinsic.
Additionally, there are many cases where we would emit suboptimal (but
correct) answers, such as when arrays are involved. This patch fixes
some of these cases (please see new tests in test/CodeGen/object-size.c
for specifics on which cases are improved)
Patch mostly by Richard Smith.
Differential Revision: http://reviews.llvm.org/D12000
This fixes PR15212.
llvm-svn: 245323
|
| |
|
|
| |
llvm-svn: 245271
|
| |
|
|
|
|
| |
OpenMP 4.1 allows to use variables with reference types in all private clauses (private, firstprivate, lastprivate, linear etc.). Patch allows to use such variables and fixes codegen for linear variables with reference types.
llvm-svn: 245268
|
| |
|
|
|
|
|
|
|
|
|
| |
Bootstrap bots were failing:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/6382/
http://bb.pgr.jp/builders/clang-3stage-i686-linux/builds/2969
This reverts r245264.
llvm-svn: 245267
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479.
http://reviews.llvm.org/D11859
llvm-svn: 245264
|
| |
|
|
|
|
| |
It caused PR24479
llvm-svn: 245260
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
http://reviews.llvm.org/D11859
llvm-svn: 245257
|