| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This patch is to implement sema and parsing for 'target parallel for simd' pragma.
Differential Revision: http://reviews.llvm.org/D22096
llvm-svn: 275365
|
|
|
|
|
|
|
|
|
|
| |
'if' and 'switch':
if (stmt; condition) { ... }
Patch by Anton Bikineev! Some minor formatting and comment tweets by me.
llvm-svn: 275350
|
|
|
|
|
|
|
|
|
|
|
| |
-fxray-instrument: enables XRay annotation of IR
-fxray-instruction-threshold: configures the threshold for function size (looking at IR instructions), and allow LLVM to decide whether to add the nop sleds later on in the process.
Also implements the related xray_always_instrument and xray_never_instrument function attributes.
Patch by Dean Michael Berris.
llvm-svn: 275330
|
|
|
|
|
|
|
|
| |
'is_device_ptr' of target
http://reviews.llvm.org/D22070
llvm-svn: 275282
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'target data'
http://reviews.llvm.org/D21904
This patch is similar to the implementation of 'private' clause: it adds a list of private pointers to be used within the target data region to store the device pointers returned by the runtime.
Please refer to the following document for a full description of what the runtime witll return in this case (page 10 and 11):
https://github.com/clang-omp/OffloadingDesign
I am happy to answer any question related to the runtime interface to help reviewing this patch.
llvm-svn: 275271
|
|
|
|
|
|
|
|
|
|
|
| |
Improved test with user define structure pipe type case.
Reviewers: Anastasia, pxli168
Subscribers: yaxunl, cfe-commits
Differential revision: http://reviews.llvm.org/D21744
llvm-svn: 275259
|
|
|
|
|
|
|
|
| |
Initialise more members in initializer lists. Invert the condition that had
grown to be pretty confusing. The `_objc_empty_vtable` is only used on macOS
<10.9. This simplifies the code. NFC.
llvm-svn: 275241
|
|
|
|
|
|
|
|
| |
We need to mark the appropriate bits in ThrowInfo and HandlerType so
that the personality routine can correctly handle qualification
conversions.
llvm-svn: 275154
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not assign source regions located within system headers file ID's,
and do not construct counter mapping regions out of them.
This makes coverage reports less cluttered and less mysterious. E.g
using the "assert" macro doesn't cause assert.h to appear in reports,
and it no longer shows the "assertion failed" branch as an uncovered
region.
It also makes coverage mapping sections a bit smaller (e.g a 1%
reduction in a stage2 build of bin/llvm-as).
llvm-svn: 275121
|
|
|
|
| |
llvm-svn: 275120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Nested if statements can generate empty BBs whose terminator branches
unconditionally to its successor. These branches are not eliminated
to help generate better line number information in some cases, but there
is no reason to keep the empty blocks that result from nested ifs.
Reviewers: mehdi_amini, dblaikie, echristo
Subscribers: mehdi_amini, cfe-commits
Differential review: http://reviews.llvm.org/D11360
llvm-svn: 275115
|
|
|
|
|
|
|
| |
Imported variables cannot really be definitions for the purposes of
IR generation.
llvm-svn: 275040
|
|
|
|
|
|
|
|
| |
Reviewers: tstellardAMD
Differential Revision: http://reviews.llvm.org/D20299
llvm-svn: 275030
|
|
|
|
|
|
| |
We were just setting DisableUnitAtATime to its default value.
llvm-svn: 275005
|
|
|
|
|
|
|
|
| |
Don't create unnecessary truncations if the result will not be used.
Also prefer preforming math before the truncation, it makes it a little
easier to reason about.
llvm-svn: 274984
|
|
|
|
|
|
|
|
|
| |
Place the structure data into `cfstring`. This both isolates the structures to
permit coalescing in the future (by the linker) as well as ensures that it
doesnt get marked as read-only data. The structures themselves are not
read-only, only the string contents.
llvm-svn: 274956
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add OCL option -cl-no-signed-zeros to driver options.
Also added to opencl.cl testcases.
Patch by Aaron En Ye Shi.
Differential Revision: http://reviews.llvm.org/D22067
llvm-svn: 274923
|
|
|
|
|
|
| |
llvm::VectorType and calling getNumElements. This is equivalent and shorter.
llvm-svn: 274823
|
|
|
|
|
|
| |
builtin handling. NFC
llvm-svn: 274821
|
|
|
|
|
|
| |
handling. Just get the type from the operand of the builtin instead. NFC
llvm-svn: 274820
|
|
|
|
|
|
|
|
|
| |
ArrayRef is a little better than passing around a pointer/length
pair.
No functional change is intended.
llvm-svn: 274732
|
|
|
|
|
|
|
|
|
|
| |
Reverting because it causes a test failure on build bots (Modules/ModuleDebugInfo.cpp). Failure does not reproduce locally.
svn revision: rL274698
This reverts commit 3c5ed6599b086720aab5b8bd6941149d066806a6.
llvm-svn: 274706
|
|
|
|
|
|
|
|
|
|
| |
This should work now that the LLVM-side of the change has landed successfully.
Original Differential Revision: http://reviews.llvm.org/D21705
This reverts commit a30322e861c387e1088f47065d0438c6bb019879.
llvm-svn: 274698
|
|
|
|
|
|
|
|
| |
For the purpose of emitting debug info, entities with private linkage
should be treated the same as internal linkage. While this doesn't
change anything in practice, it makes the code a little less confusing.
llvm-svn: 274677
|
|
|
|
|
|
| |
This reverts commit 0af5ee9631c7c167dc40498b415876553e314c95.
llvm-svn: 274633
|
|
|
|
|
|
|
|
| |
This includes nested types in the member list, even if there are no members of that type. Note that structs and classes have themselves as an "implicit struct" as the first member, so we skip implicit ones.
Differential Revision: http://reviews.llvm.org/D21705
llvm-svn: 274628
|
|
|
|
|
|
| |
makes them the same as what is done when using the SSE builtins for these same encodings.
llvm-svn: 274608
|
|
|
|
|
|
|
|
| |
Summary: This patch is an implementation of sema and parsing for the OpenMP composite pragma 'distribute simd'.
Differential Revision: http://reviews.llvm.org/D22007
llvm-svn: 274604
|
|
|
|
| |
llvm-svn: 274603
|
|
|
|
|
|
| |
Found using clang's code coverage tool.
llvm-svn: 274599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
s6.13.17.
- Added new Builtins: enqueue_kernel, get_kernel_work_group_size
and get_kernel_preferred_work_group_size_multiple.
These Builtins use custom check to diagnose parameters of the passed Blocks
i. e. variable number of 'local void*' type params, and check different
overloads specified in Table 6.31 of OpenCL v2.0.
- IR is generated as an internal library call for each OpenCL Builtin,
reusing ObjC Block implementation.
Review: http://reviews.llvm.org/D20249
llvm-svn: 274540
|
|
|
|
|
|
|
|
| |
Summary: This patch is an implementation of sema and parsing for the OpenMP composite pragma 'distribute parallel for simd'.
Differential Revision: http://reviews.llvm.org/D21977
llvm-svn: 274530
|
|
|
|
|
|
|
|
|
|
| |
Currently we only have OpenCL 2.0 Builtins i.e. pipes or address space conversions.
They have to be added only in the version 2.0 compilation mode to make the identifiers
available for use in the other versions.
Review: http://reviews.llvm.org/D20249
llvm-svn: 274509
|
|
|
|
|
|
| |
extension of the result of a v2i1 or v4i1 masked compare. This way we emit something that the backend easily interprets as a concatenation rather than a true shuffle. This delivers slightly better codegen with the current backend capabilities.
llvm-svn: 274484
|
|
|
|
| |
llvm-svn: 274433
|
|
|
|
|
|
|
|
| |
where possible.
No functionality change intended
llvm-svn: 274432
|
|
|
|
|
|
|
|
| |
member is redundantly redeclared outside the class definition in code built in
c++17 mode, ensure we emit a non-discardable definition of the data member for
c++11 and c++14 compilations to use.
llvm-svn: 274416
|
|
|
|
|
|
|
|
| |
The CodeView printer expects to be able to generate fully qualified
names from the debug info graph. This means that we need to include the
MSVC-style name in the debug info for anonymous types.
llvm-svn: 274401
|
|
|
|
|
|
|
|
|
| |
With all MaterializeTemporaryExprs coming with a ExprWithCleanups, it's
easy to add correct lifetime.end marks into the right RunCleanupsScope.
Differential Revision: http://reviews.llvm.org/D20499
llvm-svn: 274385
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is important for building libclc. Since r273039 tests are failing
due to now emitting calls to these functions instead of emitting the
DAG node. The libm function names are implemented for OpenCL, and should
call the locally defined versions, so -fno-builtin is used. The IR
Some functions use the __builtins and expect the intrinsics to be
emitted. Without this we end up with nobuiltin calls to intrinsics
or to unsupported library calls.
llvm-svn: 274370
|
|
|
|
| |
llvm-svn: 274326
|
|
|
|
| |
llvm-svn: 274278
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
external linkage.
Summary:
This lets LLVM perform IPO over these functions. In particular, it
allows LLVM to emit ld.global.nc for loads to __restrict pointers in
kernels that are never written to.
Reviewers: rsmith
Subscribers: cfe-commits, tra
Differential Revision: http://reviews.llvm.org/D21337
llvm-svn: 274261
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When -gmlt is on, we don't emit namespace or class scope information,
and the CodeView emission code in LLVM can't compute the fully qualified
name. If we know LLVM won't be able to get the name right, go ahead and
emit the qualified name in the frontend.
We could change our -gmlt emission strategy to include those scopes when
emitting codeview, but that would increase memory usage and slow down
LTO and add more complexity to debug info emission.
The same problem exists when you debug a -gmlt binary with GDB, so we
should consider removing '&& EmitCodeView' from the condition here at
some point in the future after evaluating the impact on object file
size.
llvm-svn: 274246
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Summary:
Change Clang calling convention SpirKernel to OpenCLKernel.
Set calling convention OpenCLKernel for amdgcn as well.
Add virtual method .getOpenCLKernelCallingConv() to TargetCodeGenInfo
and use it to set target calling convention for AMDGPU and SPIR.
Update tests.
Reviewers: rsmith, tstellarAMD, Anastasia, yaxunl
Subscribers: kzhuravl, cfe-commits
Differential Revision: http://reviews.llvm.org/D21367
llvm-svn: 274220
|
|
|
|
|
|
|
|
|
|
|
| |
Emit the underlying storage offset in addition to the starting bit
position of the field.
This fixes PR28162.
Differential Revision: http://reviews.llvm.org/D21783
llvm-svn: 274201
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiations"
Reverts r273305 and re-instates r273296.
We needed to fix a bug in Sema::MarkVTableUsed to ensure that operator
delete lookup occurs when the vtable is referenced. We already had a
special case to look up operator delete when dllimport was used, but I
think should really mark virtual destructors referenced any time the
vtable is used.
llvm-svn: 274147
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21746
llvm-svn: 274110
|
|
|
|
|
|
|
|
|
| |
This reverts commit 161ff9db3a3d0d62880d1cb18d58182cd3034912 (r273056).
This is breaking stage2 instrumented builds with "malformed coverage
data" errors.
llvm-svn: 274104
|
|
|
|
|
|
|
|
|
|
| |
For the new hotness attribute, the API will take the pass rather than
the pass name so we can no longer play the trick of AlwaysPrint being a
special pass name. This adds a getter to help the transition.
There is also a corresponding llvm patch.
llvm-svn: 274101
|