| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 204189
|
| |
|
|
|
|
| |
for this kind of walk.
llvm-svn: 204188
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
noise.
Original commit log:
Replace some dead code with an assert. When I first ported this pass
from a loop pass to a function pass I did so in the naive, recursive
way. It doesn't actually work, we need a worklist instead. When
I switched to the worklist I didn't delete the naive recursion. That
recursion was also buggy because it was dead and never really exercised.
llvm-svn: 204187
|
| |
|
|
|
|
|
|
|
| |
The hash itself is still the number of counters, which isn't all that
useful, but this separates the API changes from the actual
implementation of the hash and will make it easier to transition to
the ProfileData library once it's implemented.
llvm-svn: 204186
|
| |
|
|
| |
llvm-svn: 204185
|
| |
|
|
|
|
|
|
|
|
| |
pass from a loop pass to a function pass I did so in the naive,
recursive way. It doesn't actually work, we need a worklist instead.
When I switched to the worklist I didn't delete the naive recursion.
That recursion was also buggy because it was dead and never really
exercised.
llvm-svn: 204184
|
| |
|
|
| |
llvm-svn: 204183
|
| |
|
|
| |
llvm-svn: 204182
|
| |
|
|
| |
llvm-svn: 204181
|
| |
|
|
|
|
| |
We really do use these things in the header.
llvm-svn: 204180
|
| |
|
|
| |
llvm-svn: 204179
|
| |
|
|
|
|
|
|
| |
This reverts commit r204137.
This includes a fix for handling aliases of aliases.
llvm-svn: 204178
|
| |
|
|
| |
llvm-svn: 204177
|
| |
|
|
| |
llvm-svn: 204176
|
| |
|
|
|
|
| |
the same template. Teach RecursiveASTVisitor to visit all of those, not just one of them. This is difficult to test by itself, but will be covered by an upcoming change.
llvm-svn: 204175
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
For functions where esi is used as base pointer, we would previously fall back
from lowering memcpy with "rep movs" because that clobbers esi.
With this patch, we just store esi in another physical register, and restore
it afterwards. This adds a little bit of register preassure, but the more
efficient memcpy should be worth it.
Differential Revision: http://llvm-reviews.chandlerc.com/D2968
llvm-svn: 204174
|
| |
|
|
|
|
|
| |
If the user requests OS default stack size, do not adjust it to our minimum
stack size (which is usually much less than the OS default).
llvm-svn: 204173
|
| |
|
|
|
|
|
|
|
|
| |
COMDAT_SELECT_LARGEST is a COMDAT type that make linker to choose the largest
definition from among all of the definition of a symbol. If the size is the
same, the choice is arbitrary.
Differential Revision: http://llvm-reviews.chandlerc.com/D3011
llvm-svn: 204172
|
| |
|
|
| |
llvm-svn: 204171
|
| |
|
|
|
|
|
| |
This reverts part of r204112 (Expression: cleanup unused include).
It looks like MCJIT.h is required to force MCJIT to be linked.
llvm-svn: 204170
|
| |
|
|
| |
llvm-svn: 204169
|
| |
|
|
|
|
|
|
| |
llvm.org/PR19081 reports that the polly dependence analysis causes some h264
compilation to hang. We adjust the compute out, to ensure we do not block on
expensive dependence calculations.
llvm-svn: 204168
|
| |
|
|
|
|
|
| |
This fixes llvm.org/PR12250.
Contributed-by: Sam Novak <snovak@uwsp.edu>
llvm-svn: 204167
|
| |
|
|
| |
llvm-svn: 204166
|
| |
|
|
| |
llvm-svn: 204165
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Since "half" is an OpenCL keyword and clang accepts __fp16 as an extension for
other languages, error messages and metadata (and hence debug info) should refer
to the half-precision floating point as "__fp16" instead of "half" when
compiling for non-OpenCL languages. This patch creates a new printing policy for
half in a similar manner to what is done for bool and wchar_t.
Differential Revision: http://llvm-reviews.chandlerc.com/D2952
llvm-svn: 204164
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
SLP Vectorization of intrinsics (r203707) has exposed cases where the
expansion of vector bswap is failing (PR19151).
Reviewers: hfinkel
CC: chandlerc
Differential Revision: http://llvm-reviews.chandlerc.com/D3104
llvm-svn: 204163
|
| |
|
|
|
|
| |
Follow-up to r203982.
llvm-svn: 204162
|
| |
|
|
| |
llvm-svn: 204161
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
following rules:
1) (AND (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (AND (A, B), C, Mask)
2) (OR (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (OR (A, B), C, Mask)
3) (XOR (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (XOR (A, B), V_0, Mask)
4) (AND (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (C, AND (A, B), Mask)
5) (OR (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (C, OR (A, B), Mask)
6) (XOR (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (V_0, XOR (A, B), Mask)
llvm-svn: 204160
|
| |
|
|
|
|
|
|
|
| |
"No need to issue deprecated warning if deprecated method
in class extension is being implemented in primary class implementation
(no overriding is involved).
// rdar://16249335". No functionality change.
llvm-svn: 204159
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
X86BaseInfo.h defines an enum for the offset of each operand in a memory operand
sequence. Some code uses it and some does not. This patch replaces (hopefully)
all remaining locations where an integer literal was used instead of this enum.
No functionality change intended.
Reviewers: nadav
CC: llvm-commits, t.p.northover
Differential Revision: http://llvm-reviews.chandlerc.com/D3108
llvm-svn: 204158
|
| |
|
|
| |
llvm-svn: 204157
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D3110
llvm-svn: 204156
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When converting a signed 32-bit integer to double-precision floating point on
hardware without a lfiwax instruction, we have to instead use a lfd followed
by fcfid. We were erroneously offsetting the address by 4 bytes in
preparation for either a lfiwax or lfiwzx when generating the lfd. This fixes
that silly error.
This was not caught in the test suite since the conversion tests were run with
-mcpu=pwr7, which implies availability of lfiwax. I've added another test
case for older hardware that checks the code we expect in the absence of
lfiwax and other flavors of fcfid. There are fewer tests in this test case
because we punt to DAG selection in more cases on older hardware. (We must
generate complex fiddly sequences in those cases, and there is marginal
benefit in duplicating that logic in fast-isel.)
llvm-svn: 204155
|
| |
|
|
| |
llvm-svn: 204154
|
| |
|
|
| |
llvm-svn: 204153
|
| |
|
|
|
|
|
|
| |
Compiler-rt part of MSan implementation of advanced origin tracking,
when we record not only creation point, but all locations where
an uninitialized value was stored to memory, too.
llvm-svn: 204152
|
| |
|
|
|
|
|
|
| |
LLVM part of MSan implementation of advanced origin tracking,
when we record not only creation point, but all locations where
an uninitialized value was stored to memory, too.
llvm-svn: 204151
|
| |
|
|
|
|
| |
the first flags is to enable printing of the second stack per edge
llvm-svn: 204150
|
| |
|
|
| |
llvm-svn: 204149
|
| |
|
|
| |
llvm-svn: 204148
|
| |
|
|
| |
llvm-svn: 204146
|
| |
|
|
| |
llvm-svn: 204145
|
| |
|
|
|
|
|
|
| |
Test doesn't actually require production of an object file and for
some targets (e.g. hexagon) an assembler is not always available when
lit tests are run.
llvm-svn: 204144
|
| |
|
|
| |
llvm-svn: 204143
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The compiler does not always generate linkage names. If a function
has been inlined and its body elided, its linkage name may not be
generated.
When the binary executes, the profiler will use its unmangled name
when attributing samples. This results in unmangled names in the
input profile.
We are currently failing hard when this happens. However, in this case
all that happens is that we fail to attribute samples to the inlined
function. While this means fewer optimization opportunities, it should
not cause a compilation failure.
This patch accepts all valid function names, regardless of whether
they were mangled or not.
Reviewers: chandlerc
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3087
llvm-svn: 204142
|
| |
|
|
|
|
| |
this is necessaary because dlsym can call malloc, which can lock mutexes that we intercept
llvm-svn: 204141
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Due to not resetting the fake rparen data on the token when iterating
over annotated lines, we would pop the last element of the paren stack.
This patch fixes the underlying root cause, and makes the code more
robust against similar problems in the future:
- reset the first token when iterating on the same annotated lines due
to preprocessor branches
- never pop the last element from the paren stack, so we do not crash,
but rather incorrectly format
- add assert()s so we can figure out if our assumptions are violated
llvm-svn: 204140
|
| |
|
|
| |
llvm-svn: 204139
|