| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 99859
|
| |
|
|
|
|
| |
This reduces '-c -g' time on one file in 403.gcc by 12%.
llvm-svn: 99857
|
| |
|
|
| |
llvm-svn: 99855
|
| |
|
|
|
|
|
|
|
| |
storage for that partial diagnostic via the ASTContext's
BumpPtrAllocator rather than using up slots in the ASTContext's
cache. Now that we do this, we don't have to worry about destroying
dependent diagnostics when destroying a DependentStoredDeclsMap.
llvm-svn: 99854
|
| |
|
|
| |
llvm-svn: 99853
|
| |
|
|
|
|
|
| |
catch-all. The "dominates" way won't catch all of the selectors which must be
changed.
llvm-svn: 99850
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
cache of PartialDiagnostic::Storage objects into an allocator within
the ASTContext. This eliminates a significant amount of malloc
traffic, for a 10% performance improvement in -fsyntax-only wall-clock
time with 403.gcc's combine.c.
Also, eliminate the RequireNonAbstractType hack I put in earlier,
which was but a symptom of this larger problem.
Fixes <rdar://problem/7806091>.
llvm-svn: 99849
|
| |
|
|
|
|
| |
Cross-block inference is primitive and wrong, but the pass is working otherwise.
llvm-svn: 99848
|
| |
|
|
|
|
|
|
|
|
|
| |
transform. I.e., if a clean-up eh.selector call dominates the invoke of an
_Unwind_Resume_or_Rethrow, then we convert the eh.selector into a
catch-all. This patch, however, uses the DominatorTree information, and doesn't
go through the whole rigmarole of starting at the eh.exception call, finding the
corresponding URoR and eh.selector calls, and trying to trace through any number
of instruction types to get to them.
llvm-svn: 99846
|
| |
|
|
|
|
| |
instruction, in a variable's DIE.
llvm-svn: 99845
|
| |
|
|
| |
llvm-svn: 99843
|
| |
|
|
| |
llvm-svn: 99842
|
| |
|
|
|
|
|
| |
isn't used by anyone and is better exposed as a non-per-timer
thing. Also, stop including System/Mutex.h in Timer.h
llvm-svn: 99841
|
| |
|
|
| |
llvm-svn: 99840
|
| |
|
|
|
|
|
|
|
| |
eliminate the per-timer lock (timers should be
externally locked if needed), the info-output-stream
can never be dbgs(), so drop the check. Make some
stuff private.
llvm-svn: 99839
|
| |
|
|
|
|
|
| |
makes calls a little bit more consistent and allows easy removal of the
specializations in the future. Convert all callers to the templated functions.
llvm-svn: 99838
|
| |
|
|
| |
llvm-svn: 99836
|
| |
|
|
|
|
| |
the SDNodes.
llvm-svn: 99835
|
| |
|
|
| |
llvm-svn: 99834
|
| |
|
|
| |
llvm-svn: 99833
|
| |
|
|
|
|
| |
not stop it by using RAII.
llvm-svn: 99832
|
| |
|
|
| |
llvm-svn: 99831
|
| |
|
|
|
|
| |
a 2.47% speedup in 403.gcc.
llvm-svn: 99830
|
| |
|
|
|
|
| |
of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251.
llvm-svn: 99829
|
| |
|
|
| |
llvm-svn: 99828
|
| |
|
|
|
|
|
| |
Most of these were unused, some of them were wrong and unused (isS16Constant<short>,
isS10Constant<short>).
llvm-svn: 99827
|
| |
|
|
| |
llvm-svn: 99826
|
| |
|
|
|
|
| |
John Tytgat
llvm-svn: 99825
|
| |
|
|
| |
llvm-svn: 99824
|
| |
|
|
|
|
|
|
| |
codegen time
on one .i file from 403.gcc by 0.5%.
llvm-svn: 99823
|
| |
|
|
|
|
| |
PR6661, patch by Ori Avtalion!
llvm-svn: 99821
|
| |
|
|
| |
llvm-svn: 99820
|
| |
|
|
|
|
|
|
| |
"the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions:
-in vararg handling, registers are marked to be live, to not confuse the register scavenger
-function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack."
llvm-svn: 99819
|
| |
|
|
| |
llvm-svn: 99818
|
| |
|
|
|
|
| |
Anton Yartsev!
llvm-svn: 99817
|
| |
|
|
|
|
|
|
| |
AsmPrinter.cpp.
This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions.
llvm-svn: 99816
|
| |
|
|
| |
llvm-svn: 99815
|
| |
|
|
| |
llvm-svn: 99812
|
| |
|
|
|
|
| |
end of a struct/class/union in C++, from Justin Bogner!
llvm-svn: 99811
|
| |
|
|
| |
llvm-svn: 99807
|
| |
|
|
|
|
| |
initializing virtual bases in the wrong order.
llvm-svn: 99806
|
| |
|
|
|
|
|
| |
This patch moves some methods from QualType to Type and changes the users to
use -> instead of .
llvm-svn: 99805
|
| |
|
|
|
|
| |
everything by setting a flag inside CGVtable.cpp. My plan is to run some tests and bootstrap and once that's done flip the bit.
llvm-svn: 99804
|
| |
|
|
| |
llvm-svn: 99803
|
| |
|
|
|
|
| |
output. (I am not a sed expert so this might be terribly inefficient :)
llvm-svn: 99802
|
| |
|
|
|
|
| |
was seeing in files generated by the vtable tester utility.
llvm-svn: 99801
|
| |
|
|
|
|
| |
verified that clang bootstraps with this.
llvm-svn: 99800
|
| |
|
|
| |
llvm-svn: 99799
|
| |
|
|
| |
llvm-svn: 99798
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doesn't need to be stable because the patterns are fully ordered.
Add a first level sort predicate that orders patterns in this
order: 1) scalar integer operations 2) scalar floating point
3) vector int 4) vector float. This is a trivial sort on their
top level pattern type so it is nice and transitive. The
benefit of doing this is that simple integer operations are
much more common than insane vector things and isel was trying
to match the big complex vector patterns before the simple
ones because the complexity of the vector operations was much
higher. Since they can't both match, it is best (for compile
time) to try the simple integer ones first.
This cuts down the # failed match attempts on real code by
quite a bit, for example, this reduces backtracks on crafty
(as a random example) from 228285 -> 188369.
llvm-svn: 99797
|