| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13671
llvm-svn: 252798
|
| |
|
|
| |
llvm-svn: 252770
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13671
llvm-svn: 252760
|
| |
|
|
| |
llvm-svn: 252705
|
| |
|
|
| |
llvm-svn: 252704
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds documentation on compiling CUDA with LLVM as requested by many
engineers and researchers. It includes not only user guides but also some
internals (mostly optimizations) so that early adopters can start hacking and
contributing.
Quite a few researchers who contacted us haven't used LLVM before, which is
unsurprising as it hasn't been long since LLVM picked up CUDA. So I added a
short summary to help these folks get started with LLVM.
I expect this document to evolve substantially down the road. The user guides
will be much simplified after the Clang integration is done. However, the
internals should continue growing to include for example performance debugging
and key areas to improve.
Reviewers: chandlerc, meheff, broune, tra
Subscribers: silvas, jingyue, llvm-commits, eliben
Differential Revision: http://reviews.llvm.org/D14370
llvm-svn: 252660
|
| |
|
|
|
|
|
|
| |
As per the very positive feedback from llvm-dev (http://lists.llvm.org/pipermail/llvm-dev/2015-November/092150.html), this commit officially deprecates the LLVM autoconf-based build system.
Anyone still using it should switch to CMake.
llvm-svn: 252520
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"GCC requires the freestanding environment provide memcpy, memmove, memset
and memcmp": https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc/Standards.html
Hence in GNUEABI targets LLVM should not convert 'memops' to their equivalent
'__aeabi_memops'. This convertion violates GCC contract.
The -meabi flag controls whether or not LLVM will modify 'memops' in GNUEABI
targets.
Without -meabi: use the triple default EABI.
With -meabi=default: use the triple default EABI.
With -meabi=gnu: use 'memops'.
With -meabi=4 or -meabi=5: use '__aeabi_memops'.
With -meabi set to an unknown value: same as -meabi=default.
Patch by Vinicius Tinti.
llvm-svn: 252462
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This marker prevents optimization passes from adding 'tail' or
'musttail' markers to a call. Is is used to prevent tail call
optimization from being performed on the call.
rdar://problem/22667622
Differential Revision: http://reviews.llvm.org/D12923
llvm-svn: 252368
|
| |
|
|
| |
llvm-svn: 252329
|
| |
|
|
|
|
| |
This attribute allows the compiler to assume that the function never recurses into itself, either directly or indirectly (transitively). This can be used among other things to demote global variables to locals.
llvm-svn: 252282
|
| |
|
|
| |
llvm-svn: 252268
|
| |
|
|
| |
llvm-svn: 252257
|
| |
|
|
| |
llvm-svn: 252226
|
| |
|
|
|
|
|
| |
Windows has two different mangling specifiers. `x` is used on x86 for the `_`
UserLabelPrefix. Others use `w` for the no UserLabelPrefix.
llvm-svn: 251260
|
| |
|
|
| |
llvm-svn: 251168
|
| |
|
|
| |
llvm-svn: 251127
|
| |
|
|
|
|
|
| |
I accidentally messed this up after a merge conflict in a previous
commit.
llvm-svn: 251089
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This makes attribute accessors on `CallInst` and `InvokeInst` do the
(conservatively) right thing. This essentially involves, in some
cases, *not* falling back querying the attributes on the called
`llvm::Function` when operand bundles are present.
Attributes locally present on the `CallInst` or `InvokeInst` will still
override operand bundle semantics. The LangRef has been amended to
reflect this. Note: this change does not do anything prevent
`-function-attrs` from inferring `CallSite` local attributes after
inspecting the called function -- that will be done as a separate
change.
I've used `-adce` and `-early-cse` to test these changes. There is
nothing special about these passes (and they did not require any
changes) except that they seemed be the easiest way to write the tests.
This change does not add deal with `argmemonly`. That's a later change
because alias analysis requires a related fix before `argmemonly` can be
tested.
Reviewers: reames, chandlerc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D13961
llvm-svn: 250973
|
| |
|
|
| |
llvm-svn: 250968
|
| |
|
|
|
|
| |
typeless pointer work
llvm-svn: 250967
|
| |
|
|
| |
llvm-svn: 250451
|
| |
|
|
|
|
|
|
| |
The DEBUG() macro has required that a DEBUG_TYPE be set since r206822.
Update the programmers manual to reflect that, and also update the
wording to point out that DEBUG_TYPE should be defined after #includes.
llvm-svn: 250436
|
| |
|
|
| |
llvm-svn: 250314
|
| |
|
|
|
|
|
|
|
|
| |
error out if it is specified when not using clang.
Also updated the CMake docs.
Based on post-commit review of r250108 from Sean Silvas.
llvm-svn: 250150
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13518
llvm-svn: 250086
|
| |
|
|
| |
llvm-svn: 250076
|
| |
|
|
| |
llvm-svn: 250072
|
| |
|
|
|
|
| |
Differential Revision http://reviews.llvm.org/D13518
llvm-svn: 250067
|
| |
|
|
| |
llvm-svn: 249933
|
| |
|
|
|
|
|
|
|
|
| |
control dependencies.
This covers the common case of operations that cannot be sunk.
Operations that cannot be hoisted should already be handled properly via
the safe-to-speculate rules and mechanisms.
llvm-svn: 249865
|
| |
|
|
| |
llvm-svn: 249807
|
| |
|
|
| |
llvm-svn: 249332
|
| |
|
|
|
|
| |
int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated.
llvm-svn: 249214
|
| |
|
|
| |
llvm-svn: 249181
|
| |
|
|
|
|
|
|
|
|
| |
-test_single_input flag specifies a file name with test data.
Review URL: http://reviews.llvm.org/D13359
Patch by Mike Aizatsky!
llvm-svn: 249096
|
| |
|
|
| |
llvm-svn: 249067
|
| |
|
|
|
|
|
|
| |
Reviewed By: hfinkel
Differential Revision: http://reviews.llvm.org/D12853
llvm-svn: 248721
|
| |
|
|
|
|
|
|
|
| |
The fuzzer argument parser will ignore all options starting with '--' so
operation mode options should begin with '--' and fuzzer options should begin
with '-'. Fuzzer arguments must still follow --fuzzer-args so that they escape
the parsing performed by the CommandLine library.
llvm-svn: 248671
|
| |
|
|
|
|
|
| |
r248551 introduced some breakage due to incorrectly terminated
``literals`` s.
llvm-svn: 248552
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This also adds the first set of tests for operand bundles.
The optimizer has not been audited to ensure that it does the right
thing with operand bundles.
Depends on D12456.
Reviewers: reames, chandlerc, majnemer, dexonsmith, kmod, JosephTremoulet, rnk, bogner
Subscribers: maksfb, llvm-commits
Differential Revision: http://reviews.llvm.org/D12457
llvm-svn: 248551
|
| |
|
|
|
|
|
|
| |
Fixes the overflow case of llvm.*absdiff intrinsic also updats the tests and LangRef.rst accordingly.
Differential Revision: http://reviews.llvm.org/D11678
llvm-svn: 248483
|
| |
|
|
|
|
|
|
| |
Reviewed By: vsk
Differential Revision: http://reviews.llvm.org/D12847
llvm-svn: 247982
|
| |
|
|
| |
llvm-svn: 247979
|
| |
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 247896
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Only the disassembler is supported in this patch but it has already found a few
issues in the Mips disassembler (mostly invalid instructions being successfully
disassembled).
Reviewers: kcc
Subscribers: russell.gallop, silvas, kcc, llvm-commits
Differential Revision: http://reviews.llvm.org/D12723
llvm-svn: 247786
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
For more info for what reason it was invented, goto:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
invariant.group.barrier:
http://reviews.llvm.org/D12310
docs:
http://reviews.llvm.org/D11399
CodeGenPrepare:
http://reviews.llvm.org/D12875
llvm-svn: 247711
|
| |
|
|
|
|
|
|
|
|
| |
Summary: This fixes a variety of typos in docs, code and headers.
Subscribers: jholewinski, sanjoy, arsenm, llvm-commits
Differential Revision: http://reviews.llvm.org/D12626
llvm-svn: 247495
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have this magic "hasLoadLinkedStoreConditional()" callback,
which really meant two things:
- expand cmpxchg (to ll/sc).
- expand atomic loads using ll/sc (rather than cmpxchg).
Remove it, and, instead, introduce explicit callbacks:
- bool shouldExpandAtomicCmpXchgInIR(inst)
- AtomicExpansionKind shouldExpandAtomicLoadInIR(inst)
Differential Revision: http://reviews.llvm.org/D12557
llvm-svn: 247429
|
| |
|
|
| |
llvm-svn: 247425
|