Nick Lewycky
f6e4dca67e
Add value range analyzing of Add and Sub.
...
Understand that mul %x, 1 = %x.
llvm-svn: 58069
2008-10-24 04:00:26 +00:00
Evan Cheng
4bac4d0a16
Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now).
...
llvm-svn: 58068
2008-10-24 02:05:00 +00:00
Zhongxing Xu
c156be31a6
Fix linking error.
...
llvm-svn: 58067
2008-10-24 02:03:36 +00:00
Dan Gohman
712886f561
Fix constant-offset emission for x86-64 absolute addresses. This
...
fixes a bunch of test-suite JIT failures on x86-64 in
-relocation-model=static mode.
llvm-svn: 58066
2008-10-24 01:57:54 +00:00
Zhongxing Xu
cebb741f68
Add a bunch of dummy methods to make RegionStoreManager non-virtual.
...
llvm-svn: 58061
2008-10-24 01:38:55 +00:00
Steve Naroff
886b5193a7
Add file to VC++ project.
...
llvm-svn: 58060
2008-10-24 01:21:47 +00:00
Steve Naroff
57d00c056a
Add file to VC++ project.
...
llvm-svn: 58059
2008-10-24 01:19:59 +00:00
Zhongxing Xu
a8d2cbe47f
Added getLValueElement() to RegionStore. Only handle constant array for now.
...
llvm-svn: 58058
2008-10-24 01:09:32 +00:00
Dale Johannesen
8b531d2754
Initialize uninitialized variable.
...
llvm-svn: 58057
2008-10-24 01:06:58 +00:00
Ted Kremenek
6779f893b9
Make the analyzer store (memory model) a command line option.
...
llvm-svn: 58056
2008-10-24 01:04:59 +00:00
Daniel Dunbar
607f67b16c
Map compilation units using FileEntry pointers instead of
...
FileIDs. This seems better conceptually and lets the SourceManager
handle details of mapping the location to a file ID.
- In practice, fixes an assert because this code wasn't using
getPhysicalLoc.
llvm-svn: 58055
2008-10-24 00:46:51 +00:00
Ted Kremenek
1507dbfbfc
Use llvm::errs() instead of cerr.
...
llvm-svn: 58054
2008-10-23 23:55:40 +00:00
Ted Kremenek
40fcc594b8
Convert InheritanceHierarchyWriter to use llvm::raw_ostream instead of std::ostream.
...
llvm-svn: 58053
2008-10-23 23:51:23 +00:00
Ted Kremenek
3c6de496b0
Added raw_fd_ostream::close().
...
llvm-svn: 58052
2008-10-23 23:49:09 +00:00
Ted Kremenek
45e2b90d3d
Added driver option "-cxx-inheritance-view" for viewing the C++ hierarchy of a class in GraphViz.
...
llvm-svn: 58051
2008-10-23 23:36:29 +00:00
Ted Kremenek
f000308467
Added iterators for types.
...
llvm-svn: 58050
2008-10-23 23:35:43 +00:00
Daniel Dunbar
340b5ddcf9
Fix regression in comparison of qualified id; == operator was being
...
created with LHS and RHS whose types didn't match.
llvm-svn: 58049
2008-10-23 23:30:52 +00:00
Steve Naroff
a6090204a1
Changes to make the Windows build work...
...
- Add a file to the VC++ project.
- Make sure the clang driver links against the Transforms library.
- Incorporate changes from patch by Dan Gohman.
llvm-svn: 58048
2008-10-23 23:28:23 +00:00
Steve Naroff
e5d0011007
Add some files to VC++ project.
...
llvm-svn: 58047
2008-10-23 23:20:50 +00:00
Ted Kremenek
8c2b94b787
Updated Xcode project.
...
llvm-svn: 58046
2008-10-23 23:15:03 +00:00
Ted Kremenek
049ba7fbb1
For Radar reporting, null dereferences should be default classified as "Crash/Hang/Data loss" <rdar://problem/6315624>
...
llvm-svn: 58045
2008-10-23 21:36:52 +00:00
Evan Cheng
d0d0317b9a
Committing a good chunk of the pre-register allocation live interval splitting pass. It's handling simple cases and appear to do good things. Next: avoid splitting an interval multiple times; renumber registers when possible; record stack slot live intervals for coloring; rematerialize defs when possible.
...
llvm-svn: 58044
2008-10-23 20:43:13 +00:00
Dale Johannesen
e395d78657
Mark defs and uses of CTR and LR correctly.
...
Prevents DeadMachineInstructionElim from thinking
things like MTCTR are dead (fixes massive
testsuite breakage at -O0).
llvm-svn: 58043
2008-10-23 20:41:28 +00:00
Daniel Dunbar
f4be24686f
Make sure to set stdout to binary when writing bitcode files via
...
std::ostream API.
llvm-svn: 58042
2008-10-23 19:37:34 +00:00
Duncan Sands
62951678ee
Fix thinko - the operand number has nothing to do
...
with the result number.
llvm-svn: 58041
2008-10-23 19:34:23 +00:00
Douglas Gregor
9d6290baf1
Clean up and document the representation of C++ base classes
...
llvm-svn: 58040
2008-10-23 18:13:27 +00:00
Argyrios Kyrtzidis
cdc89ad215
Introduce INT64_C macro and unbreak LLVM on MSVC.
...
llvm-svn: 58039
2008-10-23 17:20:39 +00:00
Daniel Dunbar
6a962b162c
Hook "fast" code generation to -O0.
...
llvm-svn: 58035
2008-10-23 05:59:43 +00:00
Daniel Dunbar
71880e738a
Add -O[0-3s] support (following llvm-gcc).
...
- Passes match llvm-gcc but many of the switches aren't wired.
llvm-svn: 58034
2008-10-23 05:50:47 +00:00
Zhongxing Xu
9c4bc9dd33
Add an assertion to make our intention more clear.
...
llvm-svn: 58030
2008-10-23 04:19:25 +00:00
Douglas Gregor
01bef3c016
If NDEBUG is set, don't include any of the code for visualizing inheritance hierarchies
...
llvm-svn: 58029
2008-10-23 03:52:39 +00:00
Zhongxing Xu
b0a4875b42
Let StoreManager do different cast on arrays. BasicStore will just keep it intact.
...
llvm-svn: 58028
2008-10-23 03:10:39 +00:00
Ted Kremenek
dfaeaed0f6
Updated checker build.
...
llvm-svn: 58027
2008-10-23 02:50:14 +00:00
Ted Kremenek
c5092cc061
Temporarily mark this test XFAIL.
...
llvm-svn: 58024
2008-10-23 01:57:31 +00:00
Ted Kremenek
cc3d18877a
Disable warning about potential leaks of returned values until we test it a little more (lots of noise).
...
llvm-svn: 58021
2008-10-23 01:56:15 +00:00
Zhongxing Xu
e7104dcab6
Added a method to ElementRegion.
...
llvm-svn: 58020
2008-10-23 01:35:34 +00:00
Douglas Gregor
5c407d9a9b
Add support for conversions from a pointer-to-derived to a
...
pointer-to-base. Also, add overload ranking for pointer conversions
(for both pointer-to-void and derived-to-base pointer conversions).
Note that we do not yet diagnose derived-to-base pointer conversion
errors that stem from ambiguous or inacessible base classes. These
aren't handled during overload resolution; rather, when the conversion
is actually used we go ahead and diagnose the error.
llvm-svn: 58017
2008-10-23 00:40:37 +00:00
Chris Lattner
9246c2c8e1
make this test not depend on how the system header defines memset.
...
llvm-svn: 58016
2008-10-23 00:24:51 +00:00
Ted Kremenek
b205ff64e7
Update Xcode project. We still get a link error, however, because of an LLVM library that isn't being linked in for CodeGen (will fix).
...
llvm-svn: 58015
2008-10-23 00:00:24 +00:00
Ted Kremenek
631ff239fc
Warn about potentially leaked objects that are returned from methods whose names do not follow the Cocoa Memory Management guidelines.
...
llvm-svn: 58012
2008-10-22 23:56:21 +00:00
Steve Naroff
9eca18e4ed
Fix <rdar://problem/6312683> clang block rewriter:
...
llvm-svn: 58011
2008-10-22 23:42:04 +00:00
Daniel Dunbar
7f39e2d85a
Change create*Pass factory functions to return Pass* instead of
...
LoopPass*.
- Although less precise, this means they can be used in clients
without RTTI (who would otherwise need to include LoopPass.h, which
eventually includes things using dynamic_cast). This was the
simplest solution that presented itself, but I am happy to use a
better one if available.
llvm-svn: 58010
2008-10-22 23:32:42 +00:00
Ted Kremenek
5902794c8c
Fix incorrect testing for the end of the both strings in CStrInCStrNoCase. This could cause a read-out-of-bounds error if s2 is smaller than s1.
...
llvm-svn: 58009
2008-10-22 23:16:52 +00:00
Argyrios Kyrtzidis
1a527ea1e5
Restrict creation of OverloadedFunctionDecl only to C++ (it was getting used for invalid redeclarations on C).
...
llvm-svn: 58008
2008-10-22 23:08:24 +00:00
Steve Naroff
b0c653a649
Fix <rdar://problem/6311947> clang on xcode (regression): error: use of undeclared identifier 'expandedValue'.
...
Mea culpa: I introduced this regresson in the following 2 commits: r57529 (10/14), r57841 (10/20).
llvm-svn: 58007
2008-10-22 22:40:28 +00:00
Jim Grosbach
1ecf1fd5c8
remove extraneous #ifdef's
...
llvm-svn: 58006
2008-10-22 22:27:51 +00:00
Ted Kremenek
a08a05e541
Updated checker build.
...
llvm-svn: 58005
2008-10-22 21:53:52 +00:00
Douglas Gregor
d8c7476bf3
Remove the GraphWriter-based version of the C++ class inheritance visualization, since it isn't being used and can't handle virtual bases properly
...
llvm-svn: 58002
2008-10-22 21:25:12 +00:00
Douglas Gregor
dff6a8eeef
Added GraphViz visualization of C++ inheritance hierarchies.
...
Factored the QualTypeOrdering predicate into its own header
(TypeOrdering.h), now that it is used in two places.
llvm-svn: 58001
2008-10-22 21:13:31 +00:00
Argyrios Kyrtzidis
2147e7d88b
Now that DeclRefExpr accepts a NamedDecl, use a DeclRefExpr for when a CXXFieldDecl is referenced inside a method.
...
llvm-svn: 58000
2008-10-22 21:00:29 +00:00