| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This could of course be a simple binary search with no global state
involved at all if someone cares enough. Just don't make everyone
linking the hexagon backend pay for it on process startup and shutdown.
llvm-svn: 274437
|
|
|
|
| |
llvm-svn: 274436
|
|
|
|
| |
llvm-svn: 274435
|
|
|
|
|
|
| |
Its not worth trying to write out tests for all the avx512f builtins yet, just adding tests for lowering of generic IR as we transition to it (shuffles mainly right now).
llvm-svn: 274434
|
|
|
|
| |
llvm-svn: 274433
|
|
|
|
|
|
|
|
| |
where possible.
No functionality change intended
llvm-svn: 274432
|
|
|
|
|
|
|
|
| |
where possible.
No functionality change intended.
llvm-svn: 274431
|
|
|
|
| |
llvm-svn: 274430
|
|
|
|
| |
llvm-svn: 274429
|
|
|
|
|
|
|
| |
Because the function works on relocations, it should be in
Relocations.h instead of OutputSections.h.
llvm-svn: 274428
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since r274197 -polly-position=before-vectorizer caused various LNT failures
for example in SingleSource/Benchmarks/Linpack. These failures seem to only
occur when the CFLAA pass is scheduled in our codegen-cleanup passes, which
suggests that the way we call this AA pass is somehow problematic. As this pass
is not of high importance, we drop the pass for now to prevent these failures
from happening. At a later point, we might investigate more in-depth why this
specific usage scenario caused correctness issues.
llvm-svn: 274427
|
|
|
|
| |
llvm-svn: 274426
|
|
|
|
|
|
| |
native IR.
llvm-svn: 274425
|
|
|
|
| |
llvm-svn: 274424
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch improves the performance of unordered_set's find by 45% when
the value exists within the set. __hash_tables find method
needs to check if it's reached the end of the bucket by constraining the
hash of the current node and checking it against the bucket index. However
constraining the hash is an expensive operations and it can be avoided if the
two unconstrained hashes are equal. This patch applies that optimization.
This patch also adds a top level directory called benchmarks. 'benchmarks/'
is intended to store any/all benchmarks written for the standard library.
Currently nothing is done with files under 'benchmarks/' but I would like
to move towards introducing a formal format and test runner.
llvm-svn: 274423
|
|
|
|
| |
llvm-svn: 274422
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Adds struct array access counter report.
Updates test struct-simple.cpp.
Reviewers: aizatsky
Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits, kubabrecka
Differential Revision: http://reviews.llvm.org/D21595
llvm-svn: 274421
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Adds one counter to the struct counter array for counting struct
array accesses.
Adds instrumentation to insert counter update for struct array
accesses.
Reviewers: aizatsky
Subscribers: llvm-commits, bruening, eugenis, kcc, zhaoqin, vitalybuka
Differential Revision: http://reviews.llvm.org/D21594
llvm-svn: 274420
|
|
|
|
|
|
| |
clang.
llvm-svn: 274419
|
|
|
|
| |
llvm-svn: 274418
|
|
|
|
| |
llvm-svn: 274417
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 274414
|
|
|
|
| |
llvm-svn: 274413
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add renderscript32 and renderscript64 ArchTypes. This is to configure
the ABI requirement on 32-bit RenderScript that 'long' types have 64-bit
size and alignment. 64-bit RenderScript is the same as AArch64, but is
added here for completeness.
Reviewers: echristo, rsmith
Subscribers: aemerson, jfb, rampitec, dschuff, mehdi_amini, llvm-commits, srhines
Differential Revision: http://reviews.llvm.org/D21333
llvm-svn: 274412
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21945
llvm-svn: 274411
|
|
|
|
|
|
| |
These are set on both the declaration record and the definition record.
llvm-svn: 274410
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The TargetInfo for 'renderscript32' and 'renderscript64' ArchTypes are
subclasses of ARMleTargetInfo and AArch64leTargetInfo respectively.
RenderScript32TargetInfo modifies the ARM ABI to set LongWidth and
LongAlign to be 64-bits. Other than this modification, the underlying
TargetInfo base classes is initialized as if they have "armv7" and
"aarch64" architecture type respectively.
Reviewers: rsmith, echristo
Subscribers: aemerson, tberghammer, cfe-commits, danalbert, mehdi_amini, srhines
Differential Revision: http://reviews.llvm.org/D21334
llvm-svn: 274409
|
|
|
|
| |
llvm-svn: 274408
|
|
|
|
| |
llvm-svn: 274407
|
|
|
|
| |
llvm-svn: 274406
|
|
|
|
|
|
|
| |
The main problem was counting comments on their own
line as instructions.
llvm-svn: 274405
|
|
|
|
| |
llvm-svn: 274404
|
|
|
|
| |
llvm-svn: 274403
|
|
|
|
|
|
| |
Allow implicit defs
llvm-svn: 274402
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given something like:
struct S {
int a;
struct { int b; };
};
We would fail to give 'b' offset 4. Instead, we would give it the
offset it has inside of it's struct.
llvm-svn: 274400
|
|
|
|
|
|
|
|
| |
A namespace without a name should be written out as `anonymous
namespace' while a tag type without a name should be written out as
<unnamed-tag>.
llvm-svn: 274399
|
|
|
|
| |
llvm-svn: 274398
|
|
|
|
|
|
|
|
| |
Due to visit order problems, in the case of an unaligned copy
the legalized DAG fails to eliminate extra instructions introduced
by the expansion of both unaligned parts.
llvm-svn: 274397
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20499
llvm-svn: 274396
|
|
|
|
|
|
|
|
|
|
|
| |
Fix incorrect calculation of the type size for __msan_maybe_warning_N
call that resulted in an invalid (narrowing) zext instruction and
"Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed."
Only happens in very large functions (with more than 3500 MSan
checks) operating on integer types that are not power-of-two.
llvm-svn: 274395
|
|
|
|
|
|
|
|
|
|
| |
There was a combine before to handle the simple copy case.
Split this into handling loads and stores separately.
We might want to change how this handles some of the vector
extloads, since this can result in large code size increases.
llvm-svn: 274394
|
|
|
|
|
|
| |
for Darwin, always skip on windows, and expected fail for all other OSs while mentioning the new bug I filed to track fixing TLS variables: https://llvm.org/bugs/show_bug.cgi?id=28392
llvm-svn: 274393
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we have template arguments, we have a function and a pattern, the variable
in init-capture belongs to the pattern decl when checking if the lhs of
"max = current" is modifiable:
auto find = [max = init](auto current) {
max = current;
};
In function isReferenceToNonConstCapture, we handle the case where the decl
context for the variable is not part of the current context.
Instead of crashing, we emit an error message:
cannot assign to a variable captured by copy in a non-mutable lambda
rdar://26997922
llvm-svn: 274392
|
|
|
|
|
|
|
|
| |
MSVC makes up names for these anonymous structs, but we don't (yet).
Eventually Clang should use getTypedefNameForAnonDecl() to put some name
in the debug info, and we can update the test case when that happens.
llvm-svn: 274391
|
|
|
|
| |
llvm-svn: 274390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
GetBoundryInstruction returns the last instruction as the instruction which follows or end(). Otherwise the last instruction in the boundry set is not being tested by isVectorizable().
Partially solve reordering of instructions. More extensive solution to follow.
Reviewers: tstellarAMD, llvm-commits, jlebar
Subscribers: escha, arsenm, mzolotukhin
Differential Revision: http://reviews.llvm.org/D21934
llvm-svn: 274389
|
|
|
|
|
|
|
|
|
|
|
| |
because there was a dectorator:
@unittest2.expectedFailure("rdar://7796742")
Which was covering up the fact this was failing on linux and hexagon. I added back a decorator so we don't break any build bots.
llvm-svn: 274388
|
|
|
|
| |
llvm-svn: 274387
|