Douglas Gregor
734410916a
Parse inferred submodules in module maps, track their contents in
...
Module, and (de-)serialize this information. Semantics of inferred
submodules to follow.
llvm-svn: 145864
2011-12-05 22:27:44 +00:00
Jim Grosbach
b8c719ccc6
Tweak ADDrr fix. Bad check for explicit .w
...
llvm-svn: 145863
2011-12-05 22:27:04 +00:00
Eli Friedman
6d694a38fd
Make EmitAggregateCopy take an alignment argument. Make EmitFinalDestCopy pass in the correct alignment when known.
...
The test includes a FIXME for a related case involving calls; it's a bit more complicated to fix because the RValue class doesn't keep track of alignment.
<rdar://problem/10463337>
llvm-svn: 145862
2011-12-05 22:23:28 +00:00
Jim Grosbach
8b5e92577b
Update tests for r145860. Add a few new ones.
...
llvm-svn: 145861
2011-12-05 22:21:28 +00:00
Jim Grosbach
e489babf9b
Thumb2 prefer ADD register encoding T2 to T3 when possible.
...
rdar://10529664
llvm-svn: 145860
2011-12-05 22:16:39 +00:00
Argyrios Kyrtzidis
1a10f29b2f
[libclang] When indexing a field in a C++ class, return an entity
...
of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503.
llvm-svn: 145859
2011-12-05 22:05:28 +00:00
Anna Zaks
02a1fc1da6
[analyzer] Rely on LLVM Dominators in Clang dominator computation.
...
(Previously, Clang used it's implementation of dominators.)
The patch is contributed by Guoping Long!
llvm-svn: 145858
2011-12-05 21:33:11 +00:00
Anna Zaks
5c10794254
[analyzer] Mark ConstraintManager::canReasonAbout as protected.
...
llvm-svn: 145857
2011-12-05 21:33:06 +00:00
Anna Zaks
2d2999821b
[analyzer] Simplify the condition.
...
This is a fixup for r145832.
The extra clauses do not matter after we remove the dependency on canReasonAbout(InitVal) in r145832.
llvm-svn: 145856
2011-12-05 21:33:01 +00:00
Anna Zaks
d624f60a89
[analyzer] Simplify the expected-warning statement.
...
llvm-svn: 145855
2011-12-05 21:32:58 +00:00
Bill Wendling
b437ab8561
Move 'returns_twice' definition into alphabetical place.
...
llvm-svn: 145854
2011-12-05 21:27:54 +00:00
Akira Hatanaka
20cee2eba1
Add definitions of 64-bit extract and insert instrucions and make
...
PerformANDCombine and PerformOrCombine aware of them. Test cases are included
too.
llvm-svn: 145853
2011-12-05 21:26:34 +00:00
Akira Hatanaka
9b8ac674bc
Split ExtIns into two base classes and have instructions EXT and INS derive from
...
them.
llvm-svn: 145852
2011-12-05 21:14:28 +00:00
Jim Grosbach
ec9ba98299
Thumb2 prefer encoding T3 to T4 for ADD/SUB immediate instructions.
...
rdar://10529348
llvm-svn: 145851
2011-12-05 21:06:26 +00:00
Akira Hatanaka
34e3df76f9
Have LowerJumpTable support Mips64. Modify 2010-07-20-Switch.ll to test N64 and
...
O32 with relocation-model=pic too.
llvm-svn: 145850
2011-12-05 21:03:03 +00:00
Lang Hames
df5c121f8e
Add a warning for implicit conversion from function literals (and static
...
methods) to bool. E.g.
void foo() {}
if (f) { ... // <- Warns here.
}
Only applies to non-weak functions, and does not apply if the function address
is taken explicitly with the addr-of operator.
llvm-svn: 145849
2011-12-05 20:49:50 +00:00
Kostya Serebryany
ab7940f6e1
[asan]: test a pure C file with -faddress-sanitizer; lint fixes
...
llvm-svn: 145848
2011-12-05 20:44:30 +00:00
Jim Grosbach
fdf9e1587a
ARM assembly parsing for the rest of the VMUL data type aliases.
...
Finish up rdar://10522016.
llvm-svn: 145846
2011-12-05 20:29:59 +00:00
Lang Hames
d42bb47782
Make isWeakDecl available as a method on ValueDecl.
...
llvm-svn: 145845
2011-12-05 20:16:26 +00:00
Jim Grosbach
9e90c5cde3
Fix previous commit. Oops.
...
llvm-svn: 145844
2011-12-05 20:12:26 +00:00
Jim Grosbach
2b37e4fc80
Tidy up. No functional change.
...
llvm-svn: 145843
2011-12-05 20:09:44 +00:00
Jim Grosbach
0a978ef715
ARM assmebler parsing for two-operand VMUL instructions.
...
Combined destination and first source operand for f32 variant of the VMUL
(by scalar) instruction.
rdar://10522016
llvm-svn: 145842
2011-12-05 19:55:46 +00:00
Fariborz Jahanian
8efef60f69
More objc rewriter refactoring.
...
llvm-svn: 145841
2011-12-05 19:50:04 +00:00
Jim Ingham
ac01260545
Sanity check the inputs to SBCommandInterpreter::HandleCompletion
...
llvm-svn: 145840
2011-12-05 19:24:15 +00:00
Kostya Serebryany
0e069e2aa9
[asan] add the test for bug 11468
...
llvm-svn: 145839
2011-12-05 19:20:57 +00:00
Kostya Serebryany
49a182fa12
[asan] always collect malloc statstics (removed FLAG_stats)
...
llvm-svn: 145838
2011-12-05 19:17:53 +00:00
Anna Zaks
e9504a267e
Change the Dominators recalculate() function to only rely on GraphTraits
...
This is a patch by Guoping Long!
As part of utilizing LLVM Dominator computation in Clang, made two changes to LLVM dominators tree implementation:
- (1) Change the recalculate() template function to only rely on GraphTraits.
- (2) Add a size() method to GraphTraits template class to query the number of nodes in the graph.
llvm-svn: 145837
2011-12-05 19:17:04 +00:00
Anna Zaks
004695b56e
[analyzer] Add a missing taint tester warning.
...
llvm-svn: 145834
2011-12-05 18:58:33 +00:00
Anna Zaks
d066f79c80
[analyzer] Unify SymbolVal and SymExprVal under a single SymbolVal
...
class.
We are going into the direction of handling SymbolData and other SymExpr
uniformly, so it makes less sense to keep two different SVal classes.
For example, the checkers would have to take an extra step to reason
about each type separately.
The classes have the same members, we were just using the SVal kind
field for easy differentiation in 3 switch statements. The switch
statements look more ugly now, but we can make the code more readable in
other ways, for example, moving some code into separate functions.
llvm-svn: 145833
2011-12-05 18:58:30 +00:00
Anna Zaks
a636fbe73f
[analyzer] Remove all uses of ConstraintManager::canResonAbout() from
...
ExprEngine.
Teach SimpleConstraintManager::assumeSymRel() to propagate constraints
to symbolic expressions.
+ One extra warning (real bug) is now generated due to enhanced
assumeSymRel().
llvm-svn: 145832
2011-12-05 18:58:25 +00:00
Anna Zaks
51090d5f7f
[analyzer] First step toward removing
...
ConstraintManager::canReasonAbout() from the ExprEngine.
ExprEngine should not care if the constraint solver can reason about
something or not. The solver should be able to handle all the SymExprs.
To do this, the solver should be able to keep track of not only the
SymbolData but of all SymExprs. This is why we change SymbolRef to be an
alias of SymExpr*. When encountering an expression it cannot simplify,
the solver should just add the constraints to it.
llvm-svn: 145831
2011-12-05 18:58:19 +00:00
Anna Zaks
820e87e928
[analyzer] Minor improvements on RangeConstraint pretty-printing.
...
llvm-svn: 145830
2011-12-05 18:58:14 +00:00
Anna Zaks
223516523e
[analyzer] Change RetainCountChecker to use symbol dump method instead
...
of relying on SymbolID.
This way any expression can be printed (not only SymbolData).
llvm-svn: 145829
2011-12-05 18:58:11 +00:00
Anna Zaks
f784d08d25
[analyzer] Add ability to do a simple ProgramState dump() without
...
requiring CFG.
Adding more ugly code; the evnvironment printing should be moved to
envirnment at some point.
llvm-svn: 145828
2011-12-05 18:58:08 +00:00
Anna Zaks
1c215d0a11
[analyzer] Add a debug checker to test for tainted data.
...
llvm-svn: 145827
2011-12-05 18:58:01 +00:00
Kostya Serebryany
92ebcadfe4
[asan] cleanup memset/memmove/memcpy interceptors and enable them on Mac. Patch by samsonov@google.com
...
llvm-svn: 145826
2011-12-05 18:56:29 +00:00
Sean Callanan
458bba71be
Because we now call StartTagDeclarationDefinition()
...
and CompleteTagDeclarationDefinition() on Objective-C
interfaces populated by SymbolFileSymtab::FindTypes(),
we should mark the interface as forward-declared when
we create it.
llvm-svn: 145825
2011-12-05 18:49:06 +00:00
Fariborz Jahanian
68e628e51f
Some early refactoring of objective-c rewriter.
...
llvm-svn: 145824
2011-12-05 18:43:13 +00:00
Kostya Serebryany
4dd9e4765d
[asan] don't require libstdc++ for asan on linux. Mac fix will go separately
...
llvm-svn: 145823
2011-12-05 18:32:37 +00:00
Chris Lattner
1e13e8ac97
we got badgered into supporting multi-alternative constraints.
...
llvm-svn: 145822
2011-12-05 18:29:03 +00:00
Kostya Serebryany
93927f9e01
[asan] don't require __cxa_throw to be present in the process. This is the last dependency on libstdc++
...
llvm-svn: 145821
2011-12-05 17:56:32 +00:00
Hal Finkel
97a6028b3a
Add test case - this input used to crash because of duplicate generation of SPILL_CRs
...
llvm-svn: 145820
2011-12-05 17:55:22 +00:00
Hal Finkel
8f6834dfa5
enable PPC register scavenging by default (update tests and remove some FIXMEs)
...
llvm-svn: 145819
2011-12-05 17:55:17 +00:00
Hal Finkel
72a26e8b8d
don't include CR bit subregs in callee-saved list
...
llvm-svn: 145818
2011-12-05 17:55:12 +00:00
Hal Finkel
e18c72689c
remove wasted space for extra bit copies of CR2 subregs
...
llvm-svn: 145817
2011-12-05 17:55:06 +00:00
Hal Finkel
b544019a60
add register pressure for CR regs
...
llvm-svn: 145816
2011-12-05 17:54:17 +00:00
Greg Clayton
2a4c2f7998
Bumped Xcode project version for lldb-92.
...
llvm-svn: 145814
2011-12-05 17:41:20 +00:00
Douglas Gregor
d8bd7537ec
Inferred framework modules automatically export anything they import
...
(i.e., 'export *'), to better match the semantics of headers.
llvm-svn: 145813
2011-12-05 17:40:25 +00:00
Douglas Gregor
8c7c83522b
Fix printing of wildcard exports.
...
llvm-svn: 145812
2011-12-05 17:34:59 +00:00
Douglas Gregor
f5eedd05db
Implement support for wildcard exports in modules, allowing a module
...
to re-export anything that it imports. This opt-in feature makes a
module behave more like a header, because it can be used to re-export
the transitive closure of a (sub)module's dependencies.
llvm-svn: 145811
2011-12-05 17:28:06 +00:00