| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 169521
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: + tests arranged in groups, as their number is already quite large.
Reviewers: djasper, klimek
Reviewed By: djasper
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D185
llvm-svn: 169520
|
|
|
|
| |
llvm-svn: 169519
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: klimek, djasper
Reviewed By: klimek
CC: cfe-commits, silvas
Differential Revision: http://llvm-reviews.chandlerc.com/D176
llvm-svn: 169518
|
|
|
|
|
|
| |
threshold, pic, pie
llvm-svn: 169517
|
|
|
|
|
|
|
| |
check if loads that happen in between stores alias with the first store in the
chain, only with the second store onwards.
llvm-svn: 169516
|
|
|
|
|
|
| |
clashes with GCC 4.6/4.7)
llvm-svn: 169515
|
|
|
|
| |
llvm-svn: 169514
|
|
|
|
| |
llvm-svn: 169513
|
|
|
|
|
|
|
|
| |
linker directly
Rather than calling gcc.
llvm-svn: 169512
|
|
|
|
| |
llvm-svn: 169511
|
|
|
|
|
|
|
|
| |
function.
Fixes PR14518.
llvm-svn: 169510
|
|
|
|
|
|
| |
unix-like system.
llvm-svn: 169509
|
|
|
|
|
|
|
| |
Previously we would match the last visited parent, which in the
case of template instantiations was the last instantiated template.
llvm-svn: 169508
|
|
|
|
| |
llvm-svn: 169507
|
|
|
|
| |
llvm-svn: 169506
|
|
|
|
|
|
|
|
|
|
|
|
| |
ToolChains.cpp
This is in anticipation of forthcoming library path changes.
Also ...
- Fixes some inconsistencies in how the arch is passed to tools.
- Add test cases for various forms of arch flags
llvm-svn: 169505
|
|
|
|
| |
llvm-svn: 169504
|
|
|
|
| |
llvm-svn: 169503
|
|
|
|
| |
llvm-svn: 169502
|
|
|
|
| |
llvm-svn: 169501
|
|
|
|
| |
llvm-svn: 169500
|
|
|
|
| |
llvm-svn: 169499
|
|
|
|
| |
llvm-svn: 169498
|
|
|
|
| |
llvm-svn: 169497
|
|
|
|
| |
llvm-svn: 169496
|
|
|
|
|
|
|
|
|
|
| |
paths
- Inherit from Linux rather than ToolChain
- Override AddClangSystemIncludeArgs and AddClangCXXStdlibIncludeArgs
to properly set include paths.
llvm-svn: 169495
|
|
|
|
| |
llvm-svn: 169494
|
|
|
|
|
|
| |
With this change reports say what mutexes the threads hold around the racy memory accesses.
llvm-svn: 169493
|
|
|
|
|
|
| |
doesn't assume 32-bit target, for now.
llvm-svn: 169492
|
|
|
|
| |
llvm-svn: 169491
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of unconditionally storing origin with every application store,
only do this when the shadow of the stored value is != 0.
This change also delays instrumentation of stores until after the walk over
function's instructions, because adding new basic blocks confuses InstVisitor.
We only keep 1 origin value per 4 bytes of application memory. This change
fixes the bug when a store of a single clean byte wiped the origin for the
whole 4-byte area.
Since stores of uninitialized values are relatively uncommon, this change
improves performance of track-origins mode by 5% median and by up to 47% on
specs.
llvm-svn: 169490
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generally support the C++11 memory model requirements for bitfield
accesses by relying more heavily on LLVM's memory model.
The primary change this introduces is to move from a manually aligned
and strided access pattern across the bits of the bitfield to a much
simpler lump access of all bits in the bitfield followed by math to
extract the bits relevant for the particular field.
This simplifies the code significantly, but relies on LLVM to
intelligently lowering these integers.
I have tested LLVM's lowering both synthetically and in benchmarks. The
lowering appears to be functional, and there are no really significant
performance regressions. Different code patterns accessing bitfields
will vary in how this impacts them. The only real regressions I'm seeing
are a few patterns where the LLVM code generation for loads that feed
directly into a mask operation don't take advantage of the x86 ability
to do a smaller load and a cheap zero-extension. This doesn't regress
any benchmark in the nightly test suite on my box past the noise
threshold, but my box is quite noisy. I'll be watching the LNT numbers,
and will look into further improvements to the LLVM lowering as needed.
llvm-svn: 169489
|
|
|
|
|
|
|
| |
Also, small fix for handling the first token correctly.
Review: http://llvm-reviews.chandlerc.com/D177
llvm-svn: 169488
|
|
|
|
|
|
| |
the whole using cmake.
llvm-svn: 169487
|
|
|
|
|
|
| |
more natural check first in the if-then statement.
llvm-svn: 169486
|
|
|
|
| |
llvm-svn: 169485
|
|
|
|
|
|
|
|
|
| |
Some languages, e.g. Ada and Pascal, allow you to specify that the array bounds
are different from the default (1 in these cases). If we have a lower bound
that's non-default, then we emit the lower bound. We also calculate the correct
upper bound in those cases.
llvm-svn: 169484
|
|
|
|
|
|
| |
to the normal instructions.
llvm-svn: 169482
|
|
|
|
|
|
|
|
|
| |
BlockDataRegion. Fixes <rdar://problem/12415065>.
We still need to do a recursive walk to determine all static/global variables
referenced by a block, which is needed for region invalidation.
llvm-svn: 169481
|
|
|
|
|
|
|
|
| |
referenced_vars_iterator.
This is a nice conceptual cleanup.
llvm-svn: 169480
|
|
|
|
|
|
| |
WIP.
llvm-svn: 169479
|
|
|
|
| |
llvm-svn: 169478
|
|
|
|
|
|
| |
neverHasSideEffects.
llvm-svn: 169477
|
|
|
|
|
|
|
|
|
|
|
| |
Don't require that, during template deduction, a template specialization type
as a function parameter has at least as many template arguments as one used in
a function argument (not even if the argument has been resolved to an exact
type); the additional parameters might be provided by default template
arguments in the template. We don't need this check, since we now implement
[temp.deduct.call]p4 with an additional check after deduction.
llvm-svn: 169475
|
|
|
|
| |
llvm-svn: 169474
|
|
|
|
|
|
| |
extremely obscure record layout bug.
llvm-svn: 169467
|
|
|
|
|
|
|
|
| |
RegisterIsCalleeSaved. Add ebp back to the list of registers that
are callee saved.
<rdar://problem/12817918>
llvm-svn: 169466
|
|
|
|
|
|
| |
Fixed zero sized arrays to work correctly. This will only happen once we get a clang that emits correct debug info for zero sized arrays. For now I have marked the TestStructTypes.py as an expected failure.
llvm-svn: 169465
|
|
|
|
| |
llvm-svn: 169464
|