summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ccc: Introduce ToolChains for mapping Actions to Tools which canDaniel Dunbar2009-01-103-18/+68
| | | | | | | | | | | | | | | perform them. - A ToolChain is a coherent set of tools use in a compilation process. The idea is that a ToolChain holds roughly the information (specs, search paths, etc.) that is in a single gcc binary. - The default ToolChain is selected by the host and will generally correspond to what the default system compiler would do. However, this can be over-riden for a variety of purposes, for example the by the driver driver or for testing. llvm-svn: 62021
* ccc: Add generic assembler & linker tools which effectively shell outDaniel Dunbar2009-01-101-15/+43
| | | | | | to gcc. llvm-svn: 62020
* ccc: Add information about whether type can be user specified (a -xDaniel Dunbar2009-01-101-23/+45
| | | | | | argument) to InputType. llvm-svn: 62019
* Allow multiple Microsoft calling-convention keywords. Fixes ↵Douglas Gregor2009-01-102-2/+4
| | | | | | rdar://problem/6486133 llvm-svn: 62018
* assert if attempting to code gen. a property setter/getterFariborz Jahanian2009-01-101-0/+4
| | | | | | coming from a protocol. llvm-svn: 62017
* Don't bother setting NextDeclarator for EnumConstantDecls. It isn't usedDouglas Gregor2009-01-091-4/+0
| | | | llvm-svn: 62016
* Duplicated node may produce a non-physical register def.Evan Cheng2009-01-093-4/+47
| | | | llvm-svn: 62015
* When we see a reference to a struct, class, or union like "struct X"Douglas Gregor2009-01-099-19/+158
| | | | | | | | | | | | | | | | that is neither a definition nor a forward declaration and where X has not yet been declared as a tag, introduce a declaration into the appropriate scope (which is likely *not* to be the current scope). The rules for the placement of the declaration differ slightly in C and C++, so we implement both and test the various corner cases. This implementation isn't 100% correct due to some lingering issues with the function prototype scope (for a function parameter list) not being the same scope as the scope of the function definition. Testcase is FIXME'd; this probably isn't an important issue. Addresses <rdar://problem/6484805>. llvm-svn: 62014
* Add utils/SummarizeErrors.Daniel Dunbar2009-01-091-0/+99
| | | | | | | | - Little script for scanning a compile log and summarizing warnings, errors, assertions, and crashes. - Is very slow, and stack trace regexs probably only work on Darwin. llvm-svn: 62013
* Add some comments to the virtual work. Thanks to Doug Gregor for the review.Sebastian Redl2009-01-092-0/+7
| | | | llvm-svn: 62012
* ccc: Get host information via Driver methods.Daniel Dunbar2009-01-093-19/+48
| | | | llvm-svn: 62011
* Dead stores checker: Don't flag dead stores for self-assignments (common ↵Ted Kremenek2009-01-092-3/+15
| | | | | | escape hatch for 'unused variable' warnings). llvm-svn: 62010
* Enhance PTH 'getSpelling' caching:Ted Kremenek2009-01-093-30/+154
| | | | | | | | | | | | | | - Refactor caching logic into a helper class PTHSpellingSearch - Allow "random accesses" in the spelling cache, thus catching the remaining cases where 'getSpelling' wasn't hitting the PTH cache For -Eonly, PTH, Cocoa.h: - This reduces wall time by 3% (user time unchanged, sys time reduced) - This reduces the amount of paged source by 1112K. The remaining 1112K still being paged in is from somewhere else (investigating). llvm-svn: 62009
* Prevent a segfault for vaarg expressions on unsupported architectures.Sebastian Redl2009-01-091-2/+4
| | | | llvm-svn: 62008
* This patch removes mergeProperties and does the property lookupFariborz Jahanian2009-01-094-43/+14
| | | | | | in designated protocols lazily. llvm-svn: 62007
* Add test case from PR2659.Evan Cheng2009-01-091-0/+30
| | | | llvm-svn: 62006
* Minor debug output tweak.Evan Cheng2009-01-091-2/+2
| | | | llvm-svn: 62005
* Implement EmitUnsupportedRValue to generate an appropriately typed RValue.Daniel Dunbar2009-01-091-3/+13
| | | | llvm-svn: 62004
* Very basic support for pure virtual functions.Sebastian Redl2009-01-094-6/+75
| | | | llvm-svn: 62003
* This has been replaced by llvm/utils/lint/cpp_lint.py, which is moreMisha Brukman2009-01-091-5/+0
| | | | | | comprehensive and can support more complex style analysis. llvm-svn: 62002
* Replace DeclContext's vector of ScopedDecl pointers with a linked listDouglas Gregor2009-01-098-24/+93
| | | | | | | | | | | | | | | | | | of ScopedDecls (using the new ScopedDecl::NextDeclInScope pointer). Performance-wise: - It's a net win in memory utilization, since DeclContext is now one pointer smaller than it used to be (std::vectors are typically 3 pointers; we now use 2 pointers) and - Parsing Cocoa.h with -fsyntax-only (with a Release-Asserts Clang) is about 1.9% faster than before, most likely because we no longer have the memory allocations and copying associated with the std::vector. I'll re-enable serialization of DeclContexts once I've sorted out the NextDeclarator/NextDeclInScope question. llvm-svn: 62001
* Removed trailing whitespace.Misha Brukman2009-01-0930-929/+929
| | | | llvm-svn: 62000
* Request DwarfWriter. This will be used to handle dbg_* intrinsics.Devang Patel2009-01-093-3/+10
| | | | llvm-svn: 61999
* Make sure that ScopedDecls passed to DeclContext::addDecl are added into ↵Douglas Gregor2009-01-094-3/+28
| | | | | | their lexical context llvm-svn: 61998
* fix typo Duncan noticed.Chris Lattner2009-01-091-1/+1
| | | | llvm-svn: 61997
* Always print out SourceManager stats with 'Stats' is true. This revealed ↵Ted Kremenek2009-01-091-2/+1
| | | | | | that PTH always pulls in the source pages with -fsyntax-only (investigating further). llvm-svn: 61996
* Fix PR3304Chris Lattner2009-01-092-2/+27
| | | | llvm-svn: 61995
* Provide a new kind of iterator, the specific_decl_iterator, thatDouglas Gregor2009-01-0915-281/+130
| | | | | | | | | filters the decls seen by decl_iterator with two criteria: the dynamic type of the declaration and a run-time predicate described by a member function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl considerably. It has no measurable performance impact. llvm-svn: 61994
* Emit more refined "unsupported" error for block expressions.Daniel Dunbar2009-01-091-0/+5
| | | | llvm-svn: 61993
* Give "unsupported" error on calls through block pointers instead ofDaniel Dunbar2009-01-092-6/+28
| | | | | | crashes. llvm-svn: 61992
* Removed trailing whitespace from Makefiles.Misha Brukman2009-01-0945-102/+102
| | | | llvm-svn: 61991
* Support llvmc plugins in out-of-tree projects.Mikhail Glushenkov2009-01-091-0/+1
| | | | llvm-svn: 61990
* Add a --check-graph option to llvmc.Mikhail Glushenkov2009-01-096-7/+195
| | | | llvm-svn: 61989
* Move property API's up to ObjCContainerDecl (removing a lot of duplicate code).Steve Naroff2009-01-098-228/+127
| | | | | | | | | Add isa/cast/dyncast support for ObjCContainerDecl. Renamed classprop_iterator/begin/end to prop_iterator/begin/end (the class prefix was confusing). More simplifications to Sema::ActOnAtEnd()... Added/changed some FIXME's as a result of the above work. llvm-svn: 61988
* PR2659 was fixed by r61847. Add the testcase as a regression test.Dan Gohman2009-01-091-0/+33
| | | | llvm-svn: 61986
* Implement rdar://6480391, extending of equality icmp's to avoid a truncation.Chris Lattner2009-01-093-4/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I noticed this in the code compiled for a routine using std::map, which produced this code: %25 = tail call i32 @memcmp(i8* %24, i8* %23, i32 6) nounwind readonly %.lobit.i = lshr i32 %25, 31 ; <i32> [#uses=1] %tmp.i = trunc i32 %.lobit.i to i8 ; <i8> [#uses=1] %toBool = icmp eq i8 %tmp.i, 0 ; <i1> [#uses=1] br i1 %toBool, label %bb3, label %bb4 which compiled to: call L_memcmp$stub shrl $31, %eax testb %al, %al jne LBB1_11 ## with this change, we compile it to: call L_memcmp$stub testl %eax, %eax js LBB1_11 This triggers all the time in common code, with patters like this: %169 = and i32 %ply, 1 ; <i32> [#uses=1] %170 = trunc i32 %169 to i8 ; <i8> [#uses=1] %toBool = icmp ne i8 %170, 0 ; <i1> [#uses=1] %7 = lshr i32 %6, 24 ; <i32> [#uses=1] %9 = trunc i32 %7 to i8 ; <i8> [#uses=1] %10 = icmp ne i8 %9, 0 ; <i1> [#uses=1] etc llvm-svn: 61985
* Remove some old code that looks like a remanant from signed-types days.Chris Lattner2009-01-091-23/+0
| | | | llvm-svn: 61984
* Fix PR3298, a crash in Jump Threading. Apparently even Chris Lattner2009-01-092-0/+53
| | | | | | jump threading can have bugs, who knew? ;-) llvm-svn: 61983
* this doesn't depend on the gcc early inliner anymore.Chris Lattner2009-01-091-1/+1
| | | | llvm-svn: 61982
* PR3290 is now fixed.Chris Lattner2009-01-091-5/+1
| | | | llvm-svn: 61981
* Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible.Chris Lattner2009-01-092-81/+127
| | | | llvm-svn: 61980
* this test should not run opt -std-compile-opts, it should run Chris Lattner2009-01-091-114/+40
| | | | | | just llc. llvm-svn: 61979
* add a helper method.Chris Lattner2009-01-091-0/+7
| | | | llvm-svn: 61978
* fit in 80 colsChris Lattner2009-01-091-2/+2
| | | | llvm-svn: 61977
* move some code, check to see if the input to the GEP is a bitcastChris Lattner2009-01-091-23/+22
| | | | | | (which is constant time and cheap) before checking hasAllZeroIndices. llvm-svn: 61976
* Fix rdar://6480479 - [parser] infinite loop on invalid inputChris Lattner2009-01-092-0/+12
| | | | llvm-svn: 61975
* Convert block types in IRgen. This is not the correct type, butDaniel Dunbar2009-01-091-1/+3
| | | | | | matches llvm-gcc (?). llvm-svn: 61974
* Block pointer types are not aggregate types.Daniel Dunbar2009-01-091-1/+4
| | | | llvm-svn: 61973
* Add load-folding table entries for MOVDQA.Dan Gohman2009-01-091-0/+6
| | | | llvm-svn: 61972
* Whitespace and other minor adjustments to make SSE instructions haveDan Gohman2009-01-091-26/+32
| | | | | | | the same formatting as their corresponding SSE2 instructions, for consistency. llvm-svn: 61971
OpenPOWER on IntegriCloud