- Mar 03, 2007
-
-
Chris Lattner authored
llvm-svn: 39347
-
- Feb 28, 2007
-
-
Steve Naroff authored
Go back to having the clang driver create ASTContext explicitly, passing it to Sema/ASTStreamer (separating the lifetime of ASTContext from the lifetime of Sema). One day it might be useful to consider creating a context object implicitly if one isn't provided (using default arguments in Sema's constructor). At this point, adding this convenience isn't necessary. llvm-svn: 39346
-
Steve Naroff authored
the prerocessor will be available via ASTContext). - Removed the public data member "PP" in ASTContext. - Changed ASTContext's contructor to take TargetInfo/IdentifierTable explicitly. - Implicitly create an ASTContext in Sema's constructor. This simplifies the clients job (and makes ASTContext more private). --As a side effect, added a "PrintStats" hook to Sema. To support this level of encapsulation, ASTContext is always dynamically allocated (by Sema). Previously, ASTContext was being allocated on the stack. I don't believe this should be a performance issue (since ASTContext is fairly course grain and tied to the lifetime of Sema currently). llvm-svn: 39345
-
- Feb 27, 2007
-
-
Steve Naroff authored
This set of changes includes: - convert ExprCXX.h and add to the Xcode project file. -- required adding CXXBoolLiteralExpr to StmtNodes.def. -- required adding visitor support (decl/defn). - make the class codes in StmtNodes.def explicit (to enable range checking). -- this required changing all clients of the STMT macro. - declare the instance data const. llvm-svn: 39344
-
- Feb 26, 2007
-
-
Steve Naroff authored
- adding enum constants & instance data to Stmt. - adding classof() functions to all Stmt's. - modifying contructors to pass the appropriate enum as an arg. Also tightened up a couple "void *" declarations/casts for arrays. llvm-svn: 39343
-
- Feb 22, 2007
-
-
Steve Naroff authored
clang still compiled/linked/ran properly...simply a confusing name regression. From now on I'll make sure I run "cvs diff" before committing any changes! llvm-svn: 39342
-
- Feb 21, 2007
-
-
Steve Naroff authored
rename FloatingConstant->FloatingLiteral rename StringExpr->StringLiteral llvm-svn: 39341
-
- Feb 13, 2007
-
-
Bill Wendling authored
llvm-svn: 39340
-
Bill Wendling authored
llvm-svn: 39339
-
Bill Wendling authored
llvm-svn: 39338
-
- Feb 11, 2007
-
-
Chris Lattner authored
llvm-svn: 39337
-
Chris Lattner authored
llvm-svn: 39336
-
Chris Lattner authored
llvm-svn: 39335
-
- Feb 08, 2007
-
-
Chris Lattner authored
llvm-svn: 39334
-
Chris Lattner authored
llvm-svn: 39333
-
- Jan 31, 2007
-
-
Chris Lattner authored
llvm-svn: 39332
-
- Jan 30, 2007
-
-
Chris Lattner authored
llvm-svn: 39331
-
Chris Lattner authored
llvm-svn: 39330
-
Chris Lattner authored
carbon.h on intel, bringing the total to 257. llvm-svn: 39329
-
- Jan 29, 2007
-
-
Chris Lattner authored
of source code. For example: $ clang INPUTS/carbon_h.c -arch i386 -arch ppc prints: ... /usr/lib/gcc/i686-apple-darwin8/4.0.1/include/mmintrin.h:51:3: note: use of a target-specific builtin function, source is not 'portable' __builtin_ia32_emms (); ^ because carbon.h pulls in xmmintrin.h, and __builtin_ia32_emms isn't a builtin on ppc. Though clang now supports target-specific builtins, the full table isn't implemented yet. llvm-svn: 39328
-
- Jan 28, 2007
-
-
Chris Lattner authored
whose decl objects are lazily created the first time they are referenced. Builtin functions are described by the clang/AST/Builtins.def file, which makes it easy to add new ones. This is missing two important pieces: 1. Support for the rest of the gcc builtins. 2. Support for target-specific builtins (e.g. __builtin_ia32_emms). Just adding this builtins reduces the number of implicit function definitions by 6, reducing the # diagnostics from 550 to 544 when parsing carbon.h. I need to add all the i386-specific ones to eliminate several hundred more. ugh. llvm-svn: 39327
-
Chris Lattner authored
llvm-svn: 39326
-
Chris Lattner authored
translation-unit scope, so we only warn about each implicitly defined function once. This cuts the number of errors parsing carbon.h from 616 to 550. llvm-svn: 39325
-
- Jan 27, 2007
-
-
Chris Lattner authored
proto, then a function body, and they have the same type, don't emit an error. This reduces #errors from 654->616 llvm-svn: 39324
-
Chris Lattner authored
int foo; int foo(); llvm-svn: 39323
-
Chris Lattner authored
llvm-svn: 39322
-
Chris Lattner authored
actually add it into the declspec for the type being parsed. This allows us to do correct semantic analysis on: typedef int bar; int foo() { bar a; return a; } This reduces # errors parsing carbon.h from 731 to 654. llvm-svn: 39321
-
Chris Lattner authored
use the folding set. This eliminates 359 slow lookups from carbon.h (the rest) but doesn't substantially speed up parse. llvm-svn: 39320
-
Chris Lattner authored
search. This reduces 'dumb' lookups from 1225 to 359, speeding up parse of carbon.h from 0.173 to 0.156s (10%). llvm-svn: 39319
-
Chris Lattner authored
llvm-svn: 39318
-
Chris Lattner authored
SmallPtrSet data structure. This datastructure handles the 'nonsmall' case quite gracefully, with an efficient exponentially probed hashtable. This is important for handling global scope, which gets many thousands of decls (e.g. every function and enum value). Of course the typical inner scopes are still as efficient as ever. On my mac pro, this speeds up parsing carbon.h from 0.59s to 0.168s (3.5x), and there is still low hanging fruit :). For reference, GCC on the same system takes 0.33s for -fsyntax-only. llvm-svn: 39317
-
Chris Lattner authored
llvm-svn: 39316
-
Chris Lattner authored
llvm-svn: 39315
-
Chris Lattner authored
llvm-svn: 39314
-
Chris Lattner authored
llvm-svn: 39313
-
Chris Lattner authored
"obviously braindead" linear searches. reduces the number of slow type lookups from 10K to 883 on carbon.h, speeding up parsing from 3.5 to 1.26s. llvm-svn: 39312
-
Chris Lattner authored
a foldingset instead. This reduces the number of slow type lookups from 32K to 10K, which speeds up parsing of carbon.h from 11s to 3.5s. llvm-svn: 39311
-
- Jan 26, 2007
-
-
Chris Lattner authored
llvm-svn: 39310
-
Chris Lattner authored
llvm-svn: 39309
-
Chris Lattner authored
This speeds up parsing carbon.h from 16.0s to 11.3s, reducing slow lookups from 63K to 32K. llvm-svn: 39308
-