| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches.
This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic.
By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time.
Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks.
llvm-svn: 75314
|
| |
|
|
| |
llvm-svn: 75312
|
| |
|
|
|
|
| |
quad registers and the Q4PR class holds sets of 4 quad registers.
llvm-svn: 75309
|
| |
|
|
|
|
|
| |
These are needed to represent ARM Neon struct datatypes containing 2, 3 or 4
separate vectors.
llvm-svn: 75308
|
| |
|
|
|
|
| |
never be generated.
llvm-svn: 75305
|
| |
|
|
|
|
|
| |
over the types of MemRegions. This allows the compiler to warn us which regions
are not handled, and also is a little faster.
llvm-svn: 75304
|
| |
|
|
| |
llvm-svn: 75303
|
| |
|
|
|
|
| |
since names are the same for almost all the types.
llvm-svn: 75302
|
| |
|
|
| |
llvm-svn: 75301
|
| |
|
|
|
|
|
| |
USE_OPROFILE to 0 on some paths through configure, which does the
wrong thing with #if defined().
llvm-svn: 75300
|
| |
|
|
| |
llvm-svn: 75298
|
| |
|
|
| |
llvm-svn: 75297
|
| |
|
|
| |
llvm-svn: 75296
|
| |
|
|
| |
llvm-svn: 75295
|
| |
|
|
|
|
|
| |
move this case to 'test/Analysis/misc-ps.m' to test with both BasicStoreManager
and RegionStoreManager.
llvm-svn: 75294
|
| |
|
|
| |
llvm-svn: 75292
|
| |
|
|
| |
llvm-svn: 75291
|
| |
|
|
| |
llvm-svn: 75290
|
| |
|
|
|
|
|
|
| |
CodeTextRegions can only be casted to FunctionPointer or BlockPointerTypes. This
simply isn't true. We can handle bogus operations on CodeTextRegions (e.g, an
array access) elsewhere.
llvm-svn: 75285
|
| |
|
|
|
|
|
|
|
| |
hooks as they're no longer needed.
The major change with this patch is to make formatted_raw_ostream usable
by any client of raw_ostream.
llvm-svn: 75283
|
| |
|
|
|
|
| |
void**, void***, etc. Such casts should just pass the region through.
llvm-svn: 75281
|
| |
|
|
| |
llvm-svn: 75280
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
library to tell it the addresses of JITted functions. For a
particular program, this changes the opreport -l output from:
samples % image name symbol name
48182 98.9729 anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000) anon (tgid:19412 range:0x7f12ccaab000-0x7f12cdaab000)
11 0.0226 libstdc++.so.6.0.9 /usr/lib/libstdc++.so.6.0.9
to:
samples % image name symbol name
24565 60.7308 19814.jo fib_left
15365 37.9861 19814.jo fib_right
22 0.0544 ld-2.7.so do_lookup_x
llvm-svn: 75279
|
| |
|
|
| |
llvm-svn: 75278
|
| |
|
|
| |
llvm-svn: 75277
|
| |
|
|
| |
llvm-svn: 75276
|
| |
|
|
| |
llvm-svn: 75275
|
| |
|
|
| |
llvm-svn: 75274
|
| |
|
|
|
|
| |
"stub style pic in dynamic-no-pic" mode.
llvm-svn: 75273
|
| |
|
|
|
|
| |
breaks encapsulation. Also remove a dead prototype for setSCEV.
llvm-svn: 75272
|
| |
|
|
| |
llvm-svn: 75271
|
| |
|
|
|
|
|
|
| |
in their order of construction for each class and use it
to to check on propery order of base class construction
under -Wreorder option.
llvm-svn: 75270
|
| |
|
|
| |
llvm-svn: 75269
|
| |
|
|
|
|
| |
by Jonathan Gray and Krister Walfridsson.
llvm-svn: 75268
|
| |
|
|
| |
llvm-svn: 75267
|
| |
|
|
| |
llvm-svn: 75266
|
| |
|
|
| |
llvm-svn: 75265
|
| |
|
|
|
|
| |
findCommutedOpIndices which returns the operand indices which are swapped (when applicable). This allows for some code clean up and future enhancements.
llvm-svn: 75264
|
| |
|
|
|
|
| |
Link devices.lib (processor specific variables) with mplink.
llvm-svn: 75263
|
| |
|
|
| |
llvm-svn: 75262
|
| |
|
|
|
|
|
| |
the previous RUN lines. Hopefully this will be an inspiration for future
tests :)
llvm-svn: 75261
|
| |
|
|
| |
llvm-svn: 75259
|
| |
|
|
|
|
|
|
| |
in-tree, so I can't really test it.
If you're using this, and it's broken, please send patches.
llvm-svn: 75257
|
| |
|
|
| |
llvm-svn: 75256
|
| |
|
|
| |
llvm-svn: 75255
|
| |
|
|
|
|
| |
instructions with thumb-2.
llvm-svn: 75254
|
| |
|
|
|
|
| |
to hopefully resolve template lookup ambiguities on some compilers.
llvm-svn: 75253
|
| |
|
|
|
|
|
| |
of loops. Add several new functions to for working with ScalarEvolution's
add-hoc value-range analysis functionality.
llvm-svn: 75252
|
| |
|
|
| |
llvm-svn: 75251
|
| |
|
|
| |
llvm-svn: 75250
|