| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Based on a patch by Yin Ma!
llvm-svn: 161998
|
| |
|
|
|
|
| |
late-parsed attribute is attached to an invalid declaration.
llvm-svn: 161997
|
| |
|
|
| |
llvm-svn: 161995
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ARM select instructions are just predicated moves. If the select is
the only use of an operand, the instruction defining the operand can be
predicated instead, saving one instruction and decreasing register
pressure.
This implementation can turn AND/ORR/EOR instructions into their
corresponding ANDCC/ORRCC/EORCC variants. Ideally, we should be able to
predicate any instruction, but we don't yet support predicated
instructions in SSA form.
llvm-svn: 161994
|
| |
|
|
|
|
|
| |
Add an lldb command line option to specify a core file: --core/-c.
For consistency, change the "target create" command to also use --core.
llvm-svn: 161993
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is analogous to our handling of pointer dereferences: if we
dereference a pointer that may or may not be null, we assume it's non-null
from then on.
While some implementations of C++ (including ours) allow you to call a
non-virtual method through a null pointer of object type, it is technically
disallowed by the C++ standard, and should not prune out any real paths in
practice.
[class.mfct.non-static]p1: A non-static member function may be called
for an object of its class type, or for an object of a class derived
from its class type...
(a null pointer value does not refer to an object)
We can also make the same assumption about function pointers.
llvm-svn: 161992
|
| |
|
|
| |
llvm-svn: 161991
|
| |
|
|
| |
llvm-svn: 161990
|
| |
|
|
| |
llvm-svn: 161989
|
| |
|
|
|
|
| |
building the AsmString.
llvm-svn: 161988
|
| |
|
|
|
|
| |
Fixes a mistake introduced in r161916.
llvm-svn: 161987
|
| |
|
|
|
|
|
|
|
|
|
|
| |
statement. For example,
if (x)
__asm out dx, ax __asm out dx, ax
results in a single inline asm statement (i.e., both "out dx, ax" statements are
predicated on if(x)).
llvm-svn: 161986
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
around. That's not how we do things. Besides, the commit message tells us that
it is covered by the GCC test suite.
------------------------------------------------------------------------
r127497 | zwarich | 2011-03-11 13:51:56 -0800 (Fri, 11 Mar 2011) | 3 lines
Fix the GCC test suite issue exposed by r127477, which was caused by stack
protector insertion not working correctly with unreachable code. Since that
revision was rolled out, this test doesn't actual fail before this fix.
------------------------------------------------------------------------
llvm-svn: 161985
|
| |
|
|
|
|
|
|
|
|
| |
allocations of executable memory would not be padded
to account for the size of the allocation header.
This resulted in undersized allocations, meaning that
when the allocation was written to later the next
allocation's header would be corrupted.
llvm-svn: 161984
|
| |
|
|
|
|
|
| |
This can be used to tell TableGen to use a specific SubRegIndex instead
of synthesizing one when discovering all sub-registers.
llvm-svn: 161982
|
| |
|
|
|
|
|
|
|
| |
This is the other half of C++11 [class.cdtor]p4 (the destructor side
was added in r161915). This also fixes an issue with post-call checks
where the 'this' value was already being cleaned out of the state, thus
being omitted from a reconstructed CXXConstructorCall.
llvm-svn: 161981
|
| |
|
|
| |
llvm-svn: 161980
|
| |
|
|
| |
llvm-svn: 161979
|
| |
|
|
| |
llvm-svn: 161978
|
| |
|
|
|
|
| |
anyways. Also, simplify some conditional logic.
llvm-svn: 161977
|
| |
|
|
| |
llvm-svn: 161976
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should replace uses of:
class A {
A(const &A); // DO NOT IMPLEMENT
public:
...
};
llvm-svn: 161975
|
| |
|
|
| |
llvm-svn: 161974
|
| |
|
|
|
|
| |
Patch by Andy Gibbs <andyg1001@hotmail.co.uk>
llvm-svn: 161973
|
| |
|
|
|
|
|
|
| |
as it does something unexpected (but gcc compatible).
Suggest use of __attribute__((visibility("hidden")))
on declaration instead. // rdar://7703982
llvm-svn: 161972
|
| |
|
|
|
|
|
| |
Changed the alignment of an LValue to be 64 bits so that we can handle
alignment values up to half of a 64-bit address space.
llvm-svn: 161971
|
| |
|
|
|
|
| |
infinity. Problem and solution identified by Steve Canon.
llvm-svn: 161969
|
| |
|
|
|
|
|
| |
This is a reapplication of r161914 now that the scoping issue has been resolved
in r161966.
llvm-svn: 161967
|
| |
|
|
| |
llvm-svn: 161966
|
| |
|
|
|
|
|
|
|
|
|
| |
TableGen sometimes synthesizes missing sub-register indexes. Emit these
indexes as enumerators in the target namespace along with the
user-defined ones.
Also take this opportunity to stop creating new Record objects for
synthetic indexes.
llvm-svn: 161964
|
| |
|
|
| |
llvm-svn: 161963
|
| |
|
|
|
|
| |
unaligned access. rdar://12091029
llvm-svn: 161962
|
| |
|
|
|
|
| |
A similar issue to the previous commit, introduced by r161915.
llvm-svn: 161961
|
| |
|
|
|
|
|
|
|
|
|
|
| |
With reinterpret_cast, we can get completely unrelated types in a region
hierarchy together; this was resulting in CXXBaseObjectRegions being layered
directly on an (untyped) SymbolicRegion, whose symbol was from a completely
different type hierarchy. This was what was causing the internal buildbot to
fail.
Reverts r161911, which merely masked the problem.
llvm-svn: 161960
|
| |
|
|
|
|
| |
block is freed
llvm-svn: 161959
|
| |
|
|
|
|
| |
printer. Patch by Enea Zaffanella <zaffanella@cs.unipr.it>.
llvm-svn: 161958
|
| |
|
|
| |
llvm-svn: 161957
|
| |
|
|
| |
llvm-svn: 161956
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When predicating this instruction:
Rd = ADD Rn, Rm
We need an extra operand to represent the value given to Rd when the
predicate is false:
Rd = ADDCC Rfalse, Rn, Rm, pred
The Rd and Rfalse operands are different registers while in SSA form.
Rfalse is tied to Rd to make sure they get the same register during
register allocation.
Previously, Rd and Rn were tied, but that is not required.
Compare to MOVCC:
Rd = MOVCC Rfalse, Rtrue, pred
llvm-svn: 161955
|
| |
|
|
| |
llvm-svn: 161954
|
| |
|
|
| |
llvm-svn: 161953
|
| |
|
|
|
|
|
|
| |
wrapped functions and their wrappers.
Those declarations are going to be shared between asan_interceptors.cc and the dynamic runtime library on Mac OS.
llvm-svn: 161952
|
| |
|
|
|
|
| |
Mac. Port output test change in r161948 to lit
llvm-svn: 161951
|
| |
|
|
| |
llvm-svn: 161950
|
| |
|
|
| |
llvm-svn: 161949
|
| |
|
|
|
|
| |
asan_symbolize.py on -fPIE binaries.
llvm-svn: 161948
|
| |
|
|
|
|
|
|
| |
the absolute address.
Fixes the problem with -PIE binaries.
llvm-svn: 161947
|
| |
|
|
| |
llvm-svn: 161946
|
| |
|
|
|
|
| |
asan_malloc_mac.cc may use it in the dynamic library mode.
llvm-svn: 161945
|
| |
|
|
|
|
|
|
|
|
| |
instruction to something absurdly high, while setting the probability of
branching to the 'unwind' destination to the bare minimum. This should set cause
the normal destination's invoke blocks to be moved closer to the invoke.
PR13612
llvm-svn: 161944
|