John McCall
d9bb743e0d
The lock operand to an @synchronized statement is also
...
supposed to be a full-expression; make it so. In ARC, make sure
we retain the lock for the entire protected block.
llvm-svn: 136271
2011-07-27 21:50:02 +00:00
Douglas Gregor
a94a1544d8
Switch Sema::UnusedFileScopedDecls over to a LazyVector.
...
- Added LazyVector::erase() to support this use case.
- Factored out the LazyDecl-of-Decls to RecordData translation in
the ASTWriter. There is still a pile of code duplication here to
eliminate.
llvm-svn: 136270
2011-07-27 21:45:57 +00:00
Bill Wendling
9c5b7ff807
Refuse to inline two functions which use different personality functions.
...
llvm-svn: 136269
2011-07-27 21:44:28 +00:00
Anna Zaks
59a3c80717
Add a utility function to the Lexer, which makes it easier to find a token after the given location. (It is a generalized version of trans::findLocationAfterSemi from ArcMigrate, which will be changed to use the Lexer utility).
...
llvm-svn: 136268
2011-07-27 21:43:43 +00:00
Jim Grosbach
7cfd32a006
ARM assembly parsing and encoding tests for UHSUB16 and UHSUB8.
...
llvm-svn: 136267
2011-07-27 21:21:59 +00:00
Jim Grosbach
3f45383ef5
ARM assembly parsing and encoding tests for UHADD16, UHADD8 and UHASX.
...
llvm-svn: 136266
2011-07-27 21:20:45 +00:00
Johnny Chen
bfdf9a36d9
The SBValue.linked_list_iter() API failed for an empty list.
...
Fix the bug and add a test case.
llvm-svn: 136265
2011-07-27 21:14:01 +00:00
Jim Grosbach
03f56d9de6
ARM parsing and encoding of SBFX and UBFX.
...
Encode the width operand as it encodes in the instruction, which simplifies
the disassembler and the encoder, by using the imm1_32 operand def. Add a
diagnostic for the context-sensitive constraint that the width must be in
the range [1,32-lsb].
llvm-svn: 136264
2011-07-27 21:09:25 +00:00
Bill Wendling
2641d132d1
Keep enums stable. Append EH stuff to the end.
...
llvm-svn: 136263
2011-07-27 21:00:28 +00:00
Douglas Gregor
eb08bd48e6
Introduce a new data structure, LazyVector, which is a vector whose
...
contents are lazily loaded on demand from an external source (e.g., an
ExternalASTSource or ExternalSemaSource). The "loaded" entities are
kept separate from the "local" entities, so that the two can grow
independently.
Switch Sema::TentativeDefinitions from a normal vector that is eagerly
populated by the ASTReader into one of these LazyVectors, making the
ASTReader a bit more like me (i.e., lazy).
llvm-svn: 136262
2011-07-27 20:58:46 +00:00
Jim Grosbach
36ce7492a6
ARM assembly parsing and encoding tests for UADD16, UADD8 and UASX.
...
llvm-svn: 136261
2011-07-27 20:43:44 +00:00
Jim Grosbach
542333ea05
ARM assembly parsing and encoding tests for TST instruction.
...
llvm-svn: 136260
2011-07-27 20:38:58 +00:00
Jim Grosbach
f176e1addb
ARM assembly parsing and encoding tests for TEQ instruction.
...
llvm-svn: 136259
2011-07-27 20:37:36 +00:00
Peter Collingbourne
40a6ae61eb
Silence gcc warning
...
llvm-svn: 136258
2011-07-27 20:32:00 +00:00
Peter Collingbourne
8f5f520653
Forbid address-space-qualified function types, per TR 18037
...
llvm-svn: 136257
2011-07-27 20:30:05 +00:00
Peter Collingbourne
78769e691a
Fix TR 18037 citation in SemaType.cpp
...
llvm-svn: 136256
2011-07-27 20:29:53 +00:00
Owen Anderson
fa9e6d43a0
Refactor the STRT and STRBT instructions to distinguish between the register-addend and immediate-addend versions. Temporarily XFAIL the asm parsing tests for these instructions.
...
llvm-svn: 136255
2011-07-27 20:29:48 +00:00
Peter Collingbourne
e1d209911f
CodeGen: rename CodeGenModule::Runtime to ObjCRuntime
...
llvm-svn: 136254
2011-07-27 20:29:46 +00:00
Bill Wendling
6c923bb8d9
Merge the contents from exception-handling-rewrite to the mainline.
...
This adds the new instructions 'landingpad' and 'resume'.
llvm-svn: 136253
2011-07-27 20:18:04 +00:00
Jim Grosbach
833b9d3353
ARM assembly parsing and encoding for extend instructions.
...
Assembly parser handling for extend instruction rotate operands. Add tests
for the sign extend instructions.
llvm-svn: 136252
2011-07-27 20:15:40 +00:00
Eli Friedman
9d155aa061
Fix typo in test.
...
llvm-svn: 136251
2011-07-27 20:09:36 +00:00
Nick Lewycky
8ac9ecedfd
Teach the ConstantMerge pass about alignment. Fixes PR10514!
...
llvm-svn: 136250
2011-07-27 19:47:34 +00:00
Eli Friedman
e6d1853e74
X86ISD::MEMBARRIER does not require SSE2; it doesn't actually generate any code, and all x86 processors will honor the required semantics.
...
llvm-svn: 136249
2011-07-27 19:43:50 +00:00
Howard Hinnant
02364191d6
Fix PR10509: http://llvm.org/bugs/show_bug.cgi?id=10509
...
llvm-svn: 136247
2011-07-27 19:25:28 +00:00
Enrico Granata
e594b1aaec
make the C++stdlib string summary work even if for some reason std::basic_string<char> ends up in the debug info instead of std::string
...
llvm-svn: 136246
2011-07-27 19:01:14 +00:00
Eli Friedman
4fc946cc71
The numbering of LLVMOpcode is supposed to be stable; revert my earlier change, and append Fence onto the end.
...
llvm-svn: 136245
2011-07-27 18:59:19 +00:00
Jakub Staszak
8a3d4c43b1
Add test cases for BlockFrequency.
...
llvm-svn: 136244
2011-07-27 18:57:40 +00:00
Eli Friedman
b2f3695e9a
Make CodeGen for array delete involving incomplete class work without crashing. Should fix regression on g++.dg/init/delete1.C.
...
llvm-svn: 136241
2011-07-27 18:54:57 +00:00
Ted Kremenek
8b77fe75af
Change Preprocessor::getTotalMemory() to use llvm::capacity_in_bytes().
...
llvm-svn: 136239
2011-07-27 18:41:23 +00:00
Ted Kremenek
f1c3881109
Change PreprocessingRecord::getTotalMemory() to use llvm::capacity_in_bytes().
...
llvm-svn: 136238
2011-07-27 18:41:20 +00:00
Ted Kremenek
ae63d101ef
Change HeaderSearch::getTotalMemory() to use llvm::capacity_in_bytes().
...
llvm-svn: 136237
2011-07-27 18:41:18 +00:00
Ted Kremenek
43e0c4a887
Change SourceManager::getDataStructureSizes() to use llvm::capacity_in_bytes().
...
llvm-svn: 136236
2011-07-27 18:41:16 +00:00
Ted Kremenek
7d39c9ae36
Change ASTContext::getSideTableAllocatedMemory() to use llvm::capacity_in_bytes().
...
llvm-svn: 136235
2011-07-27 18:41:12 +00:00
Ted Kremenek
666bec46a0
Add a generic 'capacity_in_bytes' function to allow inspection of memory usage of various data structures.
...
llvm-svn: 136233
2011-07-27 18:40:45 +00:00
Howard Hinnant
21f78d88e1
Fix PR10510: http://llvm.org/bugs/show_bug.cgi?id=10510
...
llvm-svn: 136232
2011-07-27 18:34:06 +00:00
Johnny Chen
07c10246b5
Add docstrings and cross refs to SBCompileUnit and SBLineEntry.
...
llvm-svn: 136230
2011-07-27 18:28:07 +00:00
Jim Grosbach
66ee037863
ARM assembly parsing aliases for extend instructions w/o rotate.
...
llvm-svn: 136229
2011-07-27 18:19:32 +00:00
Devang Patel
ac0a1f6146
Update document listing DIVariable elements to reflect recent changes.
...
llvm-svn: 136228
2011-07-27 18:14:50 +00:00
Johnny Chen
3b67d57ae2
Add cross reference to SBThread from the SBFrame docstring. Also add a simple iteration example.
...
llvm-svn: 136227
2011-07-27 18:13:32 +00:00
Jim Grosbach
38b5503d21
ARM cleanup of remaining extend instructions.
...
Refactor the rest of the extend instructions to not artificially distinguish
between a rotate of zero and a rotate of any other value. Replace the by-zero
versions with Pat<>'s for ISel.
llvm-svn: 136226
2011-07-27 17:48:13 +00:00
Jim Grosbach
8b31ef50c0
ARM extend instructions simplification.
...
Refactor the SXTB, SXTH, SXTB16, UXTB, UXTH, and UXTB16 instructions to not
have an 'r' and an 'r_rot' version, but just a single version with a rotate
that can be zero. Use plain Pat<>'s for the ISel of the non-rotated version.
llvm-svn: 136225
2011-07-27 16:47:19 +00:00
Douglas Gregor
9125bd6a1b
Modules don't require validation of the predefines buffer
...
llvm-svn: 136224
2011-07-27 16:30:06 +00:00
Eric Christopher
87d383b695
Make this darwin only for now while investigating to clear up x86_64
...
Release+Asserts linux tests.
llvm-svn: 136223
2011-07-27 16:26:09 +00:00
Jakub Staszak
9b8a6a3b2b
Optimize 96-bit division a little bit.
...
llvm-svn: 136222
2011-07-27 16:00:40 +00:00
Jakub Staszak
a9e8aa0482
Move static methods to the anonymous namespace.
...
llvm-svn: 136221
2011-07-27 15:51:51 +00:00
Jakub Staszak
107339e31a
Edge to itself is backedge as well.
...
llvm-svn: 136219
2011-07-27 15:42:09 +00:00
Frits van Bommel
ec9cd83905
Trim includes.
...
llvm-svn: 136218
2011-07-27 15:20:06 +00:00
Douglas Gregor
9bcdc82642
Update C++0x status page to reflect support for unicode string and character literals, from Craig Topper
...
llvm-svn: 136216
2011-07-27 15:10:09 +00:00
Frits van Bommel
4d73ec957c
Update CMake build for new gtest file.
...
llvm-svn: 136215
2011-07-27 10:19:32 +00:00
Jay Foad
4b27333440
Remove some code that is no longer needed now that googletest knows how
...
to print STL containers.
llvm-svn: 136213
2011-07-27 09:26:13 +00:00