Owen Anderson
80baed63b4
Second batch of passes using LLVMContext.
...
llvm-svn: 74753
2009-07-03 00:54:20 +00:00
Eli Friedman
fb36b02591
Add an intermediate typedef for __builtin_va_tag to make it a bit easier
...
to deal with for AST pretty-printing/rewriting. Patch by Abramo
Bagnara.
llvm-svn: 74752
2009-07-03 00:45:06 +00:00
Ted Kremenek
194f46a11a
Remove unused method.
...
llvm-svn: 74751
2009-07-03 00:41:09 +00:00
Ted Kremenek
24c8513022
BasicStoreManager: Use SymbolManager::canSymbolicate() to determine if a variable can be symbolicated.
...
llvm-svn: 74750
2009-07-03 00:36:16 +00:00
Evan Cheng
6d9041100b
Add Thumb2 load / store multiple instructions. Not used yet.
...
llvm-svn: 74749
2009-07-03 00:18:36 +00:00
Owen Anderson
b5618da226
Convert the first batch of passes to use LLVMContext.
...
llvm-svn: 74748
2009-07-03 00:17:18 +00:00
Ted Kremenek
0b0f206efa
Fix a horrible CFG bug reported in <rdar://problem/7027684>. The wrong successor
...
block would get hooked up in some cases when processing empty compound
statements.
llvm-svn: 74743
2009-07-03 00:10:50 +00:00
Daniel Dunbar
38a22bffdc
Replace std::iostreams with raw_ostream in TableGen.
...
- Sorry, I can't help myself.
- No intended functionality change.
llvm-svn: 74742
2009-07-03 00:10:29 +00:00
Evan Cheng
f30ee8820a
t2LDR_PRE etc are loads.
...
llvm-svn: 74741
2009-07-03 00:08:19 +00:00
Evan Cheng
53cdf022b6
Added indexed stores.
...
llvm-svn: 74740
2009-07-03 00:06:39 +00:00
Owen Anderson
39a7aed050
Fill in a few more missing accessors.
...
llvm-svn: 74739
2009-07-02 23:58:19 +00:00
Daniel Dunbar
43d74cd948
Revert prev commit, we have much bigger problems because 2.3 is missing
...
the subprocess module.
llvm-svn: 74738
2009-07-02 23:58:07 +00:00
Daniel Dunbar
22da185ed8
Avoid @staticmethod to allow use with Python 2.3.
...
llvm-svn: 74737
2009-07-02 23:56:37 +00:00
Evan Cheng
8ecd7eb3f7
Sign extending pre/post indexed loads.
...
llvm-svn: 74736
2009-07-02 23:16:11 +00:00
Chris Lattner
200e0757c7
switch the .ll parser to use SourceMgr.
...
llvm-svn: 74735
2009-07-02 23:08:13 +00:00
Chris Lattner
a76611a535
switch the .ll parser into SMDiagnostic.
...
llvm-svn: 74734
2009-07-02 22:46:18 +00:00
Devang Patel
87127712b9
Simplify debug info intrisinc lowering.
...
llvm-svn: 74733
2009-07-02 22:43:26 +00:00
Chris Lattner
cc64cc9313
add an explicit class for holding llvm::SourceMgr diagnostics and use
...
it to print them. This gives us column numbers in the diag line. Before:
t.s:4: error: unexpected token in argument list
mov %eax %edx
^
now:
t.s:4:11: error: unexpected token in argument list
mov %eax %edx
^
llvm-svn: 74732
2009-07-02 22:24:20 +00:00
David Goodwin
ade05a37f1
Checkpoint refactoring of ThumbInstrInfo and ThumbRegisterInfo into Thumb1InstrInfo, Thumb2InstrInfo, Thumb1RegisterInfo and Thumb2RegisterInfo. Move methods from ARMInstrInfo to ARMBaseInstrInfo to prepare for sharing with Thumb2.
...
llvm-svn: 74731
2009-07-02 22:18:33 +00:00
Ted Kremenek
06cc0e31b2
Replace guarded calls in RegionStoreManager to
...
ValueManager::getRegionValueSymbolVal() with unguarded calls to
ValueManager::getRegionValueSymbolValOrUnknown(). This changes centralizes the
decision of what values to symbolicate in SymbolManager rather than having it
scatter in RegionStoreManager.
llvm-svn: 74730
2009-07-02 22:16:42 +00:00
Ted Kremenek
725b4a3a51
Enhance RegionStore to lazily symbolicate fields and array elements for
...
structures passed-by-value as function arguments.
llvm-svn: 74729
2009-07-02 22:02:15 +00:00
Chris Lattner
73f3611be9
implement error recovery in the llvm-mc parser. Feel the power!
...
llvm-svn: 74728
2009-07-02 21:53:43 +00:00
Chris Lattner
b6fb62ceb0
fix broken links.
...
llvm-svn: 74727
2009-07-02 21:35:49 +00:00
Chris Lattner
c60cfbd302
test commit
...
llvm-svn: 74726
2009-07-02 21:34:35 +00:00
Chris Lattner
aa8450256e
mention the license.
...
llvm-svn: 74725
2009-07-02 21:29:19 +00:00
Owen Anderson
7c5c11f87d
Make the current LLVMContext available to passes.
...
llvm-svn: 74724
2009-07-02 20:23:41 +00:00
Douglas Gregor
6141511621
CMake build fixes, from Xerxes Ranby
...
llvm-svn: 74720
2009-07-02 18:53:52 +00:00
Ted Kremenek
71bf4264bf
Fix RUN line so this test doesn't hang.
...
llvm-svn: 74719
2009-07-02 18:44:31 +00:00
Bruno Cardoso Lopes
6dca2847d9
shrinking down #includes
...
llvm-svn: 74718
2009-07-02 18:29:24 +00:00
Fariborz Jahanian
9fa077c626
Patch to allocate list of bases in CXXRecordDecl
...
using ASTContxt allocation.
llvm-svn: 74717
2009-07-02 18:26:15 +00:00
Ted Kremenek
df67d426d9
StoreManagers: Use 'hasGlobalsStorage()' and 'hasParametersStorage()' instead of
...
directly consulting if a VarDecl is an implicit or actual parameter, a global,
etc.
llvm-svn: 74716
2009-07-02 18:25:09 +00:00
Ted Kremenek
7e4a9a02c3
Add a separate MemSpaceRegion for function/method arguments passed on the stack.
...
This will simplify the logic of StoreManagers that want to specially reason
about the values of parameters.
llvm-svn: 74715
2009-07-02 18:14:59 +00:00
Owen Anderson
0a2c458ae0
Add an accessor to Function so that Passes can easily get access to the context.
...
llvm-svn: 74714
2009-07-02 18:03:58 +00:00
Sanjiv Gupta
6c41ac5b38
Prefix bin dir to executables.
...
llvm-svn: 74713
2009-07-02 17:51:09 +00:00
Devang Patel
676efa092c
Remove tabs.
...
llvm-svn: 74712
2009-07-02 17:39:40 +00:00
Sanjiv Gupta
2b65d1aac1
Fixed handling of -c option.wq
...
llvm-svn: 74711
2009-07-02 17:35:38 +00:00
Owen Anderson
ac7334c1cf
Use LLVMContext for generating MDStrings too.
...
llvm-svn: 74710
2009-07-02 17:28:30 +00:00
Ted Kremenek
df15d29f17
Remove commented methods. Add MemRegion::printStdErr().
...
llvm-svn: 74709
2009-07-02 17:24:10 +00:00
Owen Anderson
29ec3e0e50
Use LLVMContext to generate metadata constants.
...
llvm-svn: 74708
2009-07-02 17:20:28 +00:00
Owen Anderson
fea7ae88c9
Add accessors for metadata constants.
...
llvm-svn: 74707
2009-07-02 17:19:47 +00:00
Devang Patel
526b17097a
Fix typo.
...
Thanks Duncan!
llvm-svn: 74706
2009-07-02 17:17:03 +00:00
Owen Anderson
e792c90fd1
Add accessor for MDNode.
...
llvm-svn: 74705
2009-07-02 17:12:48 +00:00
Douglas Gregor
c6d5edd2ed
Add support for retrieving the Doxygen comment associated with a given
...
declaration in the AST.
The new ASTContext::getCommentForDecl function searches for a comment
that is attached to the given declaration, and returns that comment,
which may be composed of several comment blocks.
Comments are always available in an AST. However, to avoid harming
performance, we don't actually parse the comments. Rather, we keep the
source ranges of all of the comments within a large, sorted vector,
then lazily extract comments via a binary search in that vector only
when needed (which never occurs in a "normal" compile).
Comments are written to a precompiled header/AST file as a blob of
source ranges. That blob is only lazily loaded when one requests a
comment for a declaration (this never occurs in a "normal" compile).
The indexer testbed now supports comment extraction. When the
-point-at location points to a declaration with a Doxygen-style
comment, the indexer testbed prints the associated comment
block(s). See test/Index/comments.c for an example.
Some notes:
- We don't actually attempt to parse the comment blocks themselves,
beyond identifying them as Doxygen comment blocks to associate them
with a declaration.
- We won't find comment blocks that aren't adjacent to the
declaration, because we start our search based on the location of
the declaration.
- We don't go through the necessary hops to find, for example,
whether some redeclaration of a declaration has comments when our
current declaration does not. Similarly, we don't attempt to
associate a \param Foo marker in a function body comment with the
parameter named Foo (although that is certainly possible).
- Verification of my "no performance impact" claims is still "to be
done".
llvm-svn: 74704
2009-07-02 17:08:52 +00:00
Owen Anderson
09063cec4e
Use LLVMContext for generating UndefValue constants too!
...
llvm-svn: 74703
2009-07-02 17:04:01 +00:00
Owen Anderson
f85afb2591
Add accessor for getting UndefValue's.
...
llvm-svn: 74702
2009-07-02 16:51:51 +00:00
Owen Anderson
6b92174dda
Describe the LLVMContext API change.
...
llvm-svn: 74701
2009-07-02 16:48:38 +00:00
Chris Lattner
ccfb5105eb
simplify some logic by using isWeakForLinker(). Thanks to Anton for
...
pointing this out.
llvm-svn: 74700
2009-07-02 16:08:53 +00:00
Chris Lattner
edb8407f0c
do not try to analyze bitcasts from i64 to <2 x i32> in ComputedMaskedBits. While
...
we could do this, doing so requires adjusting the demanded mask and the code isn't
doing that yet. This fixes PR4495
llvm-svn: 74699
2009-07-02 16:04:08 +00:00
Chris Lattner
f3f6aaa2c3
fix inverted logic pointed out by John McCall, noticed by inspection.
...
This was considering vector intrinsics to have cost 2, but non-vector
intrinsics to have cost 1, which is backward.
llvm-svn: 74698
2009-07-02 15:39:39 +00:00
Duncan Sands
f9cf4ffcc7
Fix windows build, patch by Howard Su.
...
llvm-svn: 74697
2009-07-02 12:09:50 +00:00