summaryrefslogtreecommitdiffstats
path: root/clang/Driver
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename lib/Driver (etc) to lib/Frontend in prep for the *actual*Daniel Dunbar2009-03-026-11/+11
| | | | | | driver taking lib/Driver. llvm-svn: 65811
* Minor name change (move the ObjC prefix to a more appropriate place).Steve Naroff2009-02-281-1/+1
| | | | llvm-svn: 65695
* Adapt help string to what the code is doing (default is lang_gnu99). Thanks ↵Gabor Greif2009-02-281-2/+2
| | | | | | rdivacky! llvm-svn: 65689
* Eliminate CXXRecordTypeDouglas Gregor2009-02-281-6/+7
| | | | llvm-svn: 65671
* Create a new TypeNodes.def file that enumerates all of the types,Douglas Gregor2009-02-263-34/+34
| | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591
* Add -emit-llvm-only option (generate LLVM IR & run passes, but discardDaniel Dunbar2009-02-263-2/+12
| | | | | | | output). - For timing IRgen phase. llvm-svn: 65580
* this got moved to top levelChris Lattner2009-02-261-4/+0
| | | | llvm-svn: 65553
* move this makefile goop up to the top level llvm makefile.Chris Lattner2009-02-261-10/+3
| | | | llvm-svn: 65544
* Enable export maps also on {Free, Net}BSD.Anton Korobeynikov2009-02-261-1/+1
| | | | | | Don't ask me, how does this makefile-horribleness even work ;) llvm-svn: 65522
* Add an export map for clang on Linux.Owen Anderson2009-02-262-0/+8
| | | | llvm-svn: 65504
* Add experimental logic in GRExprEngine::EvalEagerlyAssume() to handleTed Kremenek2009-02-251-1/+7
| | | | | | | | | | | expressions of the form: 'short x = (y != 10);' While we handle 'int x = (y != 10)' lazily, the cast to another integer type currently loses the symbolic constraint. Eager evaluation of the constraint causes the paths to bifurcate and eagerly evaluate 'y != 10' to a constant of 1 or 0. This should address <rdar://problem/6619921> until we have a better (more lazy approach) for handling promotions/truncations of symbolic integer values. llvm-svn: 65480
* C99 DR #316 implies that the function parameter types that are knownDouglas Gregor2009-02-251-1/+2
| | | | | | | | | | only from a function definition (that does not have a prototype) are only used to determine the compatible with other declarations of that same function. In particular, when referencing the function we pretend as if it does not have a prototype. Implement this behavior, which fixes PR3626. llvm-svn: 65460
* PTH: Cache *un-cleaned* spellings for literals instead of cleaned spellings.Ted Kremenek2009-02-241-22/+12
| | | | | | | | This allows the PTH file to stay 100% in fidelity with the source code and defines away some weird cosmetic bugs for operations such as '-E' where maintaining knowledge of the original literal representation is useful. llvm-svn: 65361
* PTH: When emitting tokens for literals with cached spellings, change the tokenTed Kremenek2009-02-241-12/+20
| | | | | | | | size to that of the *cleaned* spelling. This way 'getSpelling()' for literals in the Preprocessor just works and doesn't read beyond the bounds of the cached spelling buffer. llvm-svn: 65354
* Put compiler headers in <prefix>/lib/clang/1.0/include (vsDaniel Dunbar2009-02-211-2/+9
| | | | | | <prefix>/Headers, gross). llvm-svn: 65247
* Make 'RangeConstraintManager' the default ConstraintManager.Ted Kremenek2009-02-202-2/+2
| | | | llvm-svn: 65173
* PTH generation: Clear the cleaning bit for literals (whose spellings are ↵Ted Kremenek2009-02-201-2/+6
| | | | | | cached). llvm-svn: 65148
* remove some more methods from objc decls, using the iteratorChris Lattner2009-02-202-17/+19
| | | | | | interfaces more consistently. llvm-svn: 65138
* remove some slow O(n) methods.Chris Lattner2009-02-201-9/+11
| | | | llvm-svn: 65132
* Change ObjCForwardProtocolDecl to use an ObjCList.Chris Lattner2009-02-201-4/+4
| | | | llvm-svn: 65131
* move the interace list of @class to use ObjCList.Chris Lattner2009-02-202-10/+7
| | | | llvm-svn: 65129
* fix a bug introduced in my previous patch: moving clang headers to theChris Lattner2009-02-191-2/+5
| | | | | | | | "after" group instead of the system group makes it so #include <limits.h> picks up the *system* limits.h file before clang's. This causes a failure on linux and is definitely not what we want. llvm-svn: 65026
* always search for "builtin" headers at the end of the search path,Chris Lattner2009-02-191-2/+2
| | | | | | and never remap them with -isysroot. This fixes PR3614. llvm-svn: 65012
* don't print codegen time unless -ftime-report was passed.Chris Lattner2009-02-181-1/+3
| | | | llvm-svn: 64928
* privatize all of the string literal memory allocation/creationChris Lattner2009-02-181-13/+13
| | | | | | stuff behind a private static function. llvm-svn: 64898
* change the StringLiteral AST node to track all of the SourceLocations of Chris Lattner2009-02-181-13/+7
| | | | | | | | the various PPTokens that are pasted together to make it. In the course of working on this, I discovered ParseObjCStringLiteral which needs some work. I'll tackle it next. llvm-svn: 64892
* Optimize dyld startup time by specifying a trivial export map Chris Lattner2009-02-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (only export main) on the mac. This improves DYLD_PRINT_STATISTICS from: total time: 6.0 milliseconds (100.0%) total images loaded: 5 (4 from dyld shared cache, 3 needed no fixups) total segments mapped: 0, into 0 pages with 0 pages pre-fetched total images loading time: 0.0 milliseconds (1.4%) total rebase fixups: 0 total rebase fixups time: 0.0 milliseconds (0.0%) total binding fixups: 7,928 total binding symbol lookups: 4,087, average images searched per symbol: 1.9 total binding fixups time: 4.7 milliseconds (79.2%) total bindings lazily fixed up: 170 of 4,372 total init time time: 1.1 milliseconds (19.2%) total images with weak exports: 2 to: total time: 1.4 milliseconds (100.0%) total images loaded: 5 (4 from dyld shared cache, 4 needed no fixups) total segments mapped: 0, into 0 pages with 0 pages pre-fetched total images loading time: 0.0 milliseconds (5.7%) total rebase fixups: 0 total rebase fixups time: 0.0 milliseconds (0.2%) total binding fixups: 1,079 total binding symbol lookups: 75, average images searched per symbol: 1.0 total binding fixups time: 0.5 milliseconds (33.9%) total bindings lazily fixed up: 14 of 216 total init time time: 0.8 milliseconds (60.0%) total images with weak exports: 1 This reduces the time to -fsyntax-only cocoa.h with PTH from 0.192s to 0.184 (4.3%) rdar://6505315 llvm-svn: 64882
* add a bunch of timers for -E and other modes. This requiresChris Lattner2009-02-181-6/+31
| | | | | | llvm r64874 or later. llvm-svn: 64875
* teach -ftime-report to time the code generator and -emit-llvm times.Chris Lattner2009-02-181-1/+31
| | | | llvm-svn: 64873
* move llvm backend specific #includes into Backend.cpp instead of Clang.cppChris Lattner2009-02-182-8/+7
| | | | llvm-svn: 64872
* indentation and formattingChris Lattner2009-02-181-50/+50
| | | | llvm-svn: 64871
* clang will hopefully never support ratfor.Chris Lattner2009-02-181-4/+1
| | | | llvm-svn: 64870
* wire up a minimal -ftime-report, which prints the optimizer/codegen Chris Lattner2009-02-181-0/+11
| | | | | | times. Daniel, plz add driver support. llvm-svn: 64869
* Backend: Accept -mcpu and -mattr for use by TargetMachine.Daniel Dunbar2009-02-172-10/+30
| | | | llvm-svn: 64798
* Static Analyzer driver/options (partial) cleanup:Ted Kremenek2009-02-175-198/+173
| | | | | | | | | | | | | | - Move all analyzer options logic to AnalysisConsumer.cpp. - Unified specification of stores/constraints/output to be: -analyzer-output=... -analyzer-store=... -analyzer-constraints=... instead of -analyzer-range-constraints, -analyzer-store-basic, etc. - Updated drivers (ccc-analyzer, scan-builds, new ccc) to obey this new interface - Updated test cases to conform to new driver options llvm-svn: 64737
* add support for -fno-math-errno, and validate that it affects sema properly.Chris Lattner2009-02-171-1/+1
| | | | llvm-svn: 64708
* remove extraneous .Chris Lattner2009-02-171-1/+1
| | | | llvm-svn: 64706
* Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow.Daniel Dunbar2009-02-161-3/+9
| | | | | | | | | | | | | | | | - Define pow[lf]?, sqrt[lf]? as builtins. - Add -fmath-errno option which binds to LangOptions.MathErrno - Add new builtin flag Builtin::Context::isConstWithoutErrno for functions which can be marked as const if errno isn't respected for math functions. Sema automatically marks these functions as const when they are defined, if MathErrno=0. - IRgen uses const attribute on sqrt and pow library functions to decide if it can use the llvm intrinsic. llvm-svn: 64689
* RangeConstraintManager is not on by default.Ted Kremenek2009-02-161-1/+1
| | | | llvm-svn: 64638
* castToDeclContext/castFromDeclContext are not meant to be used directly; ↵Argyrios Kyrtzidis2009-02-161-18/+18
| | | | | | | | they are used indirectly by cast/dyn_cast. All Decl <-> DeclContext casting should be done through cast/dyn_cast. llvm-svn: 64631
* PR3589: Don't simplify libcalls with -ffreestanding.Daniel Dunbar2009-02-151-1/+1
| | | | llvm-svn: 64599
* Add -ffreestanding to suppress the implicit declaration of library builtins ↵Douglas Gregor2009-02-141-0/+11
| | | | | | like printf and malloc. Fixes PR3586 llvm-svn: 64566
* Patch by Ben Laurie:Ted Kremenek2009-02-141-0/+7
| | | | | | | | | | | | | | | | | | | | ConstraintManager: - constify getSymVal() BasicConstraintManager: - Pull out logic that would be common to ConstraintManagers of a similar nature and put them in a parent class called 'SimpleConstraintManager'. RangeConstraintManager: - Added a new prototype ConstraintManager to track ranges of variables! This ConstraintManager keeps tracks of ranges of concrete integers that a symbolic integer may have. AnalysisConsumer: - Add driver option to use RangeConstraintManager with GRExprEngine-based analyses. llvm-svn: 64558
* Fix the build on win32.Cedric Venet2009-02-142-1/+6
| | | | llvm-svn: 64556
* Fix typo in printing of __private_extern__.Daniel Dunbar2009-02-131-1/+1
| | | | llvm-svn: 64501
* PTH: Cache directory and negative 'stat' calls. This gives us a 1% ↵Ted Kremenek2009-02-131-35/+74
| | | | | | performance improvement on Cocoa.h (fsyntax-only+PTH). llvm-svn: 64490
* Add some boilerplate to the PTH file to prepare for the caching of stats for ↵Ted Kremenek2009-02-131-41/+102
| | | | | | directories (and negative stats too). llvm-svn: 64477
* AnalysisConsumer: Explicitly destroy the PathDiagnosticClient at the end of ↵Ted Kremenek2009-02-131-8/+9
| | | | | | HandleTranslationUnit to ensure that the client's destructor is called even with --disable-free. llvm-svn: 64422
* factor token concatenation avoidance logic out of Chris Lattner2009-02-131-222/+9
| | | | | | PrintPreprocessedOutput into its own file. No functionality change. llvm-svn: 64418
* PTH: Cache stat information for files in the PTH file. Hook up FileManagerTed Kremenek2009-02-121-6/+23
| | | | | | | | | | | | | to use this stat information in the PTH file using a 'StatSysCallCache' object. Performance impact (Cocoa.h, PTH): - number of stat calls reduces from 1230 to 425 - fsyntax-only: time improves by 4.2% We can reduce the number of stat calls to almost zero by caching negative stat calls and directory stat calls in the PTH file as well. llvm-svn: 64353
OpenPOWER on IntegriCloud