| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
casts
in multiple-return value scenarios, like what happens on X86-64 when returning
small structs.
llvm-svn: 157800
|
| |
|
|
| |
llvm-svn: 157799
|
| |
|
|
|
|
|
|
| |
types, as well as int<->ptr casts. This allows us to tailcall functions
with some trivial casts between the call and return (i.e. because the
return types disagree).
llvm-svn: 157798
|
| |
|
|
| |
llvm-svn: 157797
|
| |
|
|
| |
llvm-svn: 157796
|
| |
|
|
| |
llvm-svn: 157795
|
| |
|
|
| |
llvm-svn: 157794
|
| |
|
|
|
|
|
|
|
|
| |
We handle struct byval by inserting a pseudo op, which will be expanded to a
loop at ExpandISelPseudos.
A separate patch for clang will be submitted to enable struct byval.
rdar://9877866
llvm-svn: 157793
|
| |
|
|
|
|
|
| |
so a process connect without any plugin specified picks up the
gdb-remote plugin by default.
llvm-svn: 157792
|
| |
|
|
|
|
|
|
| |
separate process group, otherwise ^C will both cause us to try to Stop it manually, AND send it a SIGINT, which can confuse us.
rdar://problem/11369230
llvm-svn: 157791
|
| |
|
|
|
|
| |
is empty, then treat that interrupt as an instruction to Stop the process of the currently selected target.
llvm-svn: 157790
|
| |
|
|
|
|
| |
input line.
llvm-svn: 157789
|
| |
|
|
| |
llvm-svn: 157788
|
| |
|
|
|
|
| |
Part of rdar://11570854
llvm-svn: 157787
|
| |
|
|
|
|
| |
Part of rdar://11570854
llvm-svn: 157786
|
| |
|
|
|
|
|
|
|
|
| |
__bridge_retained/__bridge_transfer
when migrating.
rdar://11569198
llvm-svn: 157785
|
| |
|
|
|
|
| |
unevaluated field in C++11 mode. This fixes PR12866.
llvm-svn: 157784
|
| |
|
|
| |
llvm-svn: 157783
|
| |
|
|
|
|
|
|
|
|
| |
the confusion among all of the uses of Best* in relation to the set of
possible typo correction results. Also add a method to return the set of
typo corrections that have the single best edit distance--it returns the
second half of the first pair in TypoEditDistanceMap (with
getBestEditDistance already returning the first half).
llvm-svn: 157781
|
| |
|
|
|
|
|
| |
have correct pointer type or issue error,
instead of crashing in IRGen. // rdar:// 11569860
llvm-svn: 157780
|
| |
|
|
| |
llvm-svn: 157779
|
| |
|
|
|
|
| |
revised debug state fails, we need to recover the local cache to the previous known state.
llvm-svn: 157778
|
| |
|
|
|
|
| |
disabled by default for now; we can discusse the default value (& name) later
llvm-svn: 157777
|
| |
|
|
| |
llvm-svn: 157776
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- compute size & offset at the same time. The side-effects of this are that we now support negative GEPs. It's now approaching a phase that it can be reused by other passes (e.g., lowering of the objectsize intrinsic)
- use APInt throughout to handle wrap-arounds
- add support for PHI instrumentation
- add a cache (required for recursive PHIs anyway)
- remove hoisting support for now, since it was wrong in a few cases
sorry for the churn here.. tests will follow soon.
llvm-svn: 157775
|
| |
|
|
|
|
|
|
| |
now Reader and Writer subclasses for each file format. Each Reader and
Writer subclass defines an "options" class which controls how that Reader
or Writer operates.
llvm-svn: 157774
|
| |
|
|
|
|
| |
This way the constructors do all the hard work. No intended functionality change.
llvm-svn: 157773
|
| |
|
|
| |
llvm-svn: 157772
|
| |
|
|
|
|
| |
Improve logging a bit.
llvm-svn: 157771
|
| |
|
|
|
|
| |
interactive mode.
llvm-svn: 157770
|
| |
|
|
|
|
| |
rdar://problem/11562050
llvm-svn: 157767
|
| |
|
|
|
|
|
|
| |
thread is "suspended" that
should override the thread's thread plan's run state.
llvm-svn: 157766
|
| |
|
|
| |
llvm-svn: 157765
|
| |
|
|
| |
llvm-svn: 157764
|
| |
|
|
|
|
| |
Blanchard.
llvm-svn: 157763
|
| |
|
|
|
|
|
|
|
|
| |
We should lock the number of elements after the initial parsing is
complete. Recursive AST visitors in AnalyzesConsumer and CallGarph can
trigger lazy pch deserialization resulting in more calls to
HandleTopLevelDecl and appending to the LocalTUDecls list. We should
ignore those.
llvm-svn: 157762
|
| |
|
|
| |
llvm-svn: 157761
|
| |
|
|
| |
llvm-svn: 157760
|
| |
|
|
| |
llvm-svn: 157759
|
| |
|
|
|
|
|
| |
(which regularly conflicts with existing symbols
in Objective-C).
llvm-svn: 157758
|
| |
|
|
|
|
| |
Patch by Yiannis Tsiouris!
llvm-svn: 157757
|
| |
|
|
| |
llvm-svn: 157756
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will optimize the following
movq %rdi, %rax
subq %rsi, %rax
cmovsq %rsi, %rdi
movq %rdi, %rax
to
cmpq %rsi, %rdi
cmovsq %rsi, %rdi
movq %rdi, %rax
Perform this optimization if the actual result of SUB is not used.
rdar: 11540023
llvm-svn: 157755
|
| |
|
|
|
|
|
|
|
|
|
| |
Reg-units are named after their root registers, and most units have a
single root, so they simply print as 'AL', 'XMM0', etc. The rare dual
root reg-units print as FPSCR~FPSCR_NZCV, FP0~ST7, ...
The printing piggybacks on the existing register name tables, so no
extra const data space is required.
llvm-svn: 157754
|
| |
|
|
|
|
|
|
|
|
| |
Each register unit has one or two root registers. The full set of
registers containing a given register unit can be computed as the union
of the root registers and their super-registers.
Provide an MCRegUnitRootIterator class to enumerate the roots.
llvm-svn: 157753
|
| |
|
|
| |
llvm-svn: 157752
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed a case where multiple threads can be asking to send a packet to the GDB server and one of three things will happen:
1 - everything works
2 - one thread will fail to send the packet due to not being able to get the sequence mutex
3 - one thread will try and interrupt the other packet sending and fail and not send the packet
Now the flow is a bit different. Prior to this fix we did:
if (try_get_sequence_mutex()) {
send_packet()
return success;
} else {
if (async_ok) {
interrupt()
send_packet()
resume()
return success;
}
}
return fail
The issue is that the call to "try_get_sequence_mutex()" could fail if another thread was sending a packet and could cause us to just not send the packet and an error would be returned.
What we really want is to try and get the sequence mutex, and if this succeeds, send the packet. Else check if we are running and if we are, do what we used to do. The big difference is when we aren't running, we wait for the sequence mutex so we don't drop packets. Pseudo code is:
if (try_get_sequence_mutex()) {
// Safe to send the packet right away
send_packet()
return success;
} else {
if (running) {
// We are running, interrupt and send async packet if ok to do so,
// else it is ok to fail
if (async_ok) {
interrupt()
send_packet()
resume()
return success;
}
}
else {
// Not running, wait for the sequence mutex so we don't drop packets
get_sequence_mutex()
send_packet()
return success;
}
}
return fail
llvm-svn: 157751
|
| |
|
|
| |
llvm-svn: 157750
|
| |
|
|
|
|
|
| |
Also make the checks stronger and test that we reject ranges that overlap
a previous wrapped range.
llvm-svn: 157749
|
| |
|
|
| |
llvm-svn: 157748
|