| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 123855
|
| |
|
|
|
|
|
|
| |
Turn on the __has_feature switch for variadic templates, document
their completion, and put the ExtWarn into the c++0x-extensions
warning group.
llvm-svn: 123854
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Region splitting includes loop splitting as a subset, and it is more generic.
The splitting heuristics for variables that are live in more than one block are
now:
1. Try to create a region that covers multiple basic blocks.
2. Try to create a new live range for each block with multiple uses.
3. Spill.
Steps 2 and 3 are similar to what the standard spiller is doing.
llvm-svn: 123853
|
| |
|
|
|
|
|
|
| |
ExtWarn. We want variadic templates to be usable in libc++/libstdc++
headers even when we're in C++98/03 mode, since it's the only clean
way to implement TR1 <functional>.
llvm-svn: 123852
|
| |
|
|
|
|
|
| |
reuse it for BlockDeclRefExpr. Do so, fixing the dependence calculate
for BlockDeclRefExpr.
llvm-svn: 123851
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
together. In particular:
- Handle the use of captured parameter pack names within blocks
(BlockDeclRefExpr understands parameter packs now)
- Handle the declaration and expansion of parameter packs within a block's
parameter list, e.g., ^(Args ...args) { ... })
- Handle instantiation of blocks where the return type was not
explicitly specified. (unrelated, but necessary for my tests).
Together, these fixes should make blocks and variadic templates work
reasonably well together. Note that BlockDeclRefExpr is still broken
w.r.t. its computation of type and value dependence, which will still
cause problems for blocks in templates.
llvm-svn: 123849
|
| |
|
|
| |
llvm-svn: 123848
|
| |
|
|
| |
llvm-svn: 123846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a pack expansion, e.g., the parameter pack Values in:
template<typename ...Types>
struct Outer {
template<Types ...Values>
struct Inner;
};
This new implementation approach introduces the notion of an
"expanded" non-type template parameter pack, for which we have already
expanded the types of the parameter pack (to, say, "int*, float*",
for Outer<int*, float*>) but have not yet expanded the values. Aside
from creating these expanded non-type template parameter packs, this
patch updates template argument checking and non-type template
parameter pack instantiation to make use of the appropriate types in
the parameter pack.
llvm-svn: 123845
|
| |
|
|
| |
llvm-svn: 123844
|
| |
|
|
|
|
| |
since different options can affect the run time.
llvm-svn: 123843
|
| |
|
|
| |
llvm-svn: 123842
|
| |
|
|
|
|
| |
making it way too big.
llvm-svn: 123841
|
| |
|
|
| |
llvm-svn: 123840
|
| |
|
|
|
|
| |
in pretending otherwise.
llvm-svn: 123839
|
| |
|
|
|
|
|
|
|
|
|
| |
by indvars through the scev expander.
trunc(add x, y) --> add(trunc x, y). Currently SCEV largely folds the other way
which is probably wrong, but preserved to minimize churn. Instcombine doesn't
do this fold either, demonstrating a missed optz'n opportunity on code doing
add+trunc+add.
llvm-svn: 123838
|
| |
|
|
|
|
| |
for mcr and mrc
llvm-svn: 123837
|
| |
|
|
|
|
| |
a typo for !=). Fixes PR9001, from Hans Wennborg!
llvm-svn: 123836
|
| |
|
|
|
|
|
| |
definition, rather than complaining about it. Problem reported by
Marshall Clow.
llvm-svn: 123835
|
| |
|
|
| |
llvm-svn: 123834
|
| |
|
|
| |
llvm-svn: 123833
|
| |
|
|
| |
llvm-svn: 123832
|
| |
|
|
| |
llvm-svn: 123823
|
| |
|
|
|
|
|
| |
there's a respectable point of instantiation. Also, make sure we do
this operation even when instantiating a dependently-typed variable.
llvm-svn: 123818
|
| |
|
|
|
|
|
|
|
|
|
|
| |
outermost array types and not on the element type. Move the CanonicalType
member from Type to ExtQualsTypeCommonBase; the canonical type on an ExtQuals
node includes the qualifiers on the ExtQuals. Assorted optimizations enabled
by this change.
getQualifiers(), hasQualifiers(), etc. should all now implicitly look through
array types.
llvm-svn: 123817
|
| |
|
|
| |
llvm-svn: 123816
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
500 ms.
Make MachThreadList more threadsafe.
Added code to make sure the thread register state was properly flushed for x86_64.
Fixed an missing return code for the current thread in the new thread suffix code.
Improved debugserver logging.
llvm-svn: 123815
|
| |
|
|
|
|
| |
thousand other things which were (generally inadvertantly) relying on that.
llvm-svn: 123814
|
| |
|
|
| |
llvm-svn: 123813
|
| |
|
|
|
|
|
|
| |
of the floating point types less than 64-bits. It's somewhat of a temporary
hack but forces more accurate modeling of register pressure and results
in fewer spills.
llvm-svn: 123811
|
| |
|
|
| |
llvm-svn: 123810
|
| |
|
|
|
|
| |
materialize GA indirect symbols.
llvm-svn: 123809
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
cProfile.py
module.
On my MBP running SnowLeopard:
$ DOTEST_PROFILE=YES DOTEST_SCRIPT_DIR=/Volumes/data/lldb/svn/trunk/test /System/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/cProfile.py -o my.profile ./dotest.py -v -w 2> ~/Developer/Log/lldbtest.log
After that, I used the pstats.py module to browse the statistics recorded in the my.profile file.
llvm-svn: 123807
|
| |
|
|
|
|
|
|
| |
"process launch" or "run" interpreter command. Let's do the sleep only if
the process launch failed. This saves about 135 seconds from the whole test
suite run time.
llvm-svn: 123806
|
| |
|
|
|
|
| |
counterparts where char units are needed.
llvm-svn: 123805
|
| |
|
|
| |
llvm-svn: 123804
|
| |
|
|
|
|
|
| |
This patch removes a potential race condition between a process monitor thread
and its parent waiting to interrogate the success/failure of the launch.
llvm-svn: 123803
|
| |
|
|
| |
llvm-svn: 123802
|
| |
|
|
| |
llvm-svn: 123801
|
| |
|
|
|
|
|
| |
The previous implementation of HardwareSingleStep wrongly resumed the thread and
single-stepped over the next instruction. Use the proper call to ProcessMonitor.
llvm-svn: 123800
|
| |
|
|
|
|
|
|
| |
Previous version simply resumed the associated thread to single step over a
single instruction which is not the intended semantics for this method. Set the
appropriate bit in the rflags register instead.
llvm-svn: 123799
|
| |
|
|
|
|
|
| |
Also, this patch adds a few delimiters to the register enumeration to enable
efficient testing of register set inclusion.
llvm-svn: 123798
|
| |
|
|
| |
llvm-svn: 123797
|
| |
|
|
| |
llvm-svn: 123796
|
| |
|
|
| |
llvm-svn: 123795
|
| |
|
|
|
|
|
| |
This fixes a bug where the dynamic loader rendezvous was not updating its
internal state when first initialized.
llvm-svn: 123794
|
| |
|
|
|
|
| |
clang_createTranslationUnitFromSourceFile().
llvm-svn: 123793
|
| |
|
|
|
|
| |
rdar://problem/8875425 Found mySource->isa local variable assertion failed
llvm-svn: 123792
|
| |
|
|
| |
llvm-svn: 123791
|
| |
|
|
| |
llvm-svn: 123790
|