| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
name of the member that it is modifying.
llvm-svn: 177818
|
|
|
|
|
|
|
|
| |
off the inferior process so we stand a better chance of understanding
what caused us to send a PT_KILL.
<rdar://problem/12720340>
llvm-svn: 177817
|
|
|
|
|
|
|
|
|
| |
PtrState.HasKnownPositiveRefCount().
Now said method matches namewise every other method which refers to
the member KnownPositiveRefCount of the class PtrState.
llvm-svn: 177816
|
|
|
|
|
|
|
|
|
|
|
| |
Changing -ccc-install-dir to affect cc1's resource-dir setting broke our
internal LNT tests. After discussing the situation with Jim, we've decided to
pursue an alternate approach. We really want the resource-dir to be located
relative to clang, even when using -ccc-install-dir, but we're going to
add a fallback setting for the libc++ headers if they don't exist alongside
the compiler.
llvm-svn: 177815
|
|
|
|
|
|
| |
<rdar://problem/12281172>
llvm-svn: 177814
|
|
|
|
|
|
|
|
|
|
|
|
| |
to an out-parameter using the indirect-writeback conversion,
and we copied the current value of the variable to the temporary,
make sure that we register an intrinsic use of that value with
the optimizer so that the value won't get released until we have
a chance to retain it.
rdar://13195034
llvm-svn: 177813
|
|
|
|
| |
llvm-svn: 177812
|
|
|
|
|
|
| |
the overhead of python interferes at all with our performance readings. We can try things out with this script and see how things go.
llvm-svn: 177811
|
|
|
|
| |
llvm-svn: 177810
|
|
|
|
|
|
|
| |
TemplateSpecializationType during template type diffing. This allows the
correct printing of diffing qualifiers on templates.
llvm-svn: 177809
|
|
|
|
|
|
|
|
|
|
| |
- memory delta and time for: target create
- memory delta and time for: setting breakpoint at main by name
- time to launch and hit bp at main
- overall memory of target create + bp main + run to main
- ovarall time of target create + bp main + run to main
llvm-svn: 177808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exports write() and flush() from SBCommandReturnObject to enable file-like output from Python commands.
e.g.:
def ls(debugger, command, result, internal_dict):
print >>result,”just “some output”
will produce
(lldb) ls
just “some output
(lldb)
llvm-svn: 177807
|
|
|
|
|
|
|
|
|
|
|
| |
In C, comparisons between signed and unsigned numbers are always done in
unsigned-space. Thus, we should know that "i >= 0U" is always true, even
if 'i' is signed. Similarly, "u >= 0" is also always true, even though '0'
is signed.
Part of <rdar://problem/13239003> (false positives related to std::vector)
llvm-svn: 177806
|
|
|
|
|
|
|
|
|
|
| |
For two concrete locations, we were producing another concrete location and
then casting it to an integer. We should just create a nonloc::ConcreteInt
to begin with.
No functionality change.
llvm-svn: 177805
|
|
|
|
|
|
|
|
| |
This allows us to compare two direct invocations of the analyzer on a
single source file without having to wrap the output plists in their
own directories.
llvm-svn: 177804
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can support the full range of comparison operations between two locations
by canonicalizing them as subtraction, as in the previous commit.
This won't work (well) if either location includes an offset, or (again)
if the comparisons are not consistent about which region comes first.
<rdar://problem/13239003>
llvm-svn: 177803
|
|
|
|
|
|
| |
...and adopt them in the analyzer.
llvm-svn: 177802
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Canonicalizing these two forms allows us to better model containers like
std::vector, which use "m_start != m_finish" to implement empty() but
"m_finish - m_start" to implement size(). The analyzer should have a
consistent interpretation of these two symbolic expressions, even though
it's not properly reasoning about either one yet.
The other unfortunate thing is that while the size() expression will only
ever be written "m_finish - m_start", the comparison may be written
"m_finish == m_start" or "m_start == m_finish". Right now the analyzer does
not attempt to canonicalize those two expressions, since it doesn't know
which length expression to pick. Doing this correctly will probably require
implementing unary minus as a new SymExpr kind (<rdar://problem/12351075>).
For now, the analyzer inverts the order of arguments in the comparison to
build the subtraction, on the assumption that "begin() != end()" is
written more often than "end() != begin()". This is purely speculation.
<rdar://problem/13239003>
llvm-svn: 177801
|
|
|
|
|
|
|
|
|
|
| |
We just treat this as opaque symbols, but even that allows us to handle
simple cases where the same condition is tested twice. This is very common
in the STL, which means that any project using the STL gets spurious errors.
Part of <rdar://problem/13239003>.
llvm-svn: 177800
|
|
|
|
|
|
|
|
| |
commands of the form
frame variable -f c-string foo
where foo is an arbitrary pointer (e.g. void*) now do the right thing, i.e. they deref the pointer and try to get a c-string at the pointed address instead of dumping the pointer bytes as a string. the old behavior is used as a fallback if things don’t go well
llvm-svn: 177799
|
|
|
|
|
|
|
|
|
| |
This silences the following warning:
'polly::ClastVisitor' has virtual functions but non-virtual destructor
[-Wnon-virtual-dtor]
llvm-svn: 177798
|
|
|
|
|
|
|
| |
for a getter used in property-dot syntax, if geter has its own
comment use it. // rdar://12791315
llvm-svn: 177797
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After this commit, polly is clang-format clean. This can be tested with
'ninja polly-check-format'. Updates to clang-format may change this, but the
differences will hopefully be both small and general improvements to the
formatting.
We currently have some not very nice formatting for a couple of items, DEBUG()
stmts for example. I believe the benefit of being clang-format clean outweights
the not perfect layout of this code.
llvm-svn: 177796
|
|
|
|
| |
llvm-svn: 177795
|
|
|
|
|
|
|
|
|
| |
class symbol in the same expression, handle all
of them instead of just the first one.
<rdar://problem/13440133>
llvm-svn: 177794
|
|
|
|
|
|
| |
file. This helps us avoid initializing python when it isn't needed.
llvm-svn: 177793
|
|
|
|
| |
llvm-svn: 177792
|
|
|
|
|
|
| |
also output the results to /dev/stdout when no outfile is supplied.
llvm-svn: 177791
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to in INADDR_LOOPBACK mode by default ("localhost only")
instead of INADDR_ANY ("accept connections from any system").
Add a new command line argument to debugserver, --open-connection
or -H which will enable the previous behavior. It would be used
if you were doing two-system debugging, with lldb running on one
system and debugserver running on the other. But it is a less
common workflow and should not be the default.
<rdar://problem/12583284>
llvm-svn: 177790
|
|
|
|
|
|
| |
and ensure it works with subscripting.
llvm-svn: 177789
|
|
|
|
| |
llvm-svn: 177788
|
|
|
|
| |
llvm-svn: 177787
|
|
|
|
|
|
|
| |
Even though we will soon get rid of this pass, we reformat it on the way to
make polly clang-format clean.
llvm-svn: 177786
|
|
|
|
| |
llvm-svn: 177785
|
|
|
|
|
|
|
| |
specify which symbols are exported to DSOs when the sanitizer is statically
linked into a binary.
llvm-svn: 177784
|
|
|
|
|
|
|
|
| |
linker via --dynamic-list instead of using --export-dynamic. This reduces the
size of the dynamic symbol table, and thus of the binary (in some cases by up
to ~30%).
llvm-svn: 177783
|
|
|
|
| |
llvm-svn: 177782
|
|
|
|
| |
llvm-svn: 177781
|
|
|
|
|
|
|
|
|
|
|
| |
177774 broke the lld-x86_64-darwin11 builder; error:
error: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long')
for (SI = 0; SI < Scavenged.size(); ++SI)
~~ ^ ~~~~~~~~~~~~~~~~
Fix this by making SI also unsigned.
llvm-svn: 177780
|
|
|
|
|
|
|
|
| |
skip every other float/double/long double as we extracted data
from a buffer.
<rdar://problem/13485062>
llvm-svn: 177779
|
|
|
|
|
|
|
|
| |
The new wording cannot be construed as suggesting the use of
SmallVectorImpl<T> as e.g. a class member (just because the class
happens to be in an interface).
llvm-svn: 177778
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given the following code
for (i = 0; i < 10; i++) {
;
}
S: A[i] = 0
When code generating S using scev based code generation, we need to retrieve
the scev of 'i' at the location of 'S'. If we do not do this the scev that
we obtain will be expressed as {0,+,1}_for and will reference loop iterators
that do not surround 'S' and that we consequently do not know how to code
generate. What we really want is the scev to be instantiated to the value of 'i'
after the loop. This value is {10} and it can be code generated without
troubles.
llvm-svn: 177777
|
|
|
|
| |
llvm-svn: 177776
|
|
|
|
| |
llvm-svn: 177775
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch lets the register scavenger make use of multiple spill slots in
order to guarantee that it will be able to provide multiple registers
simultaneously.
To support this, the RS's API has changed slightly: setScavengingFrameIndex /
getScavengingFrameIndex have been replaced by addScavengingFrameIndex /
isScavengingFrameIndex / getScavengingFrameIndices.
In forthcoming commits, the PowerPC backend will use this capability in order
to implement the spilling of condition registers, and some special-purpose
registers, without relying on r0 being reserved. In some cases, spilling these
registers requires two GPRs: one for addressing and one to hold the value being
transferred.
llvm-svn: 177774
|
|
|
|
|
|
|
|
| |
DWARFCallFrameInfo method which returns a RangeVector pre-size the
vector based on the number of entries it will be adding insted of
growing the vector as items are added.
llvm-svn: 177773
|
|
|
|
|
|
|
|
|
| |
Add "evaluate-tbaa" to print alias queries of loads/stores. Alias queries
between pointers do not include TBAA tags.
Add testing case for "placement new". TBAA currently says NoAlias.
llvm-svn: 177772
|
|
|
|
| |
llvm-svn: 177771
|
|
|
|
| |
llvm-svn: 177769
|
|
|
|
|
|
|
|
|
|
|
|
| |
isIncompleteType() returns true or false for template types depending on whether
the type is instantiated yet. In this context, that's arbitrary. The better way
to check for a complete type is RequireCompleteType().
Thanks to Eli Friedman for noticing this!
<rdar://problem/12700799>
llvm-svn: 177768
|