| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
reduces the pass-manager overhead from FPPassManager::runOnFunction() by about 10%.
llvm-svn: 176072
|
| |
|
|
|
|
| |
bit clearer.
llvm-svn: 176071
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 176070
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Normally, we need to look through derived-to-base casts when creating
temporary object regions (added in r175854). However, if the temporary
is a pointer (rather than a struct/class instance), we need to /preserve/
the base casts that have been applied.
This also ensures that we really do create a new temporary region when
we need to: MaterializeTemporaryExpr and lvalue CXXDefaultArgExprs.
Fixes PR15342, although the test case doesn't include the crash because
I couldn't isolate it.
llvm-svn: 176069
|
| |
|
|
|
|
|
|
|
|
|
|
| |
With the new support for trivial copy constructors, we are not always
consistent about whether a CXXTempObjectRegion gets reused or created
from scratch, which affects whether qualifiers are preserved. However,
we probably don't care anyway.
This also switches to using the current PrintingPolicy for the type,
which means C++ types don't get a spurious 'struct' prefix anymore.
llvm-svn: 176068
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SymbolFileDWARF code:
- If a class is being uniqued to another copy of itself
and the method lists don't match exactly, take a slow
path and at least unique the methods that they have
in common.
- Sort name_to_die maps before querying them. This
would otherwise result in uniquing failures because
looking up a name in a map that contains it would
often fail.
- Tolerate classes in other symbol files in the case
of debugging with .o files rather than with a
.dSYM. We used to assume that the classes being
uniqued were in the same symbol file, causing
unpredictable results.
This will dramatically reduce the number of cases where
a function does not have a valid DeclContext.
<rdar://problem/12153915>
llvm-svn: 176067
|
| |
|
|
|
|
|
| |
arguments type is a simple type.
rdar://13290455
llvm-svn: 176066
|
| |
|
|
| |
llvm-svn: 176065
|
| |
|
|
|
|
|
|
|
| |
plugin.dynamic-loader.darwin-kernel.load-kexts setting, don't print
any messages about loading the kexts (which isn't being done) and
don't read the Mach-O headers out of memory (which can be slow and
they're not being used for anything at this point).
llvm-svn: 176064
|
| |
|
|
|
|
| |
Set the exception breakpoints more efficiently by specifying two module basenames as module filters for Apple vendor targets.
llvm-svn: 176063
|
| |
|
|
|
|
| |
Really don't call sysctl again when we already have the result.
llvm-svn: 176062
|
| |
|
|
|
|
|
|
| |
Remove the getCategory from TestDataFormatterObjC.py, since it was superceded by the .categories file,
and didn't work anyway (getCategories currently has to be a method on the test class, not on the test.)
Add a "basic_process" category, and start to find some tests for simple process running sniff tests.
llvm-svn: 176061
|
| |
|
|
|
|
| |
- Put expensive checking after simple one
llvm-svn: 176060
|
| |
|
|
| |
llvm-svn: 176059
|
| |
|
|
|
|
|
| |
- Check whether SSE is available before lowering all 1s vector building with
PCMPEQD, which is only available from SSE2
llvm-svn: 176058
|
| |
|
|
|
|
| |
This changes the RecordingMemoryManager in lli to use mapped memory rather than malloc to allocate memory for sections and uses a 'near' MemoryBlock to keep the allocations together. This works around a problem in MCJIT where relocations are applied to a generated image immediately oupon generation, which isn't appropriate for the remote case.
llvm-svn: 176057
|
| |
|
|
|
|
| |
Avoids warning twice on same shift.
llvm-svn: 176056
|
| |
|
|
| |
llvm-svn: 176055
|
| |
|
|
|
|
|
|
|
|
|
|
| |
type.
This addresses a case when we inline a wrong method due to incorrect
dynamic type inference. Specifically, when user code contains a method from init
family, which creates an instance of another class.
Use hasRelatedResultType() to find out if our inference rules should be triggered.
llvm-svn: 176054
|
| |
|
|
| |
llvm-svn: 176053
|
| |
|
|
|
|
|
|
|
|
| |
fewer scalar integer (i32 or i64) arguments. It completely eliminates the need
for SDISel for trivial functions.
Also, add the new llc -fast-isel-abort-args option, which is similar to
-fast-isel-abort option, but for formal argument lowering.
llvm-svn: 176052
|
| |
|
|
|
|
| |
Fixed issues with the SBModule "sections" property, and with the SBBlock "ranges" attributes.
llvm-svn: 176051
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
or predecessor.
These nodes are never consulted by any analyzer client code, so they are
used only for machinery for removing dead bindings. Once successor nodes
are generated they can be safely removed.
This greatly reduces the amount of nodes that are generated in some case,
lowering the memory regression when analyzing Sema.cpp introduced by
r176010 from 14% to 2%.
llvm-svn: 176050
|
| |
|
|
| |
llvm-svn: 176049
|
| |
|
|
|
|
| |
- was causing buildbot failures due to unexpected pass
llvm-svn: 176048
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New type matchers:
* recordType
* elaboratedType
New narrowing matchers:
* hasQualifier
* namesType
* hasDeclContext
Added tests and updated LibASTMatchersReference.
Reviewers: klimek
llvm-svn: 176047
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding an RST document for cpp11-migrate. This user documentation explains
command line options, transformations, risk level and how it applies to
loop convert, and code examples of transformations.
There is a TODO task under "Risk" for "Loop Convert" to find code examples
that produce incorrect transformations that change semantics. The definition
of risk in loop convert and instances where the confidence level is lowered
will need to be looked at more carefully.
Information for all new features (including verbose output, auto transform)
will be added in a later change.
Author: Jack Yang <jack.wang@intel.com>
Reviewer: grigozavr
llvm-svn: 176046
|
| |
|
|
| |
llvm-svn: 176045
|
| |
|
|
|
|
|
|
| |
This reverts commit 176009.
The commit is a likely cause of several buildbot failures.
llvm-svn: 176044
|
| |
|
|
| |
llvm-svn: 176043
|
| |
|
|
|
|
|
|
|
|
|
|
| |
r175026 added support for default values, but didn't take reference
parameters into account, which expect the default argument to be an
lvalue. Use createTemporaryRegionIfNeeded if we can evaluate the default
expr as an rvalue but the expected result is an lvalue.
Fixes the most recent report of PR12915. The original report predates
default argument support, so that can't be it.
llvm-svn: 176042
|
| |
|
|
|
|
| |
symbol fetching
llvm-svn: 176041
|
| |
|
|
|
|
| |
Make sure to not look in self.images when we have a symbolicator with a live process.
llvm-svn: 176040
|
| |
|
|
|
|
| |
standard logs output to make it more useful.
llvm-svn: 176039
|
| |
|
|
| |
llvm-svn: 176038
|
| |
|
|
|
|
| |
Fixes rdar:13279013: scheduler was blowing up on select instructions.
llvm-svn: 176037
|
| |
|
|
|
|
| |
rdar://13254235
llvm-svn: 176036
|
| |
|
|
|
|
|
| |
Don't print the semicolon when visiting an empty declaration because the semicolon
will be printed as a terminator later.
llvm-svn: 176035
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While RegionStore checks to make sure casts on TypedValueRegions are valid,
it does not do the same for SymbolicRegions, which do not have perfect type
info anyway. Additionally, MemRegion::getAsOffset does not take a
ProgramState, so it can't use dynamic type info to determine a better type
for the regions. (This could also be dangerous if the type of a super-region
changes!)
Account for this by checking that a base object region is valid on top of a
symbolic region, and falling back to "symbolic offset" mode if not.
Fixes PR15345.
llvm-svn: 176034
|
| |
|
|
| |
llvm-svn: 176033
|
| |
|
|
| |
llvm-svn: 176032
|
| |
|
|
| |
llvm-svn: 176031
|
| |
|
|
|
|
| |
Report and fix due to Kai Nacke. Testcase update by me.
llvm-svn: 176029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes llvm.org/PR15350.
Before:
Constructor(int Parameter = 0)
: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaa),
aaaaaaaaaaaa(aaaaaaaaaaaaaaaaa) {}
After:
Constructor(int Parameter = 0)
: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaa),
aaaaaaaaaaaa(aaaaaaaaaaaaaaaaa) {}
I think the correct solution is to put the VariablePos into
ParenState, not LineState. Added FIXME.
llvm-svn: 176027
|
| |
|
|
|
|
| |
w/o RTTI.
llvm-svn: 176026
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
TemplateSpecializationType doesn't quite have getDecl(). Need to go
through TemplateName to get a TemplateDecl.
Added test cases for the hasDeclaration() overload for
TemplateSpecializationType. Also introduced the type matcher
templateSpecializationType() used by the new hasDeclaration() test case.
Updated LibASTMatchersReference.
Reviewers: klimek
llvm-svn: 176025
|
| |
|
|
|
|
|
|
|
|
|
| |
Re-introducing r175532. The has_getDecl metafunction didn't compile with
Visual Studio. This revision uses approaches has_getDecl from a
different angle that isn't a problem for Visual Studio.
Added dedicated tests for the metafunction.
Reviewers: klimek
llvm-svn: 176024
|
| |
|
|
| |
llvm-svn: 176023
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
memory intrinsics in the SDAG builder.
When alignment is zero, the lang ref says that *no* alignment
assumptions can be made. This is the exact opposite of the internal API
contracts of the DAG where alignment 0 indicates that the alignment can
be made to be anything desired.
There is another, more explicit alignment that is better suited for the
role of "no alignment at all": an alignment of 1. Map the intrinsic
alignment to this early so that we don't end up generating aligned DAGs.
It is really terrifying that we've never seen this before, but we
suddenly started generating a large number of alignment 0 memcpys due to
the new code to do memcpy-based copying of POD class members. That patch
contains a bug that rounds bitfield alignments down when they are the
first field. This can in turn produce zero alignments.
This fixes weird crashes I've seen in library users of LLVM on 32-bit
hosts, etc.
llvm-svn: 176022
|
| |
|
|
| |
llvm-svn: 176021
|