Commit Graph

45189 Commits

Author SHA1 Message Date
Bill Wendling 82a9321f56 Sorry. I couldn't sleep at night knowing I put these ugly casts into the source tree.
llvm-svn: 53001
2008-07-02 00:35:47 +00:00
Ted Kremenek 0a7fd7d56c Added AnalysisConsumer.[cpp,h] to clangDriver.vcproj.
Added CXXFieldCollector.h to clangSema.vcproj.

llvm-svn: 52999
2008-07-02 00:16:24 +00:00
Ted Kremenek 19941499b8 Implemented operator!= for the ImmutableList iterator.
llvm-svn: 52998
2008-07-02 00:06:55 +00:00
Ted Kremenek e6cc6bb5b3 Updated Xcode project with new files in the Driver: AnalysisConsumer.[h,cpp]
llvm-svn: 52997
2008-07-02 00:03:52 +00:00
Ted Kremenek f0413bfcda Added AnalysisConsumer, a meta-level ASTConsumer class to drive various
analyses. This potentially is the primordial origins of a Clang-equivalent
"PassManager".

The new AnalysisConsumer interface allows multiple analyses to be run from a
single invocation of Clang.

Migrated the logic of "-warn-dead-stores" and "-warn-uninit-values" to use the
new AnalysisConsumer interface. The new interface results in a significant code
reduction to incorporate an analysis into the Driver.

Updated a test case to (correctly) acknowledge that it contains a dead store
(this check wasn't being performed because it was previously masked by
-warn-uninit-values).

llvm-svn: 52996
2008-07-02 00:03:09 +00:00
Owen Anderson 31936d6ab6 Add a version of AddString that takes a const char* so we can avoid extraneous
conversions to std::string.

llvm-svn: 52995
2008-07-01 23:49:59 +00:00
Bill Wendling b7bd02be57 Darwin doesn't need exception handling information for the "move" info when
debug information is being output, because it's leet!

llvm-svn: 52994
2008-07-01 23:34:48 +00:00
Ted Kremenek 5f06a935a3 Added reference count checker test case.
llvm-svn: 52993
2008-07-01 23:29:51 +00:00
Evan Cheng c963f6c14b Avoid creating expensive comment string if it's not going to be printed.
llvm-svn: 52992
2008-07-01 23:18:29 +00:00
Ted Kremenek 3b5ea90dc1 Updated latest checker build.
llvm-svn: 52991
2008-07-01 23:15:51 +00:00
Owen Anderson 501f207bdf No need to use std::distance. We can just count the number of operands
much more cheaply.

llvm-svn: 52990
2008-07-01 22:34:11 +00:00
Ted Kremenek 9412c5240a Added partial specialization of FoldingSetTrait for pointers.
llvm-svn: 52989
2008-07-01 22:30:13 +00:00
Evan Cheng f3202a6375 Simplify addRegisterKilled and addRegisterDead.
llvm-svn: 52988
2008-07-01 22:21:21 +00:00
Bill Wendling c8cdb883df - Update comments.
- Don't use GlobalVariable::LinkageTypes when unsigned works.

llvm-svn: 52987
2008-07-01 22:08:01 +00:00
Dale Johannesen 3bfe3b0e76 Considering predecessors of exit blocks gets
us a little more tail merging.

llvm-svn: 52986
2008-07-01 21:50:49 +00:00
Dale Johannesen ad6b3a6ed2 Fix longstanding thinko: don't exclude
predessors of exit blocks from tail merging
consideration.

llvm-svn: 52985
2008-07-01 21:50:14 +00:00
Devang Patel 59b71c23de Fix dom tree compare. Don't forget to compare children!
llvm-svn: 52984
2008-07-01 21:41:00 +00:00
Devang Patel 99ad4ba227 Disable dom info verifier by default.
llvm-svn: 52983
2008-07-01 21:36:11 +00:00
Evan Cheng 4c609abd90 Eliminate a compile time warning.
llvm-svn: 52982
2008-07-01 21:35:46 +00:00
Owen Anderson 1d952533c2 Add a version of AsmPrinter::EOL that takes a const char* so that we don't have to do as many implicit std::string constructions.
Unfortunately, this doesn't appear to translate to a real speedup in practice.

llvm-svn: 52981
2008-07-01 21:16:27 +00:00
Bill Wendling c362465dad Remove warning about initialization order.
llvm-svn: 52980
2008-07-01 21:00:31 +00:00
Devang Patel 67c79a4992 Fix typos in comments.
Thanks for the feedback!

llvm-svn: 52978
2008-07-01 19:50:56 +00:00
Evan Cheng 39a9ee48a2 DAGSize should not be public.
llvm-svn: 52977
2008-07-01 18:49:06 +00:00
Dan Gohman e61e120c17 Prune a few dependencies on MachineFunction.h.
llvm-svn: 52976
2008-07-01 18:15:35 +00:00
Evan Cheng 33696cd9cf Do run ComputeLiveOutVRegInfo with -fast.
llvm-svn: 52975
2008-07-01 18:15:04 +00:00
Dan Gohman 2965f03545 Make ilist_traits<MachineBasicBlock>'s Parent member private.
llvm-svn: 52974
2008-07-01 18:13:58 +00:00
Dan Gohman 6edbdaa769 Fix apostrophes in a comment.
llvm-svn: 52972
2008-07-01 18:12:31 +00:00
Evan Cheng 2c9773155a Do not use computationally expensive scheduling heuristics with -fast.
llvm-svn: 52971
2008-07-01 18:05:03 +00:00
Evan Cheng fb2573554c Apply Chris' suggestion.
llvm-svn: 52970
2008-07-01 17:59:20 +00:00
Devang Patel 9dbe4d15ec Add dom info verifier.
llvm-svn: 52967
2008-07-01 17:44:24 +00:00
Owen Anderson 3684013910 Make the subregister hashtable output more readable by wrapping the lines,
and mark it const along with the associated changes to TargetRegisterInfo.

llvm-svn: 52966
2008-07-01 17:34:38 +00:00
Ted Kremenek ab54e51b38 Unlike NSWindow objects, NSPanel objects initially do not have self-ownership.
llvm-svn: 52963
2008-07-01 17:21:27 +00:00
Owen Anderson 9e75cb2e7a Use delete[] instead of free on an array created with new[].
llvm-svn: 52960
2008-07-01 15:56:31 +00:00
Argyrios Kyrtzidis 2a40249b65 Update some comments.
llvm-svn: 52957
2008-07-01 11:22:40 +00:00
Argyrios Kyrtzidis ed9834272f Add Sema support for C++ classes.
llvm-svn: 52956
2008-07-01 10:37:29 +00:00
Duncan Sands b55e5ece96 Highlight that getMergeValues optimization is
being suppressed here.

llvm-svn: 52952
2008-07-01 08:00:49 +00:00
Owen Anderson 1760b92d27 Implement suggestions from Chris:
- Use a more accurate heuristic for the size of the hashtable.
  - Use bitwise and instead of modulo since the size is a power of two.
  - Use new[] instead of malloc().

llvm-svn: 52951
2008-07-01 07:02:30 +00:00
Seo Sanghyeon 6d228025fb Compilation fix
llvm-svn: 52950
2008-07-01 05:27:28 +00:00
Ted Kremenek 5e08668882 Updated checker build to checker-51
llvm-svn: 52949
2008-07-01 01:56:05 +00:00
Owen Anderson 2a3a1127e2 Properly handle cases where a predecessor of the block being queried on is unreachable.
This fixes PR2503, though we should also fix other passes not to emit this kind of code.

llvm-svn: 52946
2008-07-01 00:40:58 +00:00
Owen Anderson 49cce257ae Replace the dynamically computed std::set lookup method for subregisters with a hashtable-based
version that is computed by tblgen at the time LLVM is compiled.

llvm-svn: 52945
2008-07-01 00:18:52 +00:00
Dan Gohman b58aff4858 Minimize duplicated code in AsmPrinter::printLabel.
llvm-svn: 52944
2008-07-01 00:16:26 +00:00
Dan Gohman fb19f9402b Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating
the need for a flavor operand, and add a new SDNode subclass,
LabelSDNode, for use with them to eliminate the need for a label id
operand.

Change instruction selection to let these label nodes through
unmodified instead of creating copies of them. Teach the MachineInstr
emitter how to emit a MachineInstr directly from an ISD label node.

This avoids the need for allocating SDNodes for the label id and
flavor value, as well as SDNodes for each of the post-isel label,
label id, and label flavor.

llvm-svn: 52943
2008-07-01 00:05:16 +00:00
Ted Kremenek bc6d850088 Temporarily treat "Autorelease" as "StopTracking". This is the original behavior.
llvm-svn: 52940
2008-07-01 00:01:02 +00:00
Chuck Rose III 5071fcde24 Adding some missing files to VStudio project files. Switching to use generated llvmAsmParser.cpp/.h
llvm-svn: 52935
2008-06-30 22:37:57 +00:00
Evan Cheng 819b770868 Suppress compiler warning.
llvm-svn: 52934
2008-06-30 22:33:56 +00:00
Evan Cheng 6a323e16f2 Don't run stack slot coloring if -fast.
llvm-svn: 52933
2008-06-30 22:33:16 +00:00
Dan Gohman 9cedf2b7c6 Don't use ISD namespace opcodes for MachineInstrs.
llvm-svn: 52932
2008-06-30 22:23:08 +00:00
Dan Gohman e09a1c88cf Use a simpler but equivalent form of RecordSource.
llvm-svn: 52931
2008-06-30 22:21:03 +00:00
Evan Cheng 0d3628946f Add timing report for various sub-passes under SelectionDAGISel.
llvm-svn: 52930
2008-06-30 22:10:09 +00:00