Devang Patel
a0e4fb8283
Provide a hook to set the code generation debug options to investigate lto failures.
...
llvm-svn: 53119
2008-07-03 22:53:14 +00:00
Ted Kremenek
69ba008ea3
Updated latest checker build.
...
llvm-svn: 53118
2008-07-03 22:35:30 +00:00
Ted Kremenek
8044046efb
Fix a bug in the dead stores checker reported in the following email:
...
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-July/002157.html
Essentially the observer mechanism in LiveVariables was observing block-level
expressions multiple times, leading to a case where the dead store checker could
see a value as dead when it was really live.
llvm-svn: 53115
2008-07-03 22:25:27 +00:00
Ted Kremenek
9c75ea62d7
Have ccc-analyzer skip any files with an unknown (or absent) extension.
...
llvm-svn: 53114
2008-07-03 22:24:10 +00:00
Evan Cheng
fad8be450d
Backed out 53031.
...
llvm-svn: 53110
2008-07-03 18:20:14 +00:00
Evan Cheng
633e22b3ee
Back out 53091 for now.
...
llvm-svn: 53109
2008-07-03 18:11:29 +00:00
Owen Anderson
3ea90a7d55
Use information already present in the ValueTable to fast-fail when we know there won't be a value number match. This speeds up GVN on a case where there are very few redundancies by ~25%.
...
llvm-svn: 53108
2008-07-03 17:44:33 +00:00
Chris Lattner
4cab581bc0
add c++ status to sidebar
...
llvm-svn: 53107
2008-07-03 17:43:22 +00:00
Devang Patel
eb611ddeb2
Do not try to update dominator info while manipulating CFG. This code does not handle all cases and keeps invalid dom info around some cases, which misleads other passes down stream.
...
Right now, dom info is recaluclated in the end if the loop is switched.
llvm-svn: 53106
2008-07-03 17:37:52 +00:00
Owen Anderson
d57cdc3c60
Remove the ability for ADCE to remove unreachable blocks in loop nests, because, as Eli pointed out, SimplifyCFG already does this.
...
llvm-svn: 53104
2008-07-03 17:21:41 +00:00
Ted Kremenek
38b1e57a4d
Updated latest checker build.
...
llvm-svn: 53103
2008-07-03 16:26:26 +00:00
Ted Kremenek
68b117fca4
Skip the "-dealloc" check if a ObjC class contains no ivars.
...
llvm-svn: 53100
2008-07-03 15:37:02 +00:00
Ted Kremenek
b23c3aaf7a
Added an "ivar_empty" method to ObjCInterfaceDecl.
...
llvm-svn: 53099
2008-07-03 15:30:49 +00:00
Ted Kremenek
e66ca6f35a
For the -dealloc checker, check the LangOptions to determine whether or not the code is compiled with GC.
...
llvm-svn: 53098
2008-07-03 14:35:01 +00:00
Evan Cheng
7d98a48f15
- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc.
...
- Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list.
llvm-svn: 53097
2008-07-03 09:09:37 +00:00
Evan Cheng
798d9bb97f
isel load folding is disabled at -fast. Now hoist the check up to the top level to save some time.
...
llvm-svn: 53096
2008-07-03 08:39:51 +00:00
Argyrios Kyrtzidis
5c48a70dad
-Added bool feature.
...
-Set "Named Casts" feature to partial parser/sema support because reinterpret_cast is not properly implemented.
-Removed "Virtual functions" feature because it is already covered by "Class definitions".
-Removed "Templates" because we should either list *all* missing/supported features or just list the features with some support. Mentioning just a few missing features without listing all of them makes little sense.
llvm-svn: 53095
2008-07-03 08:32:59 +00:00
Argyrios Kyrtzidis
f5bfb06b85
-Change slightly the link to cxx_status.html of the home page.
...
-Add a link to cxx_status.html from get_involved.html/"Open Projects".
llvm-svn: 53094
2008-07-03 08:21:51 +00:00
Matthijs Kooijman
ba5d7efc6c
Add newline at the end of Constants.cpp.
...
llvm-svn: 53092
2008-07-03 07:46:41 +00:00
Anton Korobeynikov
4827deb74f
llvm-gcc sometimes marks external declarations hidden, because intializers are
...
processed separately. Honour such situation and emit PIC relocations properly
in such case.
llvm-svn: 53091
2008-07-03 07:43:14 +00:00
Bill Wendling
a96eabaab7
Remove unused function.
...
llvm-svn: 53090
2008-07-03 07:10:03 +00:00
Devang Patel
f94b9826b5
Preserve dom info.
...
llvm-svn: 53089
2008-07-03 07:04:22 +00:00
Devang Patel
874a3a0b0d
Keep track of inherited analysis (e.g. dominator tree).
...
llvm-svn: 53088
2008-07-03 07:02:30 +00:00
Devang Patel
226edd1826
Remove extra FIXME
...
llvm-svn: 53087
2008-07-03 06:50:04 +00:00
Devang Patel
c4dcf82a16
Reconstruct dom info, if loop is unswitched.
...
llvm-svn: 53086
2008-07-03 06:48:21 +00:00
Devang Patel
e491bb8845
LoopUnswitch does not preserve dominator info in all cases.
...
llvm-svn: 53085
2008-07-03 05:55:03 +00:00
Ted Kremenek
f39614bfd0
Updated latest checker build.
...
llvm-svn: 53084
2008-07-03 05:33:14 +00:00
Ted Kremenek
1d3c797c90
Have BugReporter::getCFG and BugReporter::getLiveVariables returns pointers instead of references, because they can both fail
...
on functions we cannot construct full CFGs for yet.
llvm-svn: 53081
2008-07-03 05:26:14 +00:00
Ted Kremenek
590afde872
Updated latest checker build.
...
llvm-svn: 53080
2008-07-03 04:47:54 +00:00
Ted Kremenek
ff7f2e76bf
Update Xcode project.
...
llvm-svn: 53076
2008-07-03 04:30:48 +00:00
Ted Kremenek
0e7d25233e
Added static analysis check to see if a subclass of NSObject implements -dealloc, and whether or not that implementation calls [super dealloc].
...
llvm-svn: 53075
2008-07-03 04:29:21 +00:00
Anders Carlsson
7a241baf2f
Shuffle things around in preparation for integrating Eli's constant evaluator.
...
llvm-svn: 53074
2008-07-03 04:20:39 +00:00
Anders Carlsson
ac1d1d1c34
Make APValue an APSInt.
...
llvm-svn: 53072
2008-07-03 04:00:59 +00:00
Chris Lattner
3f26dc0bf6
new testcase
...
llvm-svn: 53071
2008-07-03 03:53:40 +00:00
Chris Lattner
1cb0e61e98
Fix PR2252: don't warn on negating an unsigned value ever, and don't emit
...
'integer constant is so large that it is unsigned' warning for hex literals.
llvm-svn: 53070
2008-07-03 03:47:30 +00:00
Chris Lattner
9ff58d7caf
Fix PR2020 by recovering by defining an anonymous enum, instead of recovering
...
by filling in the body of a union with enum constants.
llvm-svn: 53069
2008-07-03 03:30:58 +00:00
Dan Gohman
b261292917
Reapply r52988, "Simplify addRegisterKilled and addRegisterDead." The
...
254.gap failure was not due to this mod.
llvm-svn: 53068
2008-07-03 01:18:51 +00:00
Dan Gohman
99e6237ba7
Use operator new instead of new char[].
...
llvm-svn: 53067
2008-07-03 00:59:36 +00:00
Dan Gohman
7722f791f6
Use operator new instead of new char[].
...
llvm-svn: 53066
2008-07-03 00:53:09 +00:00
Dan Gohman
f3c4d7f877
Avoid unnecessarily copying APInt objects.
...
llvm-svn: 53065
2008-07-03 00:52:03 +00:00
Dan Gohman
4c6db53a36
Correct a comment.
...
llvm-svn: 53064
2008-07-03 00:51:05 +00:00
Evan Cheng
9f8b66f3f1
Use std::replace instead of std::find and push_back.
...
llvm-svn: 53063
2008-07-03 00:28:27 +00:00
Devang Patel
7dcfff392a
Undo previous patch. It is not that simple to fix dom info here.
...
llvm-svn: 53062
2008-07-03 00:08:13 +00:00
Evan Cheng
7a265d83bf
- Add LiveVariables::replaceKillInstruction. This does a subset of instructionChanged. That is, it only update the VarInfo.kills if the new instruction is known to have the correct dead and kill markers.
...
- CommuteInstruction copies kill / dead markers over to new instruction. So use replaceKillInstruction instead.
llvm-svn: 53061
2008-07-03 00:07:19 +00:00
Evan Cheng
c939f45fe7
commuteInstruction should preserve dead markers.
...
llvm-svn: 53060
2008-07-03 00:04:51 +00:00
Owen Anderson
30cc028e4a
Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction
...
Also, if LV isn't around, then TwoAddr doesn't need to be updating flags, since they won't have been set in the first place.
llvm-svn: 53058
2008-07-02 23:41:07 +00:00
Dan Gohman
22e9707480
Replace a few uses of SelectionDAG::getTargetNode with
...
SelectionDAG::SelectNodeTo in the instruction selector. This
updates existing nodes in place instead of creating new ones.
Go back to selecting ISD::DBG_LABEL nodes into
TargetInstrInfo::DBG_LABEL nodes instead of leaving them
unselected, now that SelectNodeTo allows us to update them
in place.
llvm-svn: 53057
2008-07-02 23:23:19 +00:00
Ted Kremenek
80025c257f
Update test case with new clang arguments.
...
llvm-svn: 53056
2008-07-02 23:18:57 +00:00
Ted Kremenek
e6b2fa5029
Update test case: simply running "clang -checker-simple" doesn't invoke the dead store checker anymore. We need "-warn-dead-stores" as well.
...
llvm-svn: 53055
2008-07-02 23:18:22 +00:00
Ted Kremenek
c7efb536d5
Unify the code path for the Dead Stores checker to always use the BugReporter interface.
...
llvm-svn: 53054
2008-07-02 23:16:33 +00:00