| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 161832
|
| |
|
|
| |
llvm-svn: 161831
|
| |
|
|
|
|
|
| |
-fcatch-undefined-behavior. Don't try to fit 34 different flags
into 32 bits. Also, don't use 32-bit signed left shifts for this.
llvm-svn: 161830
|
| |
|
|
|
|
|
| |
returns 32. This change mirrors the corresponding code in
SmallDenseMap::shrink_and_clear().
llvm-svn: 161829
|
| |
|
|
| |
llvm-svn: 161828
|
| |
|
|
|
|
|
|
|
| |
tablegen code, found by -fcatch-undefined-behavior. I would appreciate if
someone more familiar with the NEON code could point me in the direction of how
to write a test for this. We appear to have essentially no test coverage
whatsoever for these builtins.
llvm-svn: 161827
|
| |
|
|
| |
llvm-svn: 161826
|
| |
|
|
|
|
| |
or it fails on msvc.
llvm-svn: 161825
|
| |
|
|
|
|
| |
return to the same directory.
llvm-svn: 161823
|
| |
|
|
| |
llvm-svn: 161822
|
| |
|
|
|
|
|
|
|
| |
The autorelease pool has not been implemented completely: we were adding
the autoreleased symbols to the state, but never looking at them. Until
we have a complete implementation, remove the overhead and comment out
the unused code.
llvm-svn: 161821
|
| |
|
|
|
|
|
|
|
|
|
| |
to set/get/remove the RefBinding.
No functional change here. Having these setter and getter methods will
make it much easier when replacing the underlining representation of
RefBindings (I just went through the exercise). It makes the code more
readable as well.
llvm-svn: 161820
|
| |
|
|
| |
llvm-svn: 161819
|
| |
|
|
|
|
|
|
| |
This allows us to store type info for non-symbolic regions.
No functionality change.
llvm-svn: 161811
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While there is now some duplication between SimpleCall and the CXXInstanceCall
sub-hierarchy, this is much better than copy-and-pasting the devirtualization
logic shared by both instance methods and destructors.
An unfortunate side effect is that there is no longer a single CallEvent type
that corresponds to "calls written as CallExprs". For the most part this is a
good thing, but the checker callback eval::Call still takes a CallExpr rather
than a CallEvent (since we're not sure if we want to allow checkers to
evaluate other kinds of calls). A mistake here will be caught by a cast<> in
CheckerManager::runCheckersForEvalCall.
No functionality change.
llvm-svn: 161809
|
| |
|
|
|
|
|
|
|
| |
Virtual base regions are never layered, so simply stripping them off won't
necessarily get you to the correct casted class. Instead, what we want is
the same logic for evaluating dynamic_cast: strip off base regions if possible,
but add new base regions if necessary.
llvm-svn: 161808
|
| |
|
|
|
|
| |
various rounding modes. Use this to implement SelectionDAG constant folding of FFLOOR, FCEIL, and FTRUNC.
llvm-svn: 161807
|
| |
|
|
|
|
| |
Change the test case, too.
llvm-svn: 161806
|
| |
|
|
| |
llvm-svn: 161805
|
| |
|
|
| |
llvm-svn: 161804
|
| |
|
|
|
|
|
|
|
|
|
|
| |
other passes, such as LoopRotate
may invalidate its AliasSet because SSAUpdater does not update the AliasSet properly.
This patch teaches SSAUpdater to notify AliasSet that it made changes.
The testcase in PR12901 is too big to be useful and I could not reduce it to a normal size.
rdar://11872059 PR12901
llvm-svn: 161803
|
| |
|
|
|
|
|
|
|
|
|
| |
function calls.
Currently, if GetLocation reports that it did not find a valid pointer (this is the case for volatile load/stores),
we ignore the result. This patch adds code to handle the cases where we did not obtain a valid pointer.
rdar://11872864 PR12899
llvm-svn: 161802
|
| |
|
|
|
|
| |
These tests weren't actually being run before (missing ':' after CHECK).
llvm-svn: 161800
|
| |
|
|
|
|
|
|
|
|
|
| |
This can occur with multiple inheritance, which jumps from one parent to
the other, and with virtual inheritance, since virtual base regions always
wrap the actual object and can't be nested within other base regions.
This also exposed some incorrect logic for multiple inheritance: even if B
is known not to derive from C, D might still derive from both of them.
llvm-svn: 161798
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...and /do/ strip CXXBaseObjectRegions when casting to a virtual base class.
This allows us to enforce the invariant that a CXXBaseObjectRegion can always
provide an offset for its base region if its base region has a known class
type, by only allowing virtual bases and direct non-virtual bases to form
CXXBaseObjectRegions.
This does mean some slight problems for our modeling of dynamic_cast, which
needs to be resolved by finding a path from the current region to the class
we're trying to cast to.
llvm-svn: 161797
|
| |
|
|
| |
llvm-svn: 161796
|
| |
|
|
|
|
|
|
|
| |
return 0x0 as the read value instead of uninitialized
stack data so we get consistent behavior from the
emulator.
<rdar://problem/12058770>
llvm-svn: 161795
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It never does anything when running 'make check', and it get's in the
way of updating live intervals in 2-addr.
The hook was originally added to help form IT blocks in Thumb2 code
before register allocation, but the pass ordering has changed since
then, and we run if-conversion after register allocation now.
When the MI scheduler is enabled, there will be no less than two
schedulers between 2-addr and Thumb2ITBlockPass, so this hook is
unlikely to help anything.
llvm-svn: 161794
|
| |
|
|
| |
llvm-svn: 161793
|
| |
|
|
| |
llvm-svn: 161792
|
| |
|
|
|
|
|
| |
forgot to set it as being instantiation-dependent as well as being type- and
value-dependent.
llvm-svn: 161791
|
| |
|
|
|
|
| |
rdar://9877866
llvm-svn: 161790
|
| |
|
|
|
|
|
|
| |
This change is to be enabled in clang.
rdar://9877866
llvm-svn: 161789
|
| |
|
|
| |
llvm-svn: 161788
|
| |
|
|
| |
llvm-svn: 161787
|
| |
|
|
|
|
| |
per Richard's comment.
llvm-svn: 161786
|
| |
|
|
|
|
|
| |
Record the snapshot of our watched value when the watchpoint is set or hit.
And report the old/new values when watchpoint is triggered. Add some test scenarios.
llvm-svn: 161785
|
| |
|
|
| |
llvm-svn: 161783
|
| |
|
|
| |
llvm-svn: 161782
|
| |
|
|
|
|
|
|
| |
It is still possible to if-convert if the tail block has extra
predecessors, but the tail phis must be rewritten instead of being
removed.
llvm-svn: 161781
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The AsmParser expects a single asm instruction, but valid ms-style inline asm
statements may contain multiple instructions.
This happens with asm blocks
__asm {
mov ebx, eax
mov ecx, ebx
}
or when multiple asm statements are adjacent to one another
__asm mov ebx, eax
__asm mov ecx, ebx
and
__asm mov ebx, eax __asm mov ecx, ebx
Currently, asm blocks are not properly handled.
llvm-svn: 161780
|
| |
|
|
|
|
| |
evaluated into a CXXTypeid member function. No functionality change.
llvm-svn: 161779
|
| |
|
|
|
|
|
|
|
|
| |
This was causing unnecessary spills/restores of callee saved registers.
Fixes PR13572.
Patch by Pranav Bhandarkar!
llvm-svn: 161778
|
| |
|
|
| |
llvm-svn: 161777
|
| |
|
|
| |
llvm-svn: 161776
|
| |
|
|
|
|
|
|
| |
ISDNode has more than one user.
rdar://11876519
llvm-svn: 161775
|
| |
|
|
|
|
| |
Make the crashlog parser able to deal with spaces in the process name.
llvm-svn: 161772
|
| |
|
|
|
|
| |
descriptors
llvm-svn: 161770
|
| |
|
|
|
|
|
|
|
| |
OpTbl1 to OpTbl2 since they have 3 operands and the last operand can be changed
to a memory operand.
PR13576
llvm-svn: 161769
|
| |
|
|
|
|
| |
Patch by Weiming Zhao.
llvm-svn: 161768
|