platform/upstream/llvm.git
15 years agoFix cmake build.
Benjamin Kramer [Fri, 31 Jul 2009 00:35:23 +0000 (00:35 +0000)]
Fix cmake build.

llvm-svn: 77649

15 years agoFix use-after-release bug introduced in r77585 where the PathDiagnosticClient
Ted Kremenek [Fri, 31 Jul 2009 00:34:52 +0000 (00:34 +0000)]
Fix use-after-release bug introduced in r77585 where the PathDiagnosticClient
created by AnalysisConsumer would be released by an instance of AnalysisManager
and then reused by later instances of AnalysisManager. Ownership of the
PathDiagnosticClient now belongs (for now) in AnalysisConsumer.

We also need this layering (for now) because the HTMLDiagnostiClient requires
that the entire translation unit be processed before emitting diagnostics. This
is done in its destructor (which should also be fixed, but that is another
issue).

This fixes PR 4653.

llvm-svn: 77648

15 years agoBuild canonical types for dependently-sized array types.
Douglas Gregor [Fri, 31 Jul 2009 00:23:35 +0000 (00:23 +0000)]
Build canonical types for dependently-sized array types.

llvm-svn: 77647

15 years agoAdd getOrInsertNamedMetadata().
Devang Patel [Thu, 30 Jul 2009 23:59:04 +0000 (23:59 +0000)]
Add getOrInsertNamedMetadata().

llvm-svn: 77646

15 years agoAdd addElement().
Devang Patel [Thu, 30 Jul 2009 23:57:23 +0000 (23:57 +0000)]
Add addElement().

llvm-svn: 77645

15 years agoAdd scan-build option '-no-failure-reports' to supress the creation of a 'failures...
Ted Kremenek [Thu, 30 Jul 2009 23:55:19 +0000 (23:55 +0000)]
Add scan-build option '-no-failure-reports' to supress the creation of a 'failures' subdirectory that includes crash reports, preprocessed files, etc.

llvm-svn: 77644

15 years agoCanonicalization of dependent C++0x decltype types.
Douglas Gregor [Thu, 30 Jul 2009 23:36:40 +0000 (23:36 +0000)]
Canonicalization of dependent C++0x decltype types.

llvm-svn: 77643

15 years agoWhen fp is not eliminated, instructions with T2_i12 modes will be changed to T2_i8...
Evan Cheng [Thu, 30 Jul 2009 23:29:25 +0000 (23:29 +0000)]
When fp is not eliminated, instructions with T2_i12 modes will be changed to T2_i8 ones. Take that into consideration when determining stack size limit for reserving register scavenging slot.

llvm-svn: 77642

15 years agoSynthesize the default constructor which has not
Fariborz Jahanian [Thu, 30 Jul 2009 23:22:00 +0000 (23:22 +0000)]
Synthesize the default constructor which has not
been declared as needed.

llvm-svn: 77641

15 years agoRemoved the BigBlock register allocator.
Lang Hames [Thu, 30 Jul 2009 23:18:43 +0000 (23:18 +0000)]
Removed the BigBlock register allocator.

llvm-svn: 77640

15 years agoCanonicalization for dependent typeof(expr) types.
Douglas Gregor [Thu, 30 Jul 2009 23:18:24 +0000 (23:18 +0000)]
Canonicalization for dependent typeof(expr) types.

llvm-svn: 77639

15 years agoUpdate for LLVM API changes.
Owen Anderson [Thu, 30 Jul 2009 23:11:26 +0000 (23:11 +0000)]
Update for LLVM API changes.

llvm-svn: 77638

15 years agoDo not use abbrev while writing NamedMDNode name.
Devang Patel [Thu, 30 Jul 2009 23:06:35 +0000 (23:06 +0000)]
Do not use abbrev while writing NamedMDNode name.

llvm-svn: 77637

15 years agoEnumerate NamedMDNode elements first.
Devang Patel [Thu, 30 Jul 2009 23:03:43 +0000 (23:03 +0000)]
Enumerate NamedMDNode elements first.

llvm-svn: 77636

15 years agoMove more code back to 2.5 APIs.
Owen Anderson [Thu, 30 Jul 2009 23:03:37 +0000 (23:03 +0000)]
Move more code back to 2.5 APIs.

llvm-svn: 77635

15 years agoHandle NamedMDNode.
Devang Patel [Thu, 30 Jul 2009 23:03:19 +0000 (23:03 +0000)]
Handle NamedMDNode.

llvm-svn: 77633

15 years agoRemove redundant match for frame index from imm8 addrmode, it is handled by the imm12...
David Goodwin [Thu, 30 Jul 2009 22:45:52 +0000 (22:45 +0000)]
Remove redundant match for frame index from imm8 addrmode, it is handled by the imm12 addrmode.

llvm-svn: 77632

15 years agoDiagnose unused expression results for all statements, just not compound statements.
Anders Carlsson [Thu, 30 Jul 2009 22:39:03 +0000 (22:39 +0000)]
Diagnose unused expression results for all statements, just not compound statements.

llvm-svn: 77631

15 years agoAdd casts to avoid a bunch of unused expr warnings. (They aren't reported right now...
Anders Carlsson [Thu, 30 Jul 2009 22:37:41 +0000 (22:37 +0000)]
Add casts to avoid a bunch of unused expr warnings. (They aren't reported right now due to a bug that I intend to fix). Ted, please review.

llvm-svn: 77630

15 years agoCanonicalize else spacing.
Mike Stump [Thu, 30 Jul 2009 22:28:39 +0000 (22:28 +0000)]
Canonicalize else spacing.

llvm-svn: 77629

15 years agoFactor code out into a DiagnoseUnusedExprResult function.
Anders Carlsson [Thu, 30 Jul 2009 22:17:18 +0000 (22:17 +0000)]
Factor code out into a DiagnoseUnusedExprResult function.

llvm-svn: 77628

15 years agoDarwin assembler now recognizes "orn", so remove workaround.
David Goodwin [Thu, 30 Jul 2009 21:51:41 +0000 (21:51 +0000)]
Darwin assembler now recognizes "orn", so remove workaround.

llvm-svn: 77627

15 years agoNote some other limitations.
Mike Stump [Thu, 30 Jul 2009 21:47:44 +0000 (21:47 +0000)]
Note some other limitations.

llvm-svn: 77626

15 years agoDarwin assembler now supports "rrx", so remove workaround.
David Goodwin [Thu, 30 Jul 2009 21:38:40 +0000 (21:38 +0000)]
Darwin assembler now supports "rrx", so remove workaround.

llvm-svn: 77625

15 years agoTwine: Directly support int, long, and long long types.
Daniel Dunbar [Thu, 30 Jul 2009 21:15:14 +0000 (21:15 +0000)]
Twine: Directly support int, long, and long long types.
 - This should resolve Cygwin gcc ambiguities.

llvm-svn: 77624

15 years agoUse CallbackVH in AliasSetTracker to avoid getting stuck with
Dan Gohman [Thu, 30 Jul 2009 20:21:41 +0000 (20:21 +0000)]
Use CallbackVH in AliasSetTracker to avoid getting stuck with
dangling Value*s.

llvm-svn: 77623

15 years agoCleanup and include code selection for some frame index cases.
David Goodwin [Thu, 30 Jul 2009 18:56:48 +0000 (18:56 +0000)]
Cleanup and include code selection for some frame index cases.

llvm-svn: 77622

15 years agoStart using DebugInfoFinder.
Devang Patel [Thu, 30 Jul 2009 18:56:46 +0000 (18:56 +0000)]
Start using DebugInfoFinder.

llvm-svn: 77621

15 years agoDo not use getNamedValue() to lookup NamedMDNode. NamedMDNode is not a GlobalValue.
Devang Patel [Thu, 30 Jul 2009 18:46:29 +0000 (18:46 +0000)]
Do not use getNamedValue() to lookup NamedMDNode. NamedMDNode is not a GlobalValue.
Thanks Benjamin Kramer!

llvm-svn: 77619

15 years agoFix MetadataBase::classof().
Devang Patel [Thu, 30 Jul 2009 18:45:09 +0000 (18:45 +0000)]
Fix MetadataBase::classof().
Thanks Benjamin Kramer!

llvm-svn: 77618

15 years agoTwine: Use raw_ostream::write_hex, remove unused itohexstr method.
Daniel Dunbar [Thu, 30 Jul 2009 18:30:19 +0000 (18:30 +0000)]
Twine: Use raw_ostream::write_hex, remove unused itohexstr method.

llvm-svn: 77617

15 years agoRemove unintended changes.
Daniel Dunbar [Thu, 30 Jul 2009 18:29:44 +0000 (18:29 +0000)]
Remove unintended changes.

llvm-svn: 77616

15 years agos/DebugInfoEnumerator/DebugInfoFinder/g
Devang Patel [Thu, 30 Jul 2009 18:25:15 +0000 (18:25 +0000)]
s/DebugInfoEnumerator/DebugInfoFinder/g

llvm-svn: 77615

15 years agoAdd raw_ostream::write_hex
Daniel Dunbar [Thu, 30 Jul 2009 18:21:23 +0000 (18:21 +0000)]
Add raw_ostream::write_hex

llvm-svn: 77614

15 years agoRemove itohexstr, which only had one user.
Daniel Dunbar [Thu, 30 Jul 2009 18:18:54 +0000 (18:18 +0000)]
Remove itohexstr, which only had one user.

llvm-svn: 77613

15 years agoUpdate based upon comments. Explain why we have an assert.
Mike Stump [Thu, 30 Jul 2009 18:01:44 +0000 (18:01 +0000)]
Update based upon comments.  Explain why we have an assert.

llvm-svn: 77612

15 years agoAdd missing D* register clobbers for Thumb-2 call.
David Goodwin [Thu, 30 Jul 2009 18:01:09 +0000 (18:01 +0000)]
Add missing D* register clobbers for Thumb-2 call.

llvm-svn: 77611

15 years agoWe'll also need a vtable pointer if we have virtual bases.
Mike Stump [Thu, 30 Jul 2009 17:53:53 +0000 (17:53 +0000)]
We'll also need a vtable pointer if we have virtual bases.

llvm-svn: 77610

15 years agoWhat luck! Clang obtains support for refering to members of the
Douglas Gregor [Thu, 30 Jul 2009 17:50:56 +0000 (17:50 +0000)]
What luck! Clang obtains support for refering to members of the
current instantiation when that current instantiation is a class
template partial specialization.

llvm-svn: 77609

15 years agoPatch for future ir-gen for destructor calls.
Fariborz Jahanian [Thu, 30 Jul 2009 17:49:11 +0000 (17:49 +0000)]
Patch for future ir-gen for destructor calls.

llvm-svn: 77608

15 years agoLexically order files.
Ted Kremenek [Thu, 30 Jul 2009 17:41:23 +0000 (17:41 +0000)]
Lexically order files.

llvm-svn: 77607

15 years agoSupport out-of-line definitions of the members of class template
Douglas Gregor [Thu, 30 Jul 2009 17:40:51 +0000 (17:40 +0000)]
Support out-of-line definitions of the members of class template
partial specializations.

llvm-svn: 77606

15 years agoTwines: Don't allow implicit conversion from integers, this is too tricky.
Daniel Dunbar [Thu, 30 Jul 2009 17:37:43 +0000 (17:37 +0000)]
Twines: Don't allow implicit conversion from integers, this is too tricky.

llvm-svn: 77605

15 years agowalk DbgRegionStartInst and DbgRegionEndInst
Devang Patel [Thu, 30 Jul 2009 17:30:23 +0000 (17:30 +0000)]
walk DbgRegionStartInst and DbgRegionEndInst

llvm-svn: 77604

15 years agoFix comment.
Devang Patel [Thu, 30 Jul 2009 17:25:33 +0000 (17:25 +0000)]
Fix comment.

llvm-svn: 77603

15 years agoMinor whitespace tidiness.
Dan Gohman [Thu, 30 Jul 2009 17:04:07 +0000 (17:04 +0000)]
Minor whitespace tidiness.

llvm-svn: 77602

15 years agoRename GRAD to GR32_AD, to follow the naming convention of other
Dan Gohman [Thu, 30 Jul 2009 17:02:08 +0000 (17:02 +0000)]
Rename GRAD to GR32_AD, to follow the naming convention of other
classes. And define its SubRegClassList.

llvm-svn: 77601

15 years agoInitialize an otherwise-wild pointer. Fixes a crashy analyzer
Douglas Gregor [Thu, 30 Jul 2009 16:10:26 +0000 (16:10 +0000)]
Initialize an otherwise-wild pointer. Fixes a crashy analyzer

llvm-svn: 77599

15 years agoadd a random codegen deficiency.
Chris Lattner [Thu, 30 Jul 2009 16:08:58 +0000 (16:08 +0000)]
add a random codegen deficiency.

llvm-svn: 77598

15 years agofix a unitialized pointer in NamedMDNode (and reenable unittest)
Benjamin Kramer [Thu, 30 Jul 2009 15:35:55 +0000 (15:35 +0000)]
fix a unitialized pointer in NamedMDNode (and reenable unittest)

llvm-svn: 77597

15 years agofix cmake build
Benjamin Kramer [Thu, 30 Jul 2009 10:38:43 +0000 (10:38 +0000)]
fix cmake build

llvm-svn: 77589

15 years agosimple fixes.
Zhongxing Xu [Thu, 30 Jul 2009 09:14:54 +0000 (09:14 +0000)]
simple fixes.

llvm-svn: 77587

15 years agoAllow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than...
Sanjiv Gupta [Thu, 30 Jul 2009 09:12:56 +0000 (09:12 +0000)]
Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering.

llvm-svn: 77586

15 years agoMake AnalysisManager into its own source file and a pure data management class.
Zhongxing Xu [Thu, 30 Jul 2009 09:11:52 +0000 (09:11 +0000)]
Make AnalysisManager into its own source file and a pure data management class.
Move all components creation code into AnalysisConsumer::DigestAnalyzerOptions().

llvm-svn: 77585

15 years agoAdd a note.
Evan Cheng [Thu, 30 Jul 2009 08:56:19 +0000 (08:56 +0000)]
Add a note.

llvm-svn: 77584

15 years agoI've changed the semantics of MERGE_VALUES a bit. It's now allowed to live until...
Evan Cheng [Thu, 30 Jul 2009 08:44:08 +0000 (08:44 +0000)]
I've changed the semantics of MERGE_VALUES a bit. It's now allowed to live until scheduling. It's deleted when the scheduler translate DAG nodes to machine instructions.

This is currently used by X86 to handle atomic_load_add when the output of the node is not used. I believe there is a better solution. But I find MERGE_VALUES useful for selecting multi-output node when the dead output can be selected as a IMPLICIT_DEF.

llvm-svn: 77583

15 years agoOptimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and...
Evan Cheng [Thu, 30 Jul 2009 08:33:02 +0000 (08:33 +0000)]
Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch.

When the return value is not used (i.e. only care about the value in the memory), x86 does not have to use add to implement these. Instead, it can use add, sub, inc, dec instructions with the "lock" prefix.

This is currently implemented using a bit of instruction selection trick. The issue is the target independent pattern produces one output and a chain and we want to map it into one that just output a chain. The current trick is to select it into a merge_values with the first definition being an implicit_def. The proper solution is to add new ISD opcodes for the no-output variant. DAG combiner can then transform the node before it gets to target node selection.

Problem #2 is we are adding a whole bunch of x86 atomic instructions when in fact these instructions are identical to the non-lock versions. We need a way to add target specific information to target nodes and have this information carried over to machine instructions. Asm printer (or JIT) can use this information to add the "lock" prefix.

llvm-svn: 77582

15 years agoSwitch obvious clients to Twine instead of utostr (when they were already using
Daniel Dunbar [Thu, 30 Jul 2009 04:20:37 +0000 (04:20 +0000)]
Switch obvious clients to Twine instead of utostr (when they were already using
a Twine, e.g., for names).
 - I am a little ambivalent about this; we don't want the string conversion of
   utostr, but using overload '+' mixed with string and integer arguments is
   sketchy. On the other hand, this particular usage is something of an idiom.

llvm-svn: 77579

15 years agoKeep track of references to mem(cpy,move,set) and then print only one extern
Sanjiv Gupta [Thu, 30 Jul 2009 04:15:15 +0000 (04:15 +0000)]
Keep track of references to mem(cpy,move,set) and then print only one extern
declaration for them.

llvm-svn: 77578

15 years agoUpdate CMakeLists.txt
Daniel Dunbar [Thu, 30 Jul 2009 03:55:04 +0000 (03:55 +0000)]
Update CMakeLists.txt

llvm-svn: 77577

15 years agoTwine: Provide [u]int{32,64} conversions via implicit constructors instead of
Daniel Dunbar [Thu, 30 Jul 2009 03:47:15 +0000 (03:47 +0000)]
Twine: Provide [u]int{32,64} conversions via implicit constructors instead of
explicitly.

llvm-svn: 77576

15 years agoFix Selector <-> GlobalSelector conversion.
Argyrios Kyrtzidis [Thu, 30 Jul 2009 03:42:08 +0000 (03:42 +0000)]
Fix Selector <-> GlobalSelector conversion.

llvm-svn: 77575

15 years agoPR3679 - handle #pragma weak
Ryan Flynn [Thu, 30 Jul 2009 03:15:39 +0000 (03:15 +0000)]
PR3679 - handle #pragma weak

llvm-svn: 77573

15 years agoAdd -fblocks.
Daniel Dunbar [Thu, 30 Jul 2009 02:43:05 +0000 (02:43 +0000)]
Add -fblocks.

llvm-svn: 77571

15 years agoEqual SCEVs of a subscript give rise to dependence.
Andreas Bolka [Thu, 30 Jul 2009 02:26:01 +0000 (02:26 +0000)]
Equal SCEVs of a subscript give rise to dependence.

llvm-svn: 77570

15 years agoDisable the NamedMDNodeTest, it is failing everywhere.
Daniel Dunbar [Thu, 30 Jul 2009 02:08:27 +0000 (02:08 +0000)]
Disable the NamedMDNodeTest, it is failing everywhere.

llvm-svn: 77569

15 years agoTypo
Nate Begeman [Thu, 30 Jul 2009 02:00:06 +0000 (02:00 +0000)]
Typo

llvm-svn: 77568

15 years agoMultiTestRunner: Stop printing XFAILs on every run, this doesn't really have any
Daniel Dunbar [Thu, 30 Jul 2009 01:57:45 +0000 (01:57 +0000)]
MultiTestRunner: Stop printing XFAILs on every run, this doesn't really have any
value.

llvm-svn: 77566

15 years agoAdd a new register class to describe operands that can't be SP,
Dan Gohman [Thu, 30 Jul 2009 01:56:29 +0000 (01:56 +0000)]
Add a new register class to describe operands that can't be SP,
due to x86 encoding restrictions. This is currently off by default
because it may cause code quality regressions. This is for PR4572.

llvm-svn: 77565

15 years agoMinor whitespace tidiness.
Dan Gohman [Thu, 30 Jul 2009 01:33:17 +0000 (01:33 +0000)]
Minor whitespace tidiness.

llvm-svn: 77564

15 years agoThis patch collects all analysis context data into a new class
Zhongxing Xu [Thu, 30 Jul 2009 01:17:21 +0000 (01:17 +0000)]
This patch collects all analysis context data into a new class
AnalysisContext.

llvm-svn: 77563

15 years agoRemove bogus "unsupported" case for vectors (which shouldn't
Eli Friedman [Thu, 30 Jul 2009 01:10:26 +0000 (01:10 +0000)]
Remove bogus "unsupported" case for vectors (which shouldn't
ever trigger).  Add an "unsupported" case that triggers for C++ code.

It would be nice if someone would implement this properly... it
shouldn't be too hard, but I haven't looked closely at the relevant
code.

llvm-svn: 77562

15 years agoFix type to be consistent with the rest of the code.
Mike Stump [Thu, 30 Jul 2009 01:02:10 +0000 (01:02 +0000)]
Fix type to be consistent with the rest of the code.

llvm-svn: 77560

15 years agoCheck null NameMDNode elements.
Devang Patel [Thu, 30 Jul 2009 01:02:04 +0000 (01:02 +0000)]
Check null NameMDNode elements.

llvm-svn: 77559

15 years agoEliminate a bunch of redundant tables.
Dan Gohman [Thu, 30 Jul 2009 00:40:42 +0000 (00:40 +0000)]
Eliminate a bunch of redundant tables.

llvm-svn: 77558

15 years agoLower a 128-bit BUILD_VECTOR with 2 elements to a pair of INSERT_VECTOR_ELTs.
Bob Wilson [Thu, 30 Jul 2009 00:31:25 +0000 (00:31 +0000)]
Lower a 128-bit BUILD_VECTOR with 2 elements to a pair of INSERT_VECTOR_ELTs.

llvm-svn: 77557

15 years agoAdd ability to layout the vtable pointer in trivial cases. I noticed
Mike Stump [Thu, 30 Jul 2009 00:22:38 +0000 (00:22 +0000)]
Add ability to layout the vtable pointer in trivial cases.  I noticed
that we would silently do bad things with virtual bases in the layout
code, so, we just turn them off.  When people do better things with
them, we can turn them back on.

llvm-svn: 77556

15 years agoFix gcc warning.
Eli Friedman [Thu, 30 Jul 2009 00:11:31 +0000 (00:11 +0000)]
Fix gcc warning.

llvm-svn: 77555

15 years agoir-gen for nested non-virtual base member access
Fariborz Jahanian [Thu, 30 Jul 2009 00:10:25 +0000 (00:10 +0000)]
ir-gen for nested non-virtual base member access
in current class.

llvm-svn: 77554

15 years agoUse array_endof instead of doing it manually.
Dan Gohman [Thu, 30 Jul 2009 00:10:18 +0000 (00:10 +0000)]
Use array_endof instead of doing it manually.

llvm-svn: 77553

15 years agoAdd support for -Wno-long-long.
Eli Friedman [Thu, 30 Jul 2009 00:04:39 +0000 (00:04 +0000)]
Add support for -Wno-long-long.

llvm-svn: 77552

15 years agoAdd support for ObjC message expressions, in the Analyzer:
Argyrios Kyrtzidis [Thu, 30 Jul 2009 00:03:55 +0000 (00:03 +0000)]
Add support for ObjC message expressions, in the Analyzer:

-Accept an ObjC method and find all message expressions that this method may respond to.
-Accept an ObjC message expression and find all methods that may respond to it.

llvm-svn: 77551

15 years agoAdd NamedMDNode test.
Devang Patel [Thu, 30 Jul 2009 00:03:41 +0000 (00:03 +0000)]
Add NamedMDNode test.

llvm-svn: 77550

15 years agoprint single NamedMDNode.
Devang Patel [Thu, 30 Jul 2009 00:02:57 +0000 (00:02 +0000)]
print single NamedMDNode.

llvm-svn: 77549

15 years agoUpdate CMake.
Argyrios Kyrtzidis [Thu, 30 Jul 2009 00:02:19 +0000 (00:02 +0000)]
Update CMake.

llvm-svn: 77548

15 years agoSupport ObjC methods as Entities.
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:41:46 +0000 (23:41 +0000)]
Support ObjC methods as Entities.

llvm-svn: 77547

15 years agoThere's no point in going through the getAs<TagType> stuff to find the definition...
Douglas Gregor [Wed, 29 Jul 2009 23:41:44 +0000 (23:41 +0000)]
There's no point in going through the getAs<TagType> stuff to find the definition of a tag, since tags rarely have more than one or two declarations

llvm-svn: 77546

15 years agoUse a STL helper template 'pair_value_iterator', by both DeclReferenceMap and Selecto...
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:41:33 +0000 (23:41 +0000)]
Use a STL helper template 'pair_value_iterator', by both DeclReferenceMap and SelectorMap.

llvm-svn: 77545

15 years agoAdd ObjCMethodDecl::isThisDeclarationADefinition().
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:41:26 +0000 (23:41 +0000)]
Add ObjCMethodDecl::isThisDeclarationADefinition().

llvm-svn: 77544

15 years agoIndex the selectors and provide the translation units that contain them
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:41:18 +0000 (23:41 +0000)]
Index the selectors and provide the translation units that contain them
through the IndexProvider.

llvm-svn: 77543

15 years agoAdd TranslationUnit::getSelectorMap().
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:41:08 +0000 (23:41 +0000)]
Add TranslationUnit::getSelectorMap().

llvm-svn: 77542

15 years agoIntroduce SelectorMap whose purpose is to map selectors to objc methods and message...
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:58 +0000 (23:40 +0000)]
Introduce SelectorMap whose purpose is to map selectors to objc methods and message exprs,
inside a particular ASTContext.

llvm-svn: 77541

15 years agoFind references inside blocks.
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:48 +0000 (23:40 +0000)]
Find references inside blocks.

llvm-svn: 77540

15 years agoUse helper class ASTVisitor to fully traverse an AST.
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:39 +0000 (23:40 +0000)]
Use helper class ASTVisitor to fully traverse an AST.

llvm-svn: 77539

15 years agoIntroduce the GlobalSelector class in the Indexing library.
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:32 +0000 (23:40 +0000)]
Introduce the GlobalSelector class in the Indexing library.

GlobalSelector is an ASTContext-independent way to refer to Objective C selectors.

llvm-svn: 77538

15 years agoUse an IdentifierTable for names used for Entities.
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:21 +0000 (23:40 +0000)]
Use an IdentifierTable for names used for Entities.

llvm-svn: 77537

15 years ago-Introduce the idx::Analyzer class used for getting indexing information, like finding
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:14 +0000 (23:40 +0000)]
-Introduce the idx::Analyzer class used for getting indexing information, like finding
references of a declaration across translation units.

-Modify the index-test tool to use it.

llvm-svn: 77536

15 years agoIntroduce TULocation and TULocationHandler classes.
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:40:02 +0000 (23:40 +0000)]
Introduce TULocation and TULocationHandler classes.

TULocation is like ASTLocation but also contains the TranslationUnit* that
the ASTLocation originated from.

llvm-svn: 77535

15 years agoModify the Indexer class so that it can return the TranslationUnit that internal
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:39:52 +0000 (23:39 +0000)]
Modify the Indexer class so that it can return the TranslationUnit that internal
decls originated from.

llvm-svn: 77534

15 years agoAdd Entity::getInternalDecl() to be used only on Entities that refer to internal
Argyrios Kyrtzidis [Wed, 29 Jul 2009 23:39:42 +0000 (23:39 +0000)]
Add Entity::getInternalDecl() to be used only on Entities that refer to internal
(in translation unit) declarations.

llvm-svn: 77533