Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | now that ConvertTagDeclType is nice and simple, use it from UpdateCompletedType. | Chris Lattner | 2008-02-06 | 2 | -10/+7 | |
| | | | | llvm-svn: 46809 | |||||
* | simplify and speed up type refinement logic. No functionality change. | Chris Lattner | 2008-02-06 | 1 | -59/+46 | |
| | | | | llvm-svn: 46808 | |||||
* | only convert the type name once, not each type it is refined. | Chris Lattner | 2008-02-06 | 1 | -18/+19 | |
| | | | | llvm-svn: 46807 | |||||
* | Fix the codegen of structs with flexible array members. | Eli Friedman | 2008-02-06 | 2 | -5/+21 | |
| | | | | llvm-svn: 46806 | |||||
* | simplify a bunch of code. | Chris Lattner | 2008-02-06 | 1 | -22/+14 | |
| | | | | llvm-svn: 46805 | |||||
* | rename TypeHolderMap to TypeCache, which more aptly describes what it is. | Chris Lattner | 2008-02-06 | 2 | -23/+20 | |
| | | | | llvm-svn: 46804 | |||||
* | split tagged decl layout into its own method. | Chris Lattner | 2008-02-06 | 2 | -100/+111 | |
| | | | | llvm-svn: 46803 | |||||
* | only update the llvm type for a struct when we used the struct | Chris Lattner | 2008-02-06 | 1 | -10/+6 | |
| | | | | | | | previously in an opaque context. If we didn't do this, computing its layout could be wasted: just be lazy. llvm-svn: 46802 | |||||
* | sink more of the type related code into CodeGenTypes. | Chris Lattner | 2008-02-06 | 5 | -30/+18 | |
| | | | | llvm-svn: 46801 | |||||
* | codegen static variables in a function into a different namespace from | Chris Lattner | 2008-02-06 | 1 | -1/+8 | |
| | | | | | | static variables outside functions. llvm-svn: 46800 | |||||
* | Be a bit stricter about array type compatibility. | Eli Friedman | 2008-02-06 | 2 | -7/+16 | |
| | | | | llvm-svn: 46799 | |||||
* | Finish off the refactoring of type handling stuff. Now we recompile every | Chris Lattner | 2008-02-06 | 2 | -3/+18 | |
| | | | | | | tag decl after it has been completed llvm-svn: 46798 | |||||
* | Fixed bug in '=' transfer function: RHS does not have to be a non-LValue. | Ted Kremenek | 2008-02-06 | 1 | -2/+1 | |
| | | | | llvm-svn: 46797 | |||||
* | Fixed signedness bug in cast transfer function when casting integers to ↵ | Ted Kremenek | 2008-02-06 | 3 | -27/+35 | |
| | | | | | | | | pointers. Removed lval::SymIntConstraintVal; wrappers for symbolic constraints are not lvalues (only integers that evaluate to !0 or 0). llvm-svn: 46796 | |||||
* | Modified state pretty-printing to include the '!=' and '==' constraints on | Ted Kremenek | 2008-02-06 | 1 | -0/+40 | |
| | | | | | | symbols (for constant integers). llvm-svn: 46795 | |||||
* | Disabled operator= for ValueStateImpl. | Ted Kremenek | 2008-02-06 | 1 | -4/+9 | |
| | | | | | | | ValueState no longer inherits FoldingSetNode (not needed). Removed redundant operator= implementation for ValueState (it simply did the default behavior). llvm-svn: 46794 | |||||
* | Fixed bug when allocating a ValueStateImpl object in getPersistentState() | Ted Kremenek | 2008-02-06 | 1 | -1/+1 | |
| | | | | | | | using the bump-pointer allocator and a placed new; we accidentally allocated a ValueStateImpl* instead, causing an overrun when we did a placed new(). llvm-svn: 46793 | |||||
* | move the codegen ASTConsumer out of the driver into libcodegen, | Chris Lattner | 2008-02-06 | 8 | -147/+70 | |
| | | | | | | | eliminating a bunch of forwarding methods and generally simplifying things. llvm-svn: 46792 | |||||
* | pull .ll and .bc writing out of the ASTConsumer destructors into some top | Chris Lattner | 2008-02-06 | 7 | -90/+75 | |
| | | | | | | | | | level code in clang. This is a cleanup, but does implement "-o" for -emit-llvm. One effect of this is that "clang foo.c -emit-llvm" will now emit into foo.ll instead of stdout. Use "clang foo.c -emit-llvm -o -" or "clang < foo.c -emit-llvm" to get the old behavior. llvm-svn: 46791 | |||||
* | Throttle the non-local dependence analysis for basic blocks with more than ↵ | Tanya Lattner | 2008-02-06 | 1 | -7/+20 | |
| | | | | | | 50 predecessors. Added command line option to play with this threshold. llvm-svn: 46790 | |||||
* | Added some skeleton code for performing "assume" on symbols: e.g. assume($0 ↵ | Ted Kremenek | 2008-02-06 | 4 | -10/+144 | |
| | | | | | | | | | != 0). This action will add constraints to the possible values of a symbol. Still needs to be debugged. llvm-svn: 46789 | |||||
* | inform astconsumer about tagdecls as they are defined. | Chris Lattner | 2008-02-06 | 1 | -4/+7 | |
| | | | | llvm-svn: 46788 | |||||
* | pass the astconsumer into Sema's ctor, clean up some stuff in | Chris Lattner | 2008-02-06 | 5 | -39/+50 | |
| | | | | | | | Sema::ActOnTranslationUnitScope. The various ObjC pieces at the top of Sema.cpp should be moved into SemaObjC or something. llvm-svn: 46787 | |||||
* | rename ASTSTreamer.{h|cpp} -> ParseAST.{h|cpp} | Chris Lattner | 2008-02-06 | 5 | -19/+17 | |
| | | | | llvm-svn: 46786 | |||||
* | kill the ASTStreamer class, inlining it into its only client: clang::ParseAST | Chris Lattner | 2008-02-06 | 1 | -50/+14 | |
| | | | | llvm-svn: 46785 | |||||
* | Even more inline asm codegen fixes. | Anders Carlsson | 2008-02-06 | 2 | -5/+13 | |
| | | | | llvm-svn: 46784 | |||||
* | simple implementation of __builtin_alloca | Nate Begeman | 2008-02-06 | 1 | -0/+4 | |
| | | | | llvm-svn: 46783 | |||||
* | Add a FIXME to clarify previous commit/experiment. | Steve Naroff | 2008-02-05 | 1 | -0/+6 | |
| | | | | llvm-svn: 46782 | |||||
* | Don't dereference an invalid pointer if string is empty. | Anton Korobeynikov | 2008-02-05 | 1 | -4/+4 | |
| | | | | llvm-svn: 46781 | |||||
* | Handle the memory clobber. | Anders Carlsson | 2008-02-05 | 1 | -0/+3 | |
| | | | | llvm-svn: 46780 | |||||
* | Improvements to inline asm code generation. | Anders Carlsson | 2008-02-05 | 1 | -2/+34 | |
| | | | | llvm-svn: 46779 | |||||
* | Added pretty-printing support for lval::SymIntConstraintVal and | Ted Kremenek | 2008-02-05 | 2 | -29/+133 | |
| | | | | | | | | | nonlval::SymIntConstraintVal. Reworked transfer function for '==' and '!=' for LValues to return SymIntConstraintVal when comparing a symbol with a constant. llvm-svn: 46778 | |||||
* | Handle simple asm statements correctly. | Anders Carlsson | 2008-02-05 | 7 | -32/+52 | |
| | | | | llvm-svn: 46777 | |||||
* | Fix PR1975: dag isel emitter produces patterns that isel wrong flag result. | Evan Cheng | 2008-02-05 | 3 | -8/+33 | |
| | | | | llvm-svn: 46776 | |||||
* | Move to getCALLSEQ_END to ensure CALLSEQ_END node produces a flag. This is ↵ | Evan Cheng | 2008-02-05 | 1 | -2/+7 | |
| | | | | | | consistent with the definition in td file. llvm-svn: 46775 | |||||
* | simplify some code. | Chris Lattner | 2008-02-05 | 1 | -8/+5 | |
| | | | | llvm-svn: 46774 | |||||
* | Moved implementation of cast<> for SymbolData closer to SymbolData's definition. | Ted Kremenek | 2008-02-05 | 1 | -24/+28 | |
| | | | | llvm-svn: 46772 | |||||
* | Added new "NonLValue" class: SymIntConstraintVal. This class represents a binary | Ted Kremenek | 2008-02-05 | 1 | -4/+18 | |
| | | | | | | contraint between a symbol and an integer constant. llvm-svn: 46771 | |||||
* | Moved subclasses of LValue and NonLValue into their own namespaces. | Ted Kremenek | 2008-02-05 | 4 | -211/+224 | |
| | | | | | | This noticeably cleans up the naming of these classes. llvm-svn: 46770 | |||||
* | Added "SymIntConstraint", a utility class to represent intermediate values for | Ted Kremenek | 2008-02-05 | 2 | -11/+76 | |
| | | | | | | | transfer function evaluation that represent constraints between symbolic values and constant integers. llvm-svn: 46769 | |||||
* | Fix Parser::ParseObjCTryStmt() to allow for trailing @-keyword ↵ | Steve Naroff | 2008-02-05 | 4 | -26/+49 | |
| | | | | | | | | statements/expressions. This bug fix is the result of not having 2-token lookahead to recognize specific @-keywords. llvm-svn: 46768 | |||||
* | Make RenamePass faster by making the 'is this a new phi node' | Chris Lattner | 2008-02-05 | 1 | -11/+11 | |
| | | | | | | | | check more intelligent. This speeds up mem2reg from 5.29s to 0.79s on a synthetic testcase with tons of predecessors and phi nodes. llvm-svn: 46767 | |||||
* | Add some binops. | Anders Carlsson | 2008-02-05 | 1 | -1/+69 | |
| | | | | llvm-svn: 46766 | |||||
* | Implement sseregparm. | Dale Johannesen | 2008-02-05 | 3 | -5/+23 | |
| | | | | llvm-svn: 46764 | |||||
* | If a vr is already marked alive in a bb, then it has PHI uses that are ↵ | Evan Cheng | 2008-02-05 | 2 | -2/+70 | |
| | | | | | | visited earlier, then it is not killed in the def block (i.e. not dead). llvm-svn: 46763 | |||||
* | More improvements to inline asm CG. | Anders Carlsson | 2008-02-05 | 1 | -3/+39 | |
| | | | | llvm-svn: 46762 | |||||
* | regenerate | Chris Lattner | 2008-02-05 | 1 | -6/+50 | |
| | | | | llvm-svn: 46761 | |||||
* | Make the check for GCC version more robust, fix shared library | Chris Lattner | 2008-02-05 | 2 | -7/+6 | |
| | | | | | | | | | | dependencies in makefile, and fix llvm_cv_no_link_all_option on darwin. Patch by Shantonu Sen, more info here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-February/012410.html llvm-svn: 46760 | |||||
* | Added "batch" processing versions of Nodify and SetValue. Created typedefs | Ted Kremenek | 2008-02-05 | 3 | -15/+43 | |
| | | | | | | for buffers for RValues and States. llvm-svn: 46759 | |||||
* | Added a "ConstantNotEq" map to ValueState (and added necessary typedefs and ↵ | Ted Kremenek | 2008-02-05 | 3 | -10/+36 | |
| | | | | | | factory objects to ValueStateManager). llvm-svn: 46758 |