- May 28, 2009
-
-
Eli Friedman authored
llvm-svn: 72517
-
Eli Friedman authored
llvm-svn: 72516
-
Eli Friedman authored
This is basically the end of this series of patches for LegalizeDAG; the remaining special cases can't be removed without more infrastructure work. There's a FIXME for each relevant opcode near the beginning of SelectionDAGLegalize::LegalizeOp. llvm-svn: 72514
-
Eli Friedman authored
is actually legal. Part of LegalizeDAG cleanups. llvm-svn: 72513
-
Nick Lewycky authored
empty SmallVector. llvm-svn: 72512
-
Eli Friedman authored
some special cases are necessary. llvm-svn: 72511
-
Jeffrey Yasskin authored
list in Attributes.h. It also reorders the CPPBackend list to match so that it's easier to see that it's complete. llvm-svn: 72510
-
Eli Friedman authored
llvm-svn: 72509
-
Bill Wendling authored
the Intel manual (screenshot) says it should be 0b11110110 (f6). The existing encoding causes a disassembly conflict with MMX_PAVGBrm, which really should be 0f e0." Patch by Sean Callanan! llvm-svn: 72508
-
Evan Cheng authored
Added optimization that narrow load / op / store and the 'op' is a bit twiddling instruction and its second operand is an immediate. If bits that are touched by 'op' can be done with a narrower instruction, reduce the width of the load and store as well. This happens a lot with bitfield manipulation code. e.g. orl $65536, 8(%rax) => orb $1, 10(%rax) Since narrowing is not always a win, e.g. i32 -> i16 is a loss on x86, dag combiner consults with the target before performing the optimization. llvm-svn: 72507
-
Mike Stump authored
llvm-svn: 72506
-
Daniel Dunbar authored
llvm-svn: 72504
-
Douglas Gregor authored
llvm-svn: 72503
-
Douglas Gregor authored
parser. Rather than placing all of the delayed member function declarations and inline definitions into a single bucket corresponding to the top-level class, we instead mirror the nesting structure of the nested classes and place the delayed member functions into their appropriate place. Then, when we actually parse the delayed member function declarations, set up the scope stack the same way as it was when we originally saw the declaration, so that we can find, e.g., template parameters that are in scope. llvm-svn: 72502
-
Eli Friedman authored
section. llvm-svn: 72501
-
Eli Friedman authored
reflect that. llvm-svn: 72500
-
Eli Friedman authored
behavior is more likely to be confusing than useful. llvm-svn: 72499
-
Sebastian Redl authored
Reintroduce the home for exception specs, and make Sema fill it. However, keep the spec out of the canonical type this time. Net effect is currently nothing, because the spec isn't checked anywhere. llvm-svn: 72498
-
Eli Friedman authored
llvm-svn: 72497
-
- May 27, 2009
-
-
Dan Gohman authored
rewrite the comparison if there is any implicit extension or truncation on the induction variable. I'm planning for IVUsers to eventually take over some of the work of this code, and for it to be generalized. llvm-svn: 72496
-
Eli Friedman authored
llvm-svn: 72494
-
Dan Gohman authored
a smaller type, promoted its offset back up to the type of the new comparison. This fixes PR4222. llvm-svn: 72493
-
Fariborz Jahanian authored
llvm-svn: 72492
-
Fariborz Jahanian authored
llvm-svn: 72491
-
Sebastian Redl authored
Add a big test case for I-C-Es in C++, and a fix to make it work. The fix might not be the right way to do it. llvm-svn: 72490
-
Sebastian Redl authored
llvm-svn: 72489
-
Evan Cheng authored
llvm-svn: 72488
-
Douglas Gregor authored
declaration references. The key realization is that dependent Decls, which actually require instantiation, can only refer to the current instantiation or members thereof. And, since the current context during instantiation contains all of those members of the current instantiation, we can simply find the real instantiate that matches up with the "current instantiation" template. llvm-svn: 72486
-
Bill Wendling authored
llvm-svn: 72485
-
Douglas Gregor authored
improve some error recovery with explicit template instantiation. llvm-svn: 72484
-
Bruno Cardoso Lopes authored
llvm-svn: 72483
-
Douglas Gregor authored
within a template now have a link back to the enumeration from which they were instantiated. This means that we can now find the instantiation of an anonymous enumeration. llvm-svn: 72482
-
Douglas Gregor authored
references. There are several smallish fixes here: - Make sure we look through template parameter scope when determining whether we're parsing a nested class (or nested class *template*). This makes sure that we delay parsing the bodies of inline member functions until after we're out of the outermost class (template) scope. - Since the bodies of member functions are always parsed "out-of-line", even when they were declared in-line, teach unqualified name lookup to look into the (semantic) parents. - Use the new InstantiateDeclRef to handle the instantiation of a reference to a declaration (in DeclRefExpr), which drastically simplifies template instantiation for DeclRefExprs. - When we're instantiating a ParmVarDecl, it must be in the current instantiation scope, so only look there. Also, remove the #if 0's and FIXME's from the dynarray example, which now compiles and executes thanks to Anders and Eli. llvm-svn: 72481
-
Douglas Gregor authored
llvm-svn: 72480
-
Anders Carlsson authored
llvm-svn: 72479
-
Anders Carlsson authored
llvm-svn: 72478
-
Anders Carlsson authored
llvm-svn: 72477
-
Fariborz Jahanian authored
Patch by Benjamin Kramer. llvm-svn: 72476
-
Steve Naroff authored
This allows me to remove some API that I don't want to carry over to ObjCObjectPointerType. No functionality change. llvm-svn: 72475
-
Anders Carlsson authored
llvm-svn: 72474
-