| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and related. NFC.
Summary:
This is the first patch in the series to migrate Triple's (which are ambiguous)
to TargetTuple's (which aren't).
For the moment, TargetTuple simply passes all requests to the Triple object it
holds. Once it has replaced Triple, it will start to implement the interface in
a more suitable way.
This change makes some changes to the public C++ API. In particular,
InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer()
now take TargetTuples instead of Triples. The other public C++ API's have
been left as-is for the moment to reduce patch size.
This commit also contains a trivial patch to clang to account for the C++ API
change. Thanks go to Pavel Labath for fixing LLDB for me.
Reviewers: rengolin
Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10969
llvm-svn: 247692
|
|
|
|
|
|
| |
LLDB needs to be updated in the same commit.
llvm-svn: 247686
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is the first patch in the series to migrate Triple's (which are ambiguous)
to TargetTuple's (which aren't).
For the moment, TargetTuple simply passes all requests to the Triple object it
holds. Once it has replaced Triple, it will start to implement the interface in
a more suitable way.
This change makes some changes to the public C++ API. In particular,
InitMCSubtargetInfo(), createMCRelocationInfo(), and createMCSymbolizer()
now take TargetTuples instead of Triples. The other public C++ API's have
been left as-is for the moment to reduce patch size.
This commit also contains a trivial patch to clang to account for the C++ API
change.
Reviewers: rengolin
Subscribers: jyknight, dschuff, arsenm, rampitec, danalbert, srhines, javed.absar, dsanders, echristo, emaste, jholewinski, tberghammer, ted, jfb, llvm-commits, rengolin
Differential Revision: http://reviews.llvm.org/D10969
llvm-svn: 247683
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if 'cancel' is found.
Patch improves codegen for OpenMP constructs. If the OpenMP region does not have internal 'cancel' construct, a call to 'void __kmpc_barrier()' runtime function is generated for all implicit/explicit barriers. If the region has inner 'cancel' directive, then
```
if (__kmpc_cancel_barrier())
exit from outer construct;
```
code is generated.
Also, the code for 'canellation point' directive is not generated if parent directive does not have 'cancel' directive.
llvm-svn: 247681
|
|
|
|
|
|
|
|
| |
http://reviews.llvm.org/D12855#246073.
NFC.
llvm-svn: 247678
|
|
|
|
|
|
|
|
| |
Patch by Pedro Ferreira.
Reviewers: pekka.jaaskelainen
Differential Revision: http://reviews.llvm.org/D12855
llvm-svn: 247676
|
|
|
|
| |
llvm-svn: 247668
|
|
|
|
|
|
|
|
| |
"opt -instnamer".
It reverts r231717.
llvm-svn: 247667
|
|
|
|
|
|
|
|
| |
r247657 fixed warnings about unused variables when compiling without asserts
but changed behavior. This commit restores the old behavior but still suppresses
the warnings.
llvm-svn: 247660
|
|
|
|
|
|
| |
This restores a diagnostic lost in r247651.
llvm-svn: 247659
|
|
|
|
| |
llvm-svn: 247657
|
|
|
|
| |
llvm-svn: 247655
|
|
|
|
|
|
|
| |
for an existing entity, and as such a using-declaration doesn't need to
conflict with a hidden entity (nor vice versa).
llvm-svn: 247654
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Objective-C, method calls with nil receivers are essentially no-ops. They
do not fault (although the returned value may be garbage depending on the
declared return type and architecture). Programmers are aware of this
behavior and will complain about a false alarm when the analyzer
diagnoses API violations for method calls when the receiver is known to
be nil.
Rather than require each individual checker to be aware of this behavior
and suppress a warning when the receiver is nil, this commit
changes ExprEngineObjC so that VisitObjCMessage skips calling checker
pre/post handlers when the receiver is definitely nil. Instead, it adds a
new event, ObjCMessageNil, that is only called in that case.
The CallAndMessageChecker explicitly cares about this case, so I've changed it
to add a callback for ObjCMessageNil and moved the logic in PreObjCMessage
that handles nil receivers to the new callback.
rdar://problem/18092611
Differential Revision: http://reviews.llvm.org/D12123
llvm-svn: 247653
|
|
|
|
|
|
|
|
| |
Overwide bool bitfields have eight bits of storage size, make sure we
take the padding into account when determining whether or not they are
problematic.
llvm-svn: 247651
|
|
|
|
| |
llvm-svn: 247650
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 and other bug caused in chrome.
After this patch got reverted because of ScalarEvolution bug (D12719)
Merged after John McCall big patch (Added Address).
http://reviews.llvm.org/D11859
http://reviews.llvm.org/D12865
llvm-svn: 247646
|
|
|
|
|
|
| |
Previously, in certain cases lax vector conversions could occur between scalar floating-point values and ExtVector types; these conversions would be simple bitcasts. We need to allow them with other vector types to support some common headers, but we don't need them for ExtVector. Preventing them here makes them behave like other operations involving scalars and ExtVectors.
llvm-svn: 247643
|
|
|
|
|
|
|
| |
explicit triple.
FIXME: Better way to cancel -mms-bitfields?
llvm-svn: 247640
|
|
|
|
|
|
|
|
|
|
|
| |
There is no __cxa_finalize symbol available on recent Solaris OS
versions, so we need this flag to make non trivial C++ programs run.
Also stop looking for cxa_finalize.o, since it won't be there.
Patch by Xan López!
llvm-svn: 247634
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebAssembly's spec has now been updated to specify some guarantees
about lock free atomic accesses. Update clang to match.
This also updates sig_atomic_t to be 64-bit on wasm64. WebAssembly
does not presently have asynchronous interrupts, but this change is
within the spirit of how they will work if they are added.
Differential Revision: http://reviews.llvm.org/D12862
llvm-svn: 247624
|
|
|
|
| |
llvm-svn: 247623
|
|
|
|
|
|
|
|
|
| |
This makes int_fast64_t and int_least64_t the same type as int64_t, and
eliminates a difference between wasm32 and wasm64.
Differential Revision: http://reviews.llvm.org/D12861
llvm-svn: 247622
|
|
|
|
|
|
|
|
|
|
| |
Revert "Update cxx-irgen.cpp test to allow signext in alwaysinline functions."
Revert "[CodeGen] Remove wrapper-free always_inline functions from COMDATs"
Revert "Always_inline codegen rewrite."
Reason for revert: PR24793.
llvm-svn: 247620
|
|
|
|
|
|
|
|
|
|
| |
MS compiler ignores calling convention modifiers for structors. This patch makes
clang do the same (for MS ABI). This fixes PR24595 and makes vswriter.h header
(from Windows SDK 8.1) compilable.
Differential Revision: http://reviews.llvm.org/D12402
llvm-svn: 247619
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Implement DR262 (for C). This patch will mainly affect bitfields of type _Bool
Reviewers: fraggamuffin, rsmith
Subscribers: hubert.reinterpretcast, cfe-commits
Differential Revision: http://reviews.llvm.org/D10018
llvm-svn: 247618
|
|
|
|
|
|
|
|
|
| |
Update the static analyzer buildbot script to set -isysroot to the OS X SDK path
when analyzing preprocessed files on OS X.
Differential Revision: http://reviews.llvm.org/D12769
llvm-svn: 247617
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D12858
llvm-svn: 247614
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D12848
llvm-svn: 247612
|
|
|
|
| |
llvm-svn: 247611
|
|
|
|
|
|
|
|
|
|
| |
This is actually needed, otherwise libc won't be added at all. For
instance when building libclang.so all the libc symbols won't be
found, with ld warning about libc being an "implicit dependency".
Patch by Xan López!
llvm-svn: 247603
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D12818
llvm-svn: 247598
|
|
|
|
|
|
|
|
|
| |
it escaped notice because it's only used for heterogeneous
initialization.
rdar://21397946
llvm-svn: 247597
|
|
|
|
| |
llvm-svn: 247595
|
|
|
|
|
|
|
|
|
|
| |
of uses of types already available elsewhere
These are a few cleanups I happened to have from trying to go in a
different direction recently, so just flushing them out while I have
them.
llvm-svn: 247593
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D12852
llvm-svn: 247590
|
|
|
|
|
|
|
|
|
|
| |
This was the wrong direction to take anyway (because ultimately the
GlobalValue needed the pointee type again and /it/ used
PointerType::getElementType eventually anyway)... let's go a different way.
This reverts commit r236161.
llvm-svn: 247586
|
|
|
|
|
|
| |
This was causing an error in Power8 targets.
llvm-svn: 247584
|
|
|
|
|
|
| |
Remove some trailing whitespace
llvm-svn: 247560
|
|
|
|
| |
llvm-svn: 247554
|
|
|
|
| |
llvm-svn: 247553
|
|
|
|
|
|
| |
Follow up to r247546. The test case reproduces the problem fixed by this commit.
llvm-svn: 247548
|
|
|
|
|
|
|
|
|
| |
T in the expression T() must be a non-array complete object type or
the void type. Function types are neither.
This fixes PR24798.
llvm-svn: 247535
|
|
|
|
| |
llvm-svn: 247533
|
|
|
|
|
|
|
|
| |
Propagation checker.
Differential Revision: http://reviews.llvm.org/D12381
llvm-svn: 247532
|
|
|
|
|
|
|
|
| |
Patch by beltex!
Differential Revision: http://reviews.llvm.org/D12684
llvm-svn: 247530
|
|
|
|
|
|
| |
(http://reviews.llvm.org/D12827).
llvm-svn: 247510
|
|
|
|
| |
llvm-svn: 247503
|
|
|
|
|
|
| |
always_inline functions without a wrapper don't need to be in a COMDAT.
llvm-svn: 247500
|
|
|
|
| |
llvm-svn: 247498
|