| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
There's some unused stuff for now.
llvm-svn: 130912
|
| |
|
|
|
|
| |
crash.
llvm-svn: 130911
|
| |
|
|
|
|
|
| |
integer and the register byte size matches the size of a pointer. This removes
the "--lookup" option.
llvm-svn: 130910
|
| |
|
|
| |
llvm-svn: 130909
|
| |
|
|
|
|
| |
hook was added if the input was interrupted.
llvm-svn: 130907
|
| |
|
|
| |
llvm-svn: 130906
|
| |
|
|
|
|
|
|
|
|
|
|
| |
o lldb.debugger
o lldb.target
o lldb.process
o lldb.thread
o lldb.frame
"just works" when we stop at a breakpoint.
llvm-svn: 130904
|
| |
|
|
| |
llvm-svn: 130903
|
| |
|
|
|
|
|
|
|
|
| |
the overloading of member and non-member functions results in arity
mismatches that don't fit well into our overload-printing scheme. This
only happens for invalid code (which breaks the arity invariants for
these cases), so just suppress the diagnostic rather than inventing
anything new. Fixes <rdar://problem/9222009>.
llvm-svn: 130902
|
| |
|
|
|
|
| |
foo.pic.gcno instead of foo.gcno.
llvm-svn: 130899
|
| |
|
|
| |
llvm-svn: 130898
|
| |
|
|
|
|
| |
filename.
llvm-svn: 130897
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Joining physregs is inherently dangerous because it uses a heuristic to avoid
creating invalid code. Linear scan had an emergency spilling mechanism to deal
with those rare cases. The new greedy allocator does not.
The greedy register allocator is much better at taking hints, so this has almost
no impact on code size and quality. The few cases where it matters show up as
unit tests that now have -join-physregs enabled explicitly.
llvm-svn: 130896
|
| |
|
|
| |
llvm-svn: 130895
|
| |
|
|
| |
llvm-svn: 130894
|
| |
|
|
| |
llvm-svn: 130893
|
| |
|
|
|
|
|
| |
It is OK for B to be any GR8_ABCD_H superclass, the returned register class
doesn't have to map surjectively onto B.
llvm-svn: 130892
|
| |
|
|
|
|
|
|
| |
Most of these tests require a single mov instruction that can come either before
or after a 2-addr instruction. -join-physregs changes the behavior, but the
results are equivalent.
llvm-svn: 130891
|
| |
|
|
|
|
|
| |
that we've previously seen, both in declared methods and from previous
KVC completions, to eliminate duplicates. Fixes <rdar://problem/9162207>.
llvm-svn: 130890
|
| |
|
|
| |
llvm-svn: 130889
|
| |
|
|
|
|
|
|
|
| |
Increase robustness of the delegating constructor cycle detection
mechanism. No more infinite loops on invalid or logic errors leading to
false results. Ensure that this is maintained correctly accross
serialization.
llvm-svn: 130887
|
| |
|
|
|
|
| |
crashes during PCH validation.
llvm-svn: 130886
|
| |
|
|
| |
llvm-svn: 130885
|
| |
|
|
|
|
| |
the default register allocator is changed.
llvm-svn: 130883
|
| |
|
|
|
|
|
|
| |
information. Rather than looking at the declaration kind to figure out
what TypeLoc to build, look at the type; it makes so much more
sense. Fixes <rdar://problem/9086649>.
llvm-svn: 130882
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
landing pad as its successor.
SjLj exception handling jumps to the correct landing pad via a switch statement
that's generated right before code-gen. Loosen the constraint in the machine
instruction verifier to allow for this. Note, this isn't the most rigorous check
since we cannot determine where that switch statement came from. But it's
marginally better than turning this check off when SjLj exceptions are used.
<rdar://problem/9187612>
llvm-svn: 130881
|
| |
|
|
| |
llvm-svn: 130880
|
| |
|
|
|
|
|
| |
That's kinda weird because the .gcno files are supposed to already be there,
but libgcov does this and somehow Google has managed to depend on it.
llvm-svn: 130879
|
| |
|
|
|
|
|
|
| |
We can use this to produce nice diagnostics (and try to fixit-and-recover) in
various cases where we might see "MyFunction" instead of "MyFunction()". The
changes in SemaExpr are an example of how to use isExprCallable.
llvm-svn: 130878
|
| |
|
|
|
|
|
|
|
|
| |
edge in some cases.
Original message:
Teach MachineCSE how to do simple cross-block CSE involving physregs. This allows, for example, eliminating duplicate cmpl's on x86. Part of rdar://problem/8259436 .
llvm-svn: 130877
|
| |
|
|
| |
llvm-svn: 130876
|
| |
|
|
|
|
| |
alignment 4 is wrong) and requires hard-float.
llvm-svn: 130875
|
| |
|
|
|
|
| |
the instruction's debug location as current debug location.
llvm-svn: 130874
|
| |
|
|
|
|
|
| |
template parameter of type 'bool', force the value to be zero or
one. Fixes <rdar://problem/9169404>.
llvm-svn: 130873
|
| |
|
|
| |
llvm-svn: 130872
|
| |
|
|
|
|
| |
history for a particular substring, using ctrl-r key.
llvm-svn: 130871
|
| |
|
|
|
|
|
|
|
|
| |
Ivar offsets for synthesized ivars are wrong, which could end up with a large
number of dirty pages because of ivar fixups at runtime. When we pack all of the
synthesized ivars into the same section, it limits the number of dirty pages
created. Place them in the "__DATA,__objc_ivar" section.
<rdar://problem/9374905>
llvm-svn: 130870
|
| |
|
|
| |
llvm-svn: 130869
|
| |
|
|
| |
llvm-svn: 130867
|
| |
|
|
| |
llvm-svn: 130866
|
| |
|
|
| |
llvm-svn: 130865
|
| |
|
|
| |
llvm-svn: 130864
|
| |
|
|
|
|
| |
allows, for example, eliminating duplicate cmpl's on x86. Part of rdar://problem/8259436 .
llvm-svn: 130862
|
| |
|
|
|
|
| |
Clang.
llvm-svn: 130861
|
| |
|
|
| |
llvm-svn: 130860
|
| |
|
|
| |
llvm-svn: 130859
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These tests all follow the same pattern:
mov r2, r0
movs r0, #0
$CMP r2, r1
it eq
moveq r0, #1
bx lr
The first 'mov' can be eliminated by rematerializing 'movs r0, #0' below the
test instruction:
$CMP r0, r1
mov.w r0, #0
it eq
moveq r0, #1
bx lr
So far, only physreg coalescing can do that. The register allocators won't yet
split live ranges just to eliminate copies. They can learn, but this particular
problem is not likely to show up in real code. It only appears because r0 is
used for both the function argument and return value.
llvm-svn: 130858
|
| |
|
|
|
|
| |
cross-class joins.
llvm-svn: 130857
|
| |
|
|
| |
llvm-svn: 130856
|
| |
|
|
| |
llvm-svn: 130855
|