| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Add or Remove operation complete, and not while building the intermediate tree.
This trades a little bit more memory usage for less accesses to the FoldingSet. On a benchmark for the clang static analyzer, this shaves off another 13% of execution time when using field/array sensitivity.
llvm-svn: 80955
|
| |
|
|
| |
llvm-svn: 80954
|
| |
|
|
|
|
|
|
|
| |
involve qualified names, e.g., x->Base::f. We now maintain enough
information in the AST to compare the results of the name lookup of
"Base" in the scope of the postfix-expression (determined at template
definition time) and in the type of the object expression.
llvm-svn: 80953
|
| |
|
|
|
|
|
| |
as referecned with location where they are used. Still
need to look at destructor aspects of them.
llvm-svn: 80950
|
| |
|
|
|
|
|
| |
on a self-hosted build (although it seems to work on non-self hosted). I'll work
with Andreas to figure this out.
llvm-svn: 80947
|
| |
|
|
| |
llvm-svn: 80946
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for the complicated case where one register is tied to multiple destinations.
This avoids the extra scan of instruction operands that was introduced by
my recent change. I also pulled some code out into a separate
TryInstructionTransform method, added more comments, and renamed some
variables.
Besides all those changes, this takes care of a FIXME in the code regarding
an assumption about there being a single tied use of a register when
converting to a 3-address form. I'm not aware of cases where that assumption
is violated, but the code now only attempts to transform an instruction,
either by commuting its operands or by converting to a 3-address form,
for the simple case where there is a single pair of tied operands.
llvm-svn: 80945
|
| |
|
|
| |
llvm-svn: 80943
|
| |
|
|
| |
llvm-svn: 80942
|
| |
|
|
| |
llvm-svn: 80941
|
| |
|
|
|
|
| |
swapping the operands if necessary.
llvm-svn: 80940
|
| |
|
|
| |
llvm-svn: 80939
|
| |
|
|
| |
llvm-svn: 80938
|
| |
|
|
| |
llvm-svn: 80937
|
| |
|
|
|
|
| |
Changed the old vector shift test to use FileCheck
llvm-svn: 80936
|
| |
|
|
|
|
|
|
|
| |
- when transforming a vector shift of a non-immediate scalar shift amount, zero
extend the i32 shift amount to i64 since the vector shift reads 64 bits
- when transforming i16 vectors to use a vector shift, zero extend i16 shift amount
- improve the code quality in some cases when transforming vectors to use a vector shift
llvm-svn: 80935
|
| |
|
|
|
|
|
|
| |
reference/const data members when user has declared
the constructor. This necessitated some non-minor
refactoring.
llvm-svn: 80934
|
| |
|
|
| |
llvm-svn: 80933
|
| |
|
|
|
|
| |
clang_getTranslationUnitSpelling().
llvm-svn: 80932
|
| |
|
|
|
|
|
|
|
| |
disabling the use of 16-bit operations on x86. This doesn't yet work for
inline asms with 16-bit constraints, vectors with 16-bit elements,
trampoline code, and perhaps other obscurities, but it's enough to try
some experiments.
llvm-svn: 80930
|
| |
|
|
|
|
|
|
|
|
| |
from MCAsmLexer.h in preparation of supporting other targets. Changed the
X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking
for AsmToken::Percent when parsing in places that used AsmToken::Register.
Then changed X86ATTAsmParser::ParseRegister to parse out registers as an
AsmToken::Percent followed by an AsmToken::Identifier.
llvm-svn: 80929
|
| |
|
|
| |
llvm-svn: 80928
|
| |
|
|
| |
llvm-svn: 80927
|
| |
|
|
|
|
|
|
|
| |
that these passes are properly preserved.
Fix several transformation passes that claimed to preserve LoopSimplify
form but weren't.
llvm-svn: 80926
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
t->Base::f
where t has a dependent type. We save the nested-name-specifier in the
CXXUnresolvedMemberExpr then, during instantiation, substitute into
the nested-name-specifier with the (transformed) object type of t, so
that we get name lookup into the type of the object expression.
Note that we do not yet retain information about name lookup into the
lexical scope of the member access expression, so several regression
tests are still disabled.
llvm-svn: 80925
|
| |
|
|
| |
llvm-svn: 80924
|
| |
|
|
|
|
|
| |
LoopSimplify form, which is currently only available on Loops (and
not MachineLoops). Also, move the code out of the header file.
llvm-svn: 80923
|
| |
|
|
| |
llvm-svn: 80922
|
| |
|
|
|
|
|
|
| |
investigate the lifetime snafu (with ASTUnit) separately.
- Traverse category methods, add a "class ref" and make the little test harness a bit more flexible.
llvm-svn: 80921
|
| |
|
|
|
|
|
|
| |
instead of a bool argument, and to do the dominator check itself.
This makes it eaiser to use when DominatorTree information is
available.
llvm-svn: 80920
|
| |
|
|
| |
llvm-svn: 80919
|
| |
|
|
| |
llvm-svn: 80918
|
| |
|
|
| |
llvm-svn: 80917
|
| |
|
|
| |
llvm-svn: 80916
|
| |
|
|
|
|
| |
memcpy calls.
llvm-svn: 80915
|
| |
|
|
| |
llvm-svn: 80914
|
| |
|
|
|
|
| |
fix. Credit to Roman Divacky.
llvm-svn: 80913
|
| |
|
|
| |
llvm-svn: 80912
|
| |
|
|
|
|
|
| |
Removed inverted flag form MaximumSpanningTree, also do not handle so much
information to MaximumSpanningTree.
llvm-svn: 80911
|
| |
|
|
| |
llvm-svn: 80910
|
| |
|
|
|
|
| |
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086139.html)
llvm-svn: 80909
|
| |
|
|
| |
llvm-svn: 80908
|
| |
|
|
| |
llvm-svn: 80907
|
| |
|
|
|
|
| |
with the new asmprinter.
llvm-svn: 80906
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
different formatting from the old asmprinter, but it should be
semantically the same. We used to get:
popl %eax
addl $_GLOBAL_OFFSET_TABLE_ + [.-.Lllvm$6.$piclabel], %eax
...
Now we get:
popl %eax
.Lpicbaseref6:
addl $(_GLOBAL_OFFSET_TABLE_ + (.Lpicbaseref6 - .Lllvm$6.$piclabel)), %eax
...
llvm-svn: 80905
|
| |
|
|
|
|
| |
non-pic mode. rdar://7187172.
llvm-svn: 80904
|
| |
|
|
| |
llvm-svn: 80903
|
| |
|
|
| |
llvm-svn: 80902
|
| |
|
|
| |
llvm-svn: 80901
|
| |
|
|
| |
llvm-svn: 80900
|