- Apr 12, 2010
-
-
Benjamin Kramer authored
llvm-svn: 101034
-
Dan Gohman authored
llvm-svn: 101033
-
Dan Gohman authored
a ScalarEvolution bug with overflow handling is fixed, the normal analysis code will automatically decline to operate on the icmp instructions which are responsible for the loop exit. llvm-svn: 101032
-
Douglas Gregor authored
correctly diagnose instantiation of a function parameter with Objective-C class type (since Objective-C classes can't be passed by value). llvm-svn: 101031
-
Dan Gohman authored
have preheaders or dedicated exit blocks, as clients may not otherwise need to run LoopSimplify. llvm-svn: 101030
-
Douglas Gregor authored
function's type is (strictly speaking) non-dependent. This ensures that, e.g., default function arguments get instantiated properly. And, since I couldn't resist, collapse the two implementations of function-parameter instantiation into calls to a single, new function (Sema::SubstParmVarDecl), since the two had nearly identical code (and each had bugs the other didn't!). More importantly, factored out the semantic analysis of a parameter declaration into Sema::CheckParameter, which is called both by Sema::ActOnParamDeclarator (when parameters are parsed) and when a parameter is instantiated. Previously, we were missing some Objective-C and address-space checks on instantiated function parameters. Fixes PR6733. llvm-svn: 101029
-
Dan Gohman authored
AddRecs so that it checks for overflow in the computation that it is performing, rather than just checking hasNo{Signed,Unsigned}Wrap, since those flags are for a different computation. This fixes a bug that impacts an upcoming change. llvm-svn: 101028
-
Dan Gohman authored
instead of deleting just the user. This makes it more consistent with other code in IndVarSimplify, and theoretically can eliminate more users earlier. llvm-svn: 101027
-
Chris Lattner authored
llvm-svn: 101026
-
Chris Lattner authored
by David Chisnall llvm-svn: 101024
-
Evan Cheng authored
llvm-svn: 101023
-
Chris Lattner authored
llvm-svn: 101022
-
Chris Lattner authored
This also fixes cases where super is used in a block in a method which isn't valid. llvm-svn: 101021
-
Chris Lattner authored
fields to two 16-bit values instead of using bitfields. llvm-svn: 101020
-
Chris Lattner authored
llvm-svn: 101019
-
Chris Lattner authored
llvm-svn: 101018
-
Chris Lattner authored
llvm-svn: 101017
-
Chris Lattner authored
type, instead of having sema do it. llvm-svn: 101016
-
Nick Lewycky authored
llvm-svn: 101015
-
Chris Lattner authored
in "LookupInObjCMethod". llvm-svn: 101014
-
Nick Lewycky authored
llvm-svn: 101013
-
Eric Christopher authored
need TargetData, just return false if we don't have it. Update testcases accordingly. Fixes PR6807. llvm-svn: 101011
-
Dan Gohman authored
llvm-svn: 101010
-
Dan Gohman authored
llvm-svn: 101009
-
Dan Gohman authored
the loop exit test. This usually doesn't come up for a variety of reasons, but it isn't impossible, so make IndVarSimplify handle it conservatively. llvm-svn: 101008
-
Chris Lattner authored
llvm-svn: 101007
-
Chris Lattner authored
llvm-svn: 101006
-
Chris Lattner authored
llvm-svn: 101005
-
Anders Carlsson authored
Have the CXXBaseOrMemberInitializer keep track of whether an initializer initializes a virtual base or not. llvm-svn: 101004
-
Dan Gohman authored
llvm-svn: 101002
-
Dan Gohman authored
llvm-svn: 101001
-
Dan Gohman authored
variables. For example, with code like this: for (i=0;i<n;++i) if (i<n) x[i] = 0; IndVarSimplify will now recognize that i is always less than n inside the loop, and eliminate the if. llvm-svn: 101000
-
Ted Kremenek authored
llvm-svn: 100999
-
Anders Carlsson authored
Fix another bug where we wouldn't generate secondary vtables for construction vtables in some cases. llvm-svn: 100998
-
Ted Kremenek authored
llvm-svn: 100997
-
Ted Kremenek authored
thing if the cursor is not a decl (such as in the case of macros). llvm-svn: 100996
-
Dan Gohman authored
loop conditions which are invariants. llvm-svn: 100995
-
Dan Gohman authored
llvm-svn: 100994
-
Dan Gohman authored
ConstantRange(0, 0) creates an empty range rather than a full one. llvm-svn: 100993
-
Dan Gohman authored
llvm-svn: 100992
-