- Nov 13, 2008
-
-
Ted Kremenek authored
llvm-svn: 59227
-
Ted Kremenek authored
Correctly connect 'continue' and 'break' statements in Objective-C fast enumeration for blocks to the appropriate basic blocks. llvm-svn: 59226
-
Ted Kremenek authored
GRExprEngine/CFRefCount/GRSimpleVals: We don't do any special handling (yet) of vector types. Add explicit checks that when we process integers that they really are scalars. llvm-svn: 59225
-
Eli Friedman authored
some more bullet-proofing/enhancements for tryEvaluate. This shouldn't cause any behavior changes except for handling cases where we were crashing before and being able to evaluate a few more cases in tryEvaluate. This should settle the minor mess surrounding r59196. llvm-svn: 59224
-
Daniel Dunbar authored
- Resume running the always inliner pass always now that LLVM has been improved and functions with debug info can be inlined. - Remove unused header. llvm-svn: 59223
-
Ted Kremenek authored
llvm-svn: 59222
-
Daniel Dunbar authored
the Backend output should be done in binary mode. - I'd appreciate it if someone who has a Windows build could verify this. llvm-svn: 59221
-
Ted Kremenek authored
- Don't crash on vector types. - Handle typedefs. llvm-svn: 59220
-
Daniel Dunbar authored
- Logic such as this quite possibly should be optional builder behavior. llvm-svn: 59213
-
Eli Friedman authored
little rude; I figure it's cleaner to just back this out now so it doesn't get forgotten or mixed up with other checkins. The modification to isICE is simply wrong; I've added a test that the change to isICE breaks. I'm pretty sure the modification to tryEvaluate is also wrong. At the very least, there's some serious miscommunication going on here, as this is going in exactly the opposite direction of r59105. My understanding is that tryEvaluate is not supposed to care about side effects. That said, a lot of the clients to tryEvaluate are expecting it to enforce a no-side-effects policy, so we probably need another method that provides that guarantee. llvm-svn: 59212
-
Daniel Dunbar authored
landing pads. - Primarily a cleanliness issue instead of a performance issue (this eliminates all blocks w/o predecessors on 176.gcc/expr.c), but this also allows subsequent code to recognize it is unreachable and potentially avoid IRgen. llvm-svn: 59211
-
Daniel Dunbar authored
- Use dotted notation for blocks related to a particular statement type. - Use .end for landing pads. No functionality change in NDEBUG mode. :) llvm-svn: 59210
-
Ted Kremenek authored
llvm-svn: 59209
-
Daniel Dunbar authored
- Indicates that caller is done with the block and it can be dropped if it has no predecessors. Useful for callers who need to make landing pads but which may not be reached. No functionality change. llvm-svn: 59207
-
Ted Kremenek authored
llvm-svn: 59206
-
Daniel Dunbar authored
more confusing ifelse. Use dotted names for if blocks (if.then vs ifthen). llvm-svn: 59201
-
Ted Kremenek authored
Fix bug where the body block of an ObjCForCollectionStmt would not properly get expanded as a series of basic blocks. llvm-svn: 59197
-
Daniel Dunbar authored
- Evaluation of , operator used bogus assumption that LHS could be evaluated as an integral expression even though its type is unspecified. This change is making isICE very permissive of the LHS in non-evaluated contexts because it is not clear what predicate we would use to reject code here. The standard didn't offer me any guidance; opinions? llvm-svn: 59196
-
Ted Kremenek authored
llvm-svn: 59195
-
Douglas Gregor authored
conversion functions. Instead, we just use a placeholder identifier for these (e.g., "<constructor>") and override NamedDecl::getName() to provide a human-readable name. This is one potential solution to the problem; another solution would be to replace the use of IdentifierInfo* in NamedDecl with a different class that deals with identifiers better. I'm also prototyping that to see how it compares, but this commit is better than what we had previously. llvm-svn: 59193
-
Douglas Gregor authored
llvm-svn: 59192
-
Ted Kremenek authored
llvm-svn: 59191
-
- Nov 12, 2008
-
-
Ted Kremenek authored
llvm-svn: 59188
-
Ted Kremenek authored
llvm-svn: 59187
-
Ted Kremenek authored
llvm-svn: 59186
-
Ted Kremenek authored
PreprocessorLexer now has a virtual method "IndirectLex" which allows it to call the lex method of its subclasses. This is not for performance intensive operations. llvm-svn: 59185
-
Daniel Dunbar authored
something that is not an int. - Ignore these cases for now, added FIXME that we should also boolize them. llvm-svn: 59184
-
Ted Kremenek authored
llvm-svn: 59181
-
Ted Kremenek authored
llvm-svn: 59180
-
Ted Kremenek authored
Add Preprocessor::PushIncludeMacroStack() and Preprocessor::PopIncludeMacroStack(), two utility methods for manipulating the Preprocessor stack. These will be used to remove manually manipulation of IncludeMacroStack from the rest of the Preprocessor implementation. llvm-svn: 59179
-
Ted Kremenek authored
Update CFGStmtVisitor to recognize that ObjCForCollectionStmts are special block-level "expressions". llvm-svn: 59176
-
Daniel Dunbar authored
llvm-svn: 59174
-
Douglas Gregor authored
llvm-svn: 59173
-
Ted Kremenek authored
llvm-svn: 59169
-
Ted Kremenek authored
Move pieces of Lexer that the Preprocessor mutates to a new base class 'PreprocessorLexer'. This will also be the base class of the new Preprocessed-Token-Header (PTH) lexer. No functionality change. llvm-svn: 59168
-
Chris Lattner authored
llvm-svn: 59167
-
Sebastian Redl authored
llvm-svn: 59165
-
Chris Lattner authored
llvm-svn: 59163
-
Ted Kremenek authored
llvm-svn: 59162
-
Ted Kremenek authored
llvm-svn: 59161
-