| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Adds support for reading a maximum of six integer arguments from a renderscript hook on X86_64.
Author: Luke Drummond <luke.drummond@codeplay.com>
llvm-svn: 255338
|
|
|
|
|
|
|
|
|
|
|
| |
address space unless address space is explicitly specified.
Correct the behavior of NULL constant detection -
generic AS void pointer should be accepted as a valid NULL constant.
http://reviews.llvm.org/D15293
llvm-svn: 255337
|
|
|
|
|
|
|
|
| |
Mem2Reg shouldn't be optimizing a function that is marked
optnone. There is a test checking this that fails when mem2reg is
explicitly added to the standard pass pipeline.
llvm-svn: 255336
|
|
|
|
|
|
|
| |
The new test summary formatter does not honor the "expected timeout" markings, which makes our
buildbots all red. I'm switching it off by default until we figure out a way to make this work.
llvm-svn: 255335
|
|
|
|
|
|
| |
MatchBSwap has most of the functionality to match bit reversals already. If we switch it from looking at bytes to individual bits and remove a few early exits, we can extend the main recursive function to match any sequence of ORs, ANDs and shifts that assemble a value from different parts of another, base value. Once we have this bit->bit mapping, we can very simply detect if it is appropriate for a bswap or bitreverse.
llvm-svn: 255334
|
|
|
|
|
|
|
|
|
|
|
|
| |
R_X86_64_SIZE64/R_X86_64_SIZE32 relocations were introduced in 0.98v of "System V Application Binary Interface x86-64" (http://www.x86-64.org/documentation/abi.pdf).
Calculation for them is Z + A, where:
Z - Represents the size of the symbol whose index resides in the relocation entry.
A - Represents the addend used to compute the value of the relocatable field.
Differential revision: http://reviews.llvm.org/D15335
llvm-svn: 255332
|
|
|
|
| |
llvm-svn: 255331
|
|
|
|
| |
llvm-svn: 255330
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, each function's on-disk VP data is 'pointed'
to by the Value field of per-function ProfileData structue, and
read relies on this field (relocated with ValueDataDelta field)
to read the value data. However this means the Value field needs
to be updated during runtime before dumping, which creates undesirable
data races.
With this patch, the reading of VP data no longer depends on Value
field. There is no format change. ValueDataDelta header field becomes
obsolute but will be kept for compatibility reason (will be removed
next time the raw format change is needed).
llvm-svn: 255329
|
|
|
|
|
|
|
|
| |
This improves the coverage for the multilib directories used for ARM. Also add
tests covering the internal triple (thumbv7-*). The Juno board can be run in
this configuration.
llvm-svn: 255328
|
|
|
|
|
|
|
|
| |
Add a test case to cover profile dumping of functions with no
value sites, functions with value sites but no dynamic VP data,
and functions with runtime VP data.
llvm-svn: 255327
|
|
|
|
| |
llvm-svn: 255326
|
|
|
|
|
|
|
|
| |
when eagerly instantiating them.
rdar://23721638
llvm-svn: 255325
|
|
|
|
|
|
|
|
|
|
| |
a hidden tag"
This is causing assertion failures; reverting until I can fix.
This reverts commit r255267
llvm-svn: 255324
|
|
|
|
| |
llvm-svn: 255323
|
|
|
|
| |
llvm-svn: 255322
|
|
|
|
| |
llvm-svn: 255321
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reduce memory usage.
Previously, LazyValueInfoCache inserted overdefined lattice values into
both ValueCache and OverDefinedCache. This wasn't necessary and was
causing LazyValueInfo to use an excessive amount of memory in some cases.
This patch changes LazyValueInfoCache to insert overdefined values only
into OverDefinedCache. The memory usage decreases by 70 to 75% when one
of the files in llvm is compiled.
rdar://problem/11388615
Differential revision: http://reviews.llvm.org/D15391
llvm-svn: 255320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Access to aligned globals gives us a chance to peephole optimize nonzero
offsets. If a struct is 4 byte aligned, then accesses to bytes 0-3 won't
overflow the available displacement. For example:
addis 3, 2, b4v@toc@ha
addi 4, 3, b4v@toc@l
lbz 5, b4v@toc@l(3) ; This is the result of the current peephole
lbz 6, 1(4) ; optimizer
lbz 7, 2(4)
lbz 8, 3(4)
If b4v is 4-byte aligned, we can skip using register 4 because we know
that b4v@toc@l+{1,2,3} won't overflow 32K, and instead generate:
addis 3, 2, b4v@toc@ha
lbz 4, b4v@toc@l(3)
lbz 5, b4v@toc@l+1(3)
lbz 6, b4v@toc@l+2(3)
lbz 7, b4v@toc@l+3(3)
Saving a register and an addition.
Larger alignments allow larger structures/arrays to be optimized.
llvm-svn: 255319
|
|
|
|
| |
llvm-svn: 255318
|
|
|
|
| |
llvm-svn: 255317
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously in the conversion cost table there are no entries for integer-integer
conversions on SSE2. This will result in imprecise costs for certain vectorized
operations. This patch adds those entries for SSE2 and SSE4.1. The cost numbers
are counted from the result of running llc on the new test case in this patch.
Differential revision: http://reviews.llvm.org/D15132
llvm-svn: 255315
|
|
|
|
| |
llvm-svn: 255314
|
|
|
|
| |
llvm-svn: 255313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make RedirectedFileSystem::openFilForRead(path)->status() the same as
RedirectedFileSystem::status(path). Previously we would just get the
status of the underlying real file, which would not have the IsVFSMapped
bit set.
This fixes rebuilding a module that has an include that is relative to
the includer where we will lookup the real path of that file before we
lookup the VFS location.
rdar://problem/23640339
llvm-svn: 255312
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This works around existing system headers which unconditionally
redefine these macros.
This is reasonably safe to do because we used to warn about it anyway
(outside of system headers). Continue to warn if the redefinition
would have changed the expansion. Still permit redefinition if the
macro is explicitly #undef'ed first.
rdar://23788307
llvm-svn: 255311
|
|
|
|
|
|
|
| |
And, turns off verbose mode by default. This must have been switched
on as the default when somebody was testing.
llvm-svn: 255310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'readwrite' in an extension.
r251874 stopped back-patching the AST when an Objective-C 'readonly'
property is redeclared in a class extension as 'readwrite'. However,
it did not properly handle merging of Objective-C property attributes
(e.g., getter name, ownership, atomicity) to the redeclaration,
leading to bad metadata. Merge (and check!) those property attributes
so we get the right metadata and reasonable ASTs. Fixes
rdar://problem/23823989.
llvm-svn: 255309
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: NetBSD is like FreeBSD and Linux in these routines.
Reviewers: clay.chang, tfiala, emaste, joerg
Subscribers: lldb-commits, emaste
Differential Revision: http://reviews.llvm.org/D15374
llvm-svn: 255308
|
|
|
|
|
|
|
|
| |
Fixes PR25798.
Thanks to Ed Maste for the bug report and suggested fix.
llvm-svn: 255307
|
|
|
|
| |
llvm-svn: 255306
|
|
|
|
|
|
|
|
|
|
|
|
| |
x)) combines for ppc_fp128, since signbit computation is more
complicated.
Discussion thread:
http://lists.llvm.org/pipermail/llvm-dev/2015-November/092863.html
Patch by Tim Shen!
llvm-svn: 255305
|
|
|
|
| |
llvm-svn: 255304
|
|
|
|
| |
llvm-svn: 255303
|
|
|
|
|
|
| |
C API.
llvm-svn: 255302
|
|
|
|
| |
llvm-svn: 255301
|
|
|
|
|
|
| |
on the llvm mailing lists.
llvm-svn: 255300
|
|
|
|
|
|
|
|
|
| |
This was causing bad code gen and assembly that won't assemble, as
mixed altivec and vsx code would end up with a vsx high register
assigned to an altivec instruction, which won't work. Constraining the
classes allows the optimization to proceed.
llvm-svn: 255299
|
|
|
|
|
|
|
|
| |
-fprofile-instr-generate
This is the first step in supporting PGO data generation via CMake. I've marked the option as advanced and experimental until it is fleshed out further.
llvm-svn: 255298
|
|
|
|
|
|
|
| |
Since the instructions use cmake, we should probably refer to the
cmake flags and not the configure ones.
llvm-svn: 255297
|
|
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D15339
done
llvm-svn: 255296
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: As a follow-up to rL255054 I wasn't able to convince myself that the code did what I thought, so I wrote more tests.
Reviewers: reames
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15371
llvm-svn: 255295
|
|
|
|
|
|
|
|
|
| |
Value profile runtime depends on libc which breaks
buffer API implemenation with current file organization.
Test case is also updated to check more symbols.
llvm-svn: 255294
|
|
|
|
| |
llvm-svn: 255293
|
|
|
|
| |
llvm-svn: 255292
|
|
|
|
| |
llvm-svn: 255291
|
|
|
|
| |
llvm-svn: 255290
|
|
|
|
|
|
| |
PR25763 demonstrated an issue with D14683 - vector comparison constant folding only works for i1 results, so we need to split off the sign-extension of the result to the required type. Luckily this can be done with the existing type legalization code.
llvm-svn: 255289
|
|
|
|
| |
llvm-svn: 255288
|
|
|
|
|
|
|
|
| |
check_memcpy test added in r254959 fails on some configurations due to
memcpy() calls inserted by Clang. Try harder to avoid them by using
internal_memcpy() where applicable.
llvm-svn: 255287
|