Dmitri Gribenko
941ab0fb6f
Remove a const_cast by propagating constness to the member function.
...
llvm-svn: 167357
2012-11-03 14:24:57 +00:00
Duncan Sands
4698cb339f
Fix the IntegersSubsetTest unit test when compiled with gcc-4.7. The issue here
...
is that the unit test doesn't have IntTy equal to APInt, instead it uses a class
derived from APInt. When, as in these lines, an IntTy& reference is returned
but is assigned to an APInt&, the compiler destroys the temporary the IntTy& was
referring to, leaving the APInt& referring to garbage. This causes the unittest
to fail systematically on my machine; it can also be caught by running the test
under valgrind.
llvm-svn: 167356
2012-11-03 14:04:04 +00:00
NAKAMURA Takumi
ba15a7974a
StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp: Appease msvc.
...
0 (as nullptr) is incompatible to pointer in type matching on msvc.
llvm-svn: 167355
2012-11-03 13:59:36 +00:00
Duncan Sands
a318ef6fa6
Generalize the transform that boosts GEP indices to the size of a pointer to
...
also do it for vectors of pointers.
llvm-svn: 167354
2012-11-03 11:44:17 +00:00
Eli Friedman
34ff0ea522
Add a proper algorithm to compute accurate source ranges for diagnostics with
...
caret locations and source ranges in macros. Makes ranges more accurate
in some cases, and fixes an assertion failure.
Fixes <rdar://problem/12472249>.
llvm-svn: 167353
2012-11-03 03:36:51 +00:00
Anna Zaks
8d1f6ed9a8
[analyzer] Run remove dead on end of path.
...
This will simplify checkers that need to register for leaks. Currently,
they have to register for both: check dead and check end of path.
I've modified the SymbolReaper to consider everything on the stack dead
if the input StackLocationContext is 0.
(This is a bit disruptive, so I'd like to flash out all the issues
asap.)
llvm-svn: 167352
2012-11-03 02:54:20 +00:00
Anna Zaks
44dc91b4df
[analyzer] add LocationContext::inTopFrame() helper.
...
llvm-svn: 167351
2012-11-03 02:54:16 +00:00
Anna Zaks
2510608e81
[analyzer] Refactor: Remove Pred from NodeBuilderContext.
...
Node builders should manage the nodes, not the context.
llvm-svn: 167350
2012-11-03 02:54:11 +00:00
Jim Ingham
a537f6ce37
Fix a little think-o. In FileSpec::operator== we were trying to figure out whether the rhs file was resolved or not by comparing
...
the resolved version of the rhs FileSpec's directory name with the lhs FileSpec's directory name. We really meant to compare it
with the rhs FileSpec's directory name...
<rdar://problem/12438838>
llvm-svn: 167349
2012-11-03 02:12:46 +00:00
Akira Hatanaka
da1980f697
[mips] Set flag neverHasSideEffects flag on floating point conversion
...
instructions.
llvm-svn: 167348
2012-11-03 00:53:12 +00:00
Nadav Rotem
c2345cbe73
X86 CostModel: Add support for a some of the common arithmetic instructions for SSE4, AVX and AVX2.
...
llvm-svn: 167347
2012-11-03 00:39:56 +00:00
David Blaikie
c59571878c
Simplify these tests again, now that we're past the version skew.
...
llvm-svn: 167346
2012-11-03 00:27:14 +00:00
Akira Hatanaka
7828331329
[mips] Set flag isAsCheapAsAMove flag on instruction LUi.
...
llvm-svn: 167345
2012-11-03 00:26:02 +00:00
Owen Anderson
15fd6ac4ba
Be careful not to optimize a SELECT_CC into a SETCC post-legalization if the SETCC node would be illegal.
...
llvm-svn: 167344
2012-11-03 00:17:26 +00:00
Greg Clayton
dfdd1eb65e
Make sure users know that "target variable" can read variables while running a process by changing the documentation string.
...
llvm-svn: 167343
2012-11-03 00:10:22 +00:00
Enrico Granata
80fcdd429f
Caught two cases where we were passing a Stream* without checking for NULL
...
llvm-svn: 167342
2012-11-03 00:09:46 +00:00
Akira Hatanaka
5852e3b800
[mips] Stop reserving register AT and use register scavenger when a scratch
...
register is needed.
llvm-svn: 167341
2012-11-03 00:05:43 +00:00
Jordan Rose
58e8293467
[analyzer] Convert SimpleStreamChecker over to CallEvent.
...
llvm-svn: 167340
2012-11-02 23:49:35 +00:00
Jordan Rose
4080b0cceb
[analyzer] CheckerDocumentation: Change examples for PreStmt and PostStmt.
...
llvm-svn: 167339
2012-11-02 23:49:33 +00:00
Jordan Rose
829c383114
[analyzer] Add some convenience accessors to CallEvent, and use them.
...
These are CallEvent-equivalents of helpers already accessible in
CheckerContext, as part of making it easier for new checkers to be written
using CallEvent rather than raw CallExprs.
llvm-svn: 167338
2012-11-02 23:49:29 +00:00
Jordan Rose
0da6747901
[analyzer] isCLibraryFunction: check that the function is at TU-scope.
...
Also, Decls already carry a pointer to the ASTContext, so there's no need
to pass an extra argument to the predicate.
llvm-svn: 167337
2012-11-02 23:49:24 +00:00
David Blaikie
8ed46b9935
Emit debug info for C++ struct definitions as DW_TAG_structure_type (instead of class_type).
...
llvm-svn: 167336
2012-11-02 23:40:00 +00:00
Akira Hatanaka
654e3b40f5
[mips] Do not reserve all 64-bit registers, but only the ones which need to be
...
reserved. Without this fix, RegScavenger::getRegsAvailable incorrectly
returns an empty set of integer registers.
llvm-svn: 167335
2012-11-02 23:36:01 +00:00
David Blaikie
bc1b4e73e6
Include all the fields so we can correctly emit DW_TAG_structure_type for C++ structs.
...
llvm-svn: 167334
2012-11-02 23:33:23 +00:00
Nadav Rotem
23848f8f1d
Add a stub for the x86 cost model impl. Implement a basic cost rule for inserting/extracting from XMM registers.
...
llvm-svn: 167333
2012-11-02 23:27:16 +00:00
David Blaikie
263f6a0ffa
Avoid version skew by making ObjC strict metadata tests resilient to new field.
...
llvm-svn: 167332
2012-11-02 23:07:41 +00:00
Fariborz Jahanian
2dd7819267
objective-C mrr block. Block variable layout metadata in
...
mrr mode.
llvm-svn: 167331
2012-11-02 22:51:18 +00:00
Nadav Rotem
3b0af848d3
Remove empty directory
...
llvm-svn: 167330
2012-11-02 22:35:50 +00:00
Nadav Rotem
13da94734c
CostModel: add support for Vector Insert and Extract.
...
llvm-svn: 167329
2012-11-02 22:31:56 +00:00
Chris Lattner
6bc6621d73
remove empty directories
...
llvm-svn: 167328
2012-11-02 22:29:53 +00:00
Sean Callanan
7273e2d124
Fixed a problem where we mistook normal result
...
variables for guard variables because the current
class or method named contained the letters "GV".
llvm-svn: 167327
2012-11-02 22:28:08 +00:00
Akira Hatanaka
d0836fd20a
[mips] Fix disassembler test cases.
...
llvm-svn: 167326
2012-11-02 22:20:10 +00:00
Argyrios Kyrtzidis
870704f6ef
When code-completing don't disable the preprocessing record if modules are enabled.
...
llvm-svn: 167325
2012-11-02 22:18:44 +00:00
Nadav Rotem
a6b91ac307
Add a cost model analysis that allows us to estimate the cost of IR-level instructions.
...
llvm-svn: 167324
2012-11-02 21:48:17 +00:00
Nadav Rotem
919b5aab34
Scalar Bitcasts and Truncs are usually free
...
llvm-svn: 167323
2012-11-02 21:47:47 +00:00
Akira Hatanaka
6dcf75897c
[mips] Fix bug in test case. Disable machine LICM to prevent instruction from
...
being moved out of a basic block.
llvm-svn: 167322
2012-11-02 21:46:42 +00:00
DeLesley Hutchins
66e300e6f9
Thread safety analysis: Fixed ICE caused by double delete when late parsed
...
attributes are attached to function declarations nested inside a class method.
llvm-svn: 167321
2012-11-02 21:44:32 +00:00
Richard Trieu
7104af04ac
Fix test cases I broken when fixing grammar in diagnostic message.
...
llvm-svn: 167320
2012-11-02 21:41:42 +00:00
Richard Trieu
f19039c294
Fix grammar of diagnostic message.
...
llvm-svn: 167319
2012-11-02 21:33:17 +00:00
Quentin Colombet
8e1fe84c3c
Vext Lowering was missing opportunities
...
llvm-svn: 167318
2012-11-02 21:32:17 +00:00
Anna Zaks
69e2bf9e0c
[analyzer] Test SimpleStream on the buildbot.
...
llvm-svn: 167317
2012-11-02 21:30:07 +00:00
Anna Zaks
da27efed92
[analyzer] Factor SimpleStreamChecker pulling out isLeaked().
...
llvm-svn: 167316
2012-11-02 21:30:04 +00:00
Akira Hatanaka
949f8d890d
[mips] Use register number instead of name to print register $AT.
...
llvm-svn: 167315
2012-11-02 21:26:03 +00:00
Greg Clayton
2346fcf60c
Fixed the "--force" option for memory read.
...
llvm-svn: 167314
2012-11-02 21:14:58 +00:00
Akira Hatanaka
97b43d8bdf
[mips] Add function MipsFrameLowering::estimateStackSize.
...
This function estimates stack size and will be called before
PrologEpilogInserter scans the callee-saved registers.
llvm-svn: 167313
2012-11-02 21:10:22 +00:00
Akira Hatanaka
719df2874c
[mips] Add member field MipsFunctionInfo::IncomingArgSize which holds the size
...
of the incoming argument area.
llvm-svn: 167312
2012-11-02 21:03:58 +00:00
Rafael Espindola
7296139d5e
Fix a build problem with xlc. The error message was
...
"../llvm-git/utils/TableGen/CodeGenSchedule.cpp", line 1594.12: 1540-0218 (S) The call does not match any parameter list for "operator+".
"../llvm-git/include/llvm/ADT/STLExtras.h", line 130.1: 1540-1283 (I) "template <class _Iterator, class Func> llvm::operator+(mapped_iterator<_Iterator,Func>::difference_type, const mapped_iterator<_Iterator,Func> &)" is not a viable candidate.
Patch by Kai.
llvm-svn: 167311
2012-11-02 20:57:36 +00:00
Akira Hatanaka
0dfbf1262b
[mips] Delete MipsFunctionInfo::EmitNOAT. Unconditionally print directive
...
"set .noat" so that the assembler doesn't issue warnings when register $AT is
used.
llvm-svn: 167310
2012-11-02 20:56:25 +00:00
Rafael Espindola
2f92f61098
XLC supports the same atomic functions as GCC, use them.
...
Patch by Kai.
llvm-svn: 167309
2012-11-02 20:54:45 +00:00
David Blaikie
d37bbc3e00
Fix debug tag type of forward declarations of struct/class in C++.
...
llvm-svn: 167308
2012-11-02 20:49:01 +00:00