| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
iteration.
This on step toward non-iterative GVN. My local hack suggests that getting rid
of iteration will speedup GVN by 30%+ on a medium sized input (2k LOC, C++).
I cannot explain why not 2x or more at this moment.
llvm-svn: 181532
|
| |
|
|
| |
llvm-svn: 181531
|
| |
|
|
|
|
| |
getInvertedPredicatedOpcode() functions instead of switch cases.
llvm-svn: 181530
|
| |
|
|
|
|
|
|
|
|
| |
The compact unwind registers were defined in two different
places. It's better just to place them in the function that uses them
and specify that this is a 64-bit or 32-bit machine.
No functionality change.
llvm-svn: 181529
|
| |
|
|
|
|
|
|
|
| |
This patch fixes PR15601.
- Added check for whether the loop variable and the initializer have the same
type.
- Added tests.
llvm-svn: 181528
|
| |
|
|
|
|
| |
modified to use _Static_assert and to check __STDC_HOSTED__ by me.
llvm-svn: 181527
|
| |
|
|
| |
llvm-svn: 181526
|
| |
|
|
| |
llvm-svn: 181525
|
| |
|
|
|
|
|
| |
When we replace an internal alias with its target, be careful not to
replace the entry in llvm.used (and llvm.compiler_used).
llvm-svn: 181524
|
| |
|
|
|
|
| |
warn in pedantic mode.
llvm-svn: 181523
|
| |
|
|
|
|
| |
Updated reference and unit tests.
llvm-svn: 181522
|
| |
|
|
|
|
|
|
| |
'commands' will not go through typo fixit logic,
preserving the old behavior (no typo, no diagnostics).
// rdar://12381408
llvm-svn: 181521
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we only checked if the LR required saving if the frame size was
non zero. However because the caller reserves 1 word for the callee to use
that doesn't count towards our frame size it is possible for the LR to need
saving and for the frame size to be 0.
We didn't hit when the LR needed saving because of a function calls because
the 1 word of stack we must allocate for our callee means the frame size
is always non zero in this case. However we can hit this case if the LR is
clobbered in inline asm.
llvm-svn: 181520
|
| |
|
|
|
|
| |
The namespaceDecl() ASTMatcher was added in r179027.
llvm-svn: 181519
|
| |
|
|
|
|
|
| |
That's obviously wrong. Conservatively restrict it to the sign bit, which
matches the original intention of this analysis. Fixes PR15940.
llvm-svn: 181518
|
| |
|
|
|
|
| |
commands (\t \n are common). \\ rdar://12381408
llvm-svn: 181517
|
| |
|
|
|
|
|
| |
In most cases the relocation type implies the object word size and
endianness.
llvm-svn: 181515
|
| |
|
|
|
|
|
| |
GCC defines only the wrappers, MSVC defines both, we define both now too.
PR15844.
llvm-svn: 181514
|
| |
|
|
| |
llvm-svn: 181513
|
| |
|
|
|
|
| |
to completion on the gcc buildbot.
llvm-svn: 181512
|
| |
|
|
|
|
| |
Patch by Yao Qi.
llvm-svn: 181511
|
| |
|
|
| |
llvm-svn: 181510
|
| |
|
|
| |
llvm-svn: 181509
|
| |
|
|
|
|
| |
Add one of my contributions to CREDITS.TXT.
llvm-svn: 181508
|
| |
|
|
|
|
|
|
| |
object x, x's subobjects can be constructed by constexpr constructor even if
they are of non-literal type, and can be read and written even though they're
not members of a constexpr object or temporary.
llvm-svn: 181506
|
| |
|
|
|
|
| |
to the closing '}'
llvm-svn: 181505
|
| |
|
|
| |
llvm-svn: 181504
|
| |
|
|
|
|
| |
functionality change)
llvm-svn: 181503
|
| |
|
|
|
|
|
| |
It was only implemented for ELF where it collected the Addend, so this
patch also renames it to getRelocationAddend.
llvm-svn: 181502
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
namespace lldb_private {
class Thread
{
virtual lldb::StopInfoSP
GetPrivateStopReason() = 0;
};
}
To not be virtual. The lldb_private::Thread now handles the correct caching and will call a new pure virtual function:
namespace lldb_private {
class Thread
{
virtual bool
CalculateStopInfo() = 0;
}
}
This function must be overridden by thead lldb_private::Thread subclass and the only thing it needs to do is to set the Thread::StopInfo() with the current stop reason and return true, or return false if there is no stop reason. The lldb_private::Thread class will take care of calling this function only when it is required. This allows lldb_private::Thread subclasses to be a bit simpler and not all need to duplicate the cache and invalidation settings.
Also renamed:
lldb::StopInfoSP
lldb_private::Thread::GetPrivateStopReason();
To:
lldb::StopInfoSP
lldb_private::Thread::GetPrivateStopInfo();
Also cleaned up a case where the ThreadPlanStepOverBreakpoint might not re-set its breakpoint if the thread disappears (which was happening due to a bug when using the OperatingSystem plug-ins with memory threads and real threads).
llvm-svn: 181501
|
| |
|
|
|
|
| |
This one actually exploits the SB API to obtain information about your inferior process
llvm-svn: 181500
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
to the DeclContext. This fulfils the contract that
we make with Clang by returning ELR_AlreadyLoaded.
This is a little aggressive in that it does not allow
the ASTImporter to import the child decls with any
lexical parent other than the Decl that reported them
as children.
<rdar://problem/13517713>
llvm-svn: 181498
|
| |
|
|
|
|
|
|
| |
on the nexting always "getting it right" to stop at the locations of interest
This should make us more robust in the face of changing compiler line tables and other library modifications
llvm-svn: 181497
|
| |
|
|
|
|
|
|
| |
temporarily while investigating gdb.cp/templates.exp.
This reverts commit r181471.
llvm-svn: 181496
|
| |
|
|
|
|
|
|
|
| |
A computable loop exit count does not imply the presence of an induction
variable. Scalar evolution can return a value for an infinite loop.
Fixes PR15926.
llvm-svn: 181495
|
| |
|
|
|
|
|
|
|
| |
what they are in other .td files.
I really dislike the copy-pasting of the category strings. If there is a better
way to do this with TableGen, please advise.
llvm-svn: 181494
|
| |
|
|
| |
llvm-svn: 181493
|
| |
|
|
| |
llvm-svn: 181492
|
| |
|
|
|
|
|
|
|
|
| |
clang would omit 'C' for 'copy' properties and '&' for 'retain' properties if
the property was also 'readonly'. Fix this, which makes clang match gcc4.2's
behavior.
Fixes PR15928.
llvm-svn: 181491
|
| |
|
|
|
|
|
|
| |
This made sense in pre-module era, before merging of HeaderFileInfos was introduced.
Final part of rdar://13840148.
llvm-svn: 181490
|
| |
|
|
|
|
|
|
|
|
|
| |
HeaderFileInfo for headers not belonging to the module.
After r180934 we may initiate module map parsing for modules not related to the module what we are building,
make sure we ignore the header file info of headers from such modules.
First part of rdar://13840148
llvm-svn: 181489
|
| |
|
|
|
|
| |
process attach. Otherwise the target isn't valid. This fixes 2 test suite failures on darwin.
llvm-svn: 181488
|
| |
|
|
|
|
|
| |
under -Wdocumentation-unknown-command and off by default.
patch by Dmitri Gribenko.
llvm-svn: 181487
|
| |
|
|
| |
llvm-svn: 181486
|
| |
|
|
| |
llvm-svn: 181485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to acquire a lock before signal a condition.
Otherwise threads waiting on a condition variable can
miss a signal.
Consider two threads: Thread A executing dec() and thread
B executing sync(). The initial value of _count is 1. If
these two threads are interleaved in the following order,
thread B misses the signal sent by thread A, because at the
time thread A sends a signal, B is not waiting for it.
Thread A | Thread B
| std::unique_lock<std::mutex> lock(_condMut);
| while (!(_count == 0)) {
if (--_count == 0) |
_cond_notify_all() |
| _cond.wait();
| }
Note that "wait(lock, pred)" is equivalent to "while(!pred())
wait(lock)", so I expanded it in the above example.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D764
llvm-svn: 181484
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Add the explicit keyword to one-parameter
constructors to prevent unintended type conversions.
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D765
llvm-svn: 181483
|
| |
|
|
| |
llvm-svn: 181482
|
| |
|
|
| |
llvm-svn: 181481
|
| |
|
|
| |
llvm-svn: 181480
|