[cfe-commits] r123817 - in /cfe/trunk: include/clang/AST/ASTContext.h include/clang/AST/Type.h lib/AST/ASTContext.cpp lib/AST/Type.cpp lib/Sema/SemaOverload.cpp lib/Sema/TreeTransform.h test/Sema/typedef-retain.c

Douglas Gregor dgregor at apple.com
Wed Jan 19 08:29:51 PST 2011

On Jan 19, 2011, at 2:06 AM, John McCall wrote:

> Author: rjmccall
> Date: Wed Jan 19 04:06:00 2011
> New Revision: 123817
> URL: http://llvm.org/viewvc/llvm-project?rev=123817&view=rev
> Log:
> Change the canonical representation of array types to store qualifiers on the
> outermost array types and not on the element type.  Move the CanonicalType
> member from Type to ExtQualsTypeCommonBase;  the canonical type on an ExtQuals
> node includes the qualifiers on the ExtQuals.  Assorted optimizations enabled
> by this change.
> getQualifiers(), hasQualifiers(), etc. should all now implicitly look through
> array types.

Nifty. I only saw a 0.8% speedup when parsing Cocoa.h after applying this change (I was hoping for more), but this is definitely a nice cleanup.

	- Doug

More information about the cfe-commits mailing list