Ted Kremenek
5423c53b59
Remove debugging variable I forgot to remove in my last commit.
...
llvm-svn: 61910
2009-01-08 02:44:52 +00:00
Ted Kremenek
17f09da0a4
Cache the "spellings" of string, character, and numeric literals in the PTH
...
file. For Cocoa.h, this enlarges the PTH file by 310K (4%).
llvm-svn: 61909
2009-01-08 02:44:06 +00:00
Devang Patel
fbbe93bf68
Add APIs to manage scope using DebugInfo interface.
...
This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future.
llvm-svn: 61908
2009-01-08 02:33:41 +00:00
Misha Brukman
44f27da773
* Fixed spelling of "sentinel"
...
* Removed trailing whitespace
llvm-svn: 61907
2009-01-08 02:21:23 +00:00
Misha Brukman
93bd1ca55e
Use VIM's built-in shorthand for whitespace in regex.
...
llvm-svn: 61906
2009-01-08 02:17:30 +00:00
Misha Brukman
687501fdd4
Be sure to ignore the end-of-line character when considering trailing
...
whitespace.
llvm-svn: 61905
2009-01-08 02:16:13 +00:00
Misha Brukman
2879c29274
Removed trailing whitespace.
...
llvm-svn: 61904
2009-01-08 02:11:55 +00:00
Bob Wilson
bf43619131
Fix failure messages in Verifier::PerformTypeCheck. The argument numbers
...
passed in to this function changed to support multiple return values,
leading to some incorrect argument numbers in the failure messages.
With this change, the ArgNo values used for return values and parameters are
disjoint, and the new IntrinsicParam function translates those ArgNo values
to strings that can be used in the messages. This also fixes a few places
where PerformTypeCheck did not return false following calls to CheckFailed.
llvm-svn: 61903
2009-01-08 01:56:06 +00:00
Ted Kremenek
352b8bacdc
Refactor CacheTokens to use a PTHWriter class that creates and manages most of the PTH generation data structures. No functionality change.
...
llvm-svn: 61902
2009-01-08 01:17:37 +00:00
Fariborz Jahanian
17290c3638
Objc's compatibility-alias semantics and code
...
gen issue fix.
llvm-svn: 61901
2009-01-08 01:10:55 +00:00
Oscar Fuentes
e0a2cf332c
CMake: removed lib/VMCore/DebugInfoBuilder.cpp.
...
llvm-svn: 61900
2009-01-08 00:18:52 +00:00
Bob Wilson
e8a299e90e
Assert that VectorType::getTruncatedElementVectorType is not used with
...
odd bit-width vector elements. Add a check in the verifier for this also.
llvm-svn: 61899
2009-01-07 23:44:27 +00:00
Chris Lattner
8157cb9ef6
remove DebugInfoBuilder, it has been subsumed by Analysis/DebugInfo.h
...
llvm-svn: 61898
2009-01-07 23:25:06 +00:00
Misha Brukman
b51cdfadda
Fix off-by-one error in traversing an array; this fixes a test.
...
The error was reported by gcc-4.3.0 during compilation.
llvm-svn: 61896
2009-01-07 23:07:29 +00:00
Gabor Greif
6aa83bd459
revert to functionally equivalent formulation
...
llvm-svn: 61895
2009-01-07 23:07:22 +00:00
Ted Kremenek
f929b0aefe
Update some doxygen comments to be more rich. Remove StoreManager::GetRegionSVal.
...
llvm-svn: 61894
2009-01-07 22:56:17 +00:00
Gabor Greif
6ecd6f43b0
use the obvious getters
...
llvm-svn: 61893
2009-01-07 22:39:29 +00:00
Dan Gohman
261ee6be57
Remove redundant 'else's. No functionality change.
...
llvm-svn: 61891
2009-01-07 22:30:55 +00:00
Dan Gohman
9157721904
Add empty() methods for register def lists.
...
llvm-svn: 61890
2009-01-07 22:28:56 +00:00
Ted Kremenek
682c3a6dd6
Refactor MemRegionManager instance variable into parent class. No functionality change.
...
llvm-svn: 61888
2009-01-07 22:18:50 +00:00
Douglas Gregor
f325278799
Fix PR clang/3291
...
llvm-svn: 61886
2009-01-07 21:36:02 +00:00
Douglas Gregor
f09c2dc8e0
Fix printing of member references to avoid displaying implicitly-generated member references, e.g., for anonymous struct/unions or implicit 'this' in member functions
...
llvm-svn: 61885
2009-01-07 21:26:07 +00:00
Misha Brukman
204b1d2268
Minor cleanup for unittest:
...
* Fixed {copy,assignment} constructor test names
* s/EXPECT_EQ(true, ...)/ASSERT_TRUE(...)/
Patch by Talin.
llvm-svn: 61883
2009-01-07 21:13:53 +00:00
Fariborz Jahanian
dd2d75bb52
Don't ICE when messaging on 'super' receiver when class
...
of category implementation is undeclared. Issue error instead.
llvm-svn: 61882
2009-01-07 21:01:41 +00:00
Fariborz Jahanian
475831bd6e
Another nasty code gen. bug with trivial fix. Calling class
...
method on 'super' receiver in a category implementation.
Other simpler cases were working by accident.
llvm-svn: 61880
2009-01-07 20:11:22 +00:00
Duncan Sands
0bcf085845
Whitespace - correct formatting.
...
llvm-svn: 61879
2009-01-07 20:01:06 +00:00
Douglas Gregor
f4d332797b
Finished semantic analysis of anonymous unions in C++.
...
Duplicate-member checking within classes is still a little messy, and
anonymous unions are still completely broken in C. We'll need to unify
the handling of fields in C and C++ to make this code applicable in
both languages.
llvm-svn: 61878
2009-01-07 19:46:03 +00:00
Duncan Sands
289f59f233
Remove alloca tracking from nocapture analysis. Not only
...
was it not very helpful, it was also wrong! The problem
is shown in the testcase: the alloca might be passed to
a nocapture callee which dereferences it and returns the
original pointer. But because it was a nocapture call we
think we don't need to track its uses, but we do.
llvm-svn: 61876
2009-01-07 19:39:06 +00:00
Oscar Fuentes
b97e96350f
CMake: replace `rm' with portable invocations of cmake.
...
Based on a bug report by Yonggang Luo.
llvm-svn: 61875
2009-01-07 19:24:44 +00:00
Duncan Sands
94bcbbab74
Reorder these.
...
llvm-svn: 61873
2009-01-07 19:17:02 +00:00
Duncan Sands
02599850b4
Use a switch rather than a sequence of "isa" tests.
...
llvm-svn: 61872
2009-01-07 19:10:21 +00:00
Daniel Dunbar
f8b5992b80
ccc: Make proper synthetic arguments in places we have to construct
...
"fake" options, allowing Tools to be oblivious to whether an argument
is real or synthetic. This kills off DerivedArg & a number of FIXMEs.
llvm-svn: 61871
2009-01-07 18:54:26 +00:00
Duncan Sands
187c5716b6
The verifier checks that the aliasee is not null.
...
llvm-svn: 61870
2009-01-07 18:45:53 +00:00
Daniel Dunbar
7792e90f83
ccc: Change Command to take list of strings for argv instead of Arg
...
instances; this just complicated things and doesn't seem to provide
any benefit.
llvm-svn: 61869
2009-01-07 18:40:45 +00:00
Steve Naroff
639de9ccd9
ObjC AST cleanups/simplifications (phase 1).
...
Add ObjCContainerDecl class and have ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl inherit from it.
llvm-svn: 61866
2009-01-07 17:57:40 +00:00
Douglas Gregor
e955880357
Use DeclContext::getLookupContext wherever necessary to ensure that we look through transparent contexts
...
llvm-svn: 61861
2009-01-07 16:34:42 +00:00
Douglas Gregor
4bba1ed9bc
Test case for anonymous unions in C++
...
llvm-svn: 61860
2009-01-07 16:22:09 +00:00
Chris Lattner
f2b8c82ad1
Implement the first half of PR3290: if there is a store of an
...
integer to a (transitive) bitcast the alloca and if that integer
has the full size of the alloca, then it clobbers the whole thing.
Handle this by extracting pieces out of the stored integer and
filing them away in the SROA'd elements.
This triggers fairly frequently because the CFE uses integers to
pass small structs by value and the inliner exposes these. For
example, in kimwitu++, I see a bunch of these with i64 stores to
"%struct.std::pair<std::_Rb_tree_const_iterator<kc::impl_abstract_phylum*>,bool>"
In 176.gcc I see a few i32 stores to "%struct..0anon".
In the testcase, this is a difference between compiling test1 to:
_test1:
subl $12, %esp
movl 20(%esp), %eax
movl %eax, 4(%esp)
movl 16(%esp), %eax
movl %eax, (%esp)
movl (%esp), %eax
addl 4(%esp), %eax
addl $12, %esp
ret
vs:
_test1:
movl 8(%esp), %eax
addl 4(%esp), %eax
ret
The second half of this will be to handle loads of the same form.
llvm-svn: 61853
2009-01-07 08:11:13 +00:00
Chris Lattner
9a2de65fd6
Factor a bunch of code out into a helper method.
...
llvm-svn: 61852
2009-01-07 07:18:45 +00:00
Chris Lattner
db561146aa
use continue to simplify code and reduce nesting, no functionality
...
change.
llvm-svn: 61851
2009-01-07 06:39:58 +00:00
Chris Lattner
938b54f383
Get TargetData once up front and cache as an ivar instead of
...
requerying it all over the place.
llvm-svn: 61850
2009-01-07 06:34:28 +00:00
Chris Lattner
a63dba9e6c
Use the hasAllZeroIndices predicate to simplify some
...
code, no functionality change.
llvm-svn: 61849
2009-01-07 06:25:07 +00:00
Douglas Gregor
8d973111a8
When determining whether a variable is a file-scoped variable, check
...
out its lookup context (to see through linkage
specifications). Addresses <rdar://problem/6477142>.
llvm-svn: 61848
2009-01-07 02:48:43 +00:00
Evan Cheng
f6768bd9cb
The coalescer does not coalesce a virtual register to a physical register if any of the physical register's sub-register live intervals overlaps with the virtual register. This is overly conservative. It prevents a extract_subreg from being coalesced away:
...
v1024 = EDI // not killed
=
= EDI
One possible solution is for the coalescer to examine the sub-register live intervals in the same manner as the physical register. Another possibility is to examine defs and uses (when needed) of sub-registers. Both solutions are too expensive. For now, look for "short virtual intervals" and scan instructions to look for conflict instead.
This is a small win on x86-64. e.g. It shaves 403.gcc by ~80 instructions.
llvm-svn: 61847
2009-01-07 02:08:57 +00:00
Daniel Dunbar
de482c408c
ccc: Extend ArgList to support indexing into a synthetic arg array
...
(for killing off DerivedArg).
llvm-svn: 61846
2009-01-07 01:57:39 +00:00
Chris Lattner
4687432d03
add a testcase.
...
llvm-svn: 61845
2009-01-07 01:48:08 +00:00
Daniel Dunbar
d315a274aa
ccc: Refactor so that all accesses to actual input strings go through
...
the ArgList.
llvm-svn: 61844
2009-01-07 01:29:28 +00:00
Ted Kremenek
4cfd63b5a4
Update checker build.
...
llvm-svn: 61843
2009-01-07 01:10:24 +00:00
Dan Gohman
8e8d1da35a
Add patterns to match conditional moves with loads folded
...
into their left operand, rather than their right. Do this
by commuting the operands and inverting the condition.
llvm-svn: 61842
2009-01-07 01:00:24 +00:00
Dan Gohman
1e6e9a8b9b
Add load-folding table entries for cmovno too.
...
llvm-svn: 61841
2009-01-07 00:44:53 +00:00