summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* now that ConvertTagDeclType is nice and simple, use it from UpdateCompletedType.Chris Lattner2008-02-062-10/+7
| | | | llvm-svn: 46809
* simplify and speed up type refinement logic. No functionality change.Chris Lattner2008-02-061-59/+46
| | | | llvm-svn: 46808
* only convert the type name once, not each type it is refined.Chris Lattner2008-02-061-18/+19
| | | | llvm-svn: 46807
* Fix the codegen of structs with flexible array members.Eli Friedman2008-02-062-5/+21
| | | | llvm-svn: 46806
* simplify a bunch of code.Chris Lattner2008-02-061-22/+14
| | | | llvm-svn: 46805
* rename TypeHolderMap to TypeCache, which more aptly describes what it is.Chris Lattner2008-02-062-23/+20
| | | | llvm-svn: 46804
* split tagged decl layout into its own method.Chris Lattner2008-02-062-100/+111
| | | | llvm-svn: 46803
* only update the llvm type for a struct when we used the struct Chris Lattner2008-02-061-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 Lattner2008-02-065-30/+18
| | | | llvm-svn: 46801
* codegen static variables in a function into a different namespace fromChris Lattner2008-02-061-1/+8
| | | | | | static variables outside functions. llvm-svn: 46800
* Be a bit stricter about array type compatibility.Eli Friedman2008-02-062-7/+16
| | | | llvm-svn: 46799
* Finish off the refactoring of type handling stuff. Now we recompile everyChris Lattner2008-02-062-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 Kremenek2008-02-061-2/+1
| | | | llvm-svn: 46797
* Fixed signedness bug in cast transfer function when casting integers to ↵Ted Kremenek2008-02-063-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 onTed Kremenek2008-02-061-0/+40
| | | | | | symbols (for constant integers). llvm-svn: 46795
* Disabled operator= for ValueStateImpl.Ted Kremenek2008-02-061-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 Kremenek2008-02-061-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 Lattner2008-02-068-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 topChris Lattner2008-02-067-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 Lattner2008-02-061-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 Kremenek2008-02-064-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 Lattner2008-02-061-4/+7
| | | | llvm-svn: 46788
* pass the astconsumer into Sema's ctor, clean up some stuff in Chris Lattner2008-02-065-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 Lattner2008-02-065-19/+17
| | | | llvm-svn: 46786
* kill the ASTStreamer class, inlining it into its only client: clang::ParseASTChris Lattner2008-02-061-50/+14
| | | | llvm-svn: 46785
* Even more inline asm codegen fixes.Anders Carlsson2008-02-062-5/+13
| | | | llvm-svn: 46784
* simple implementation of __builtin_allocaNate Begeman2008-02-061-0/+4
| | | | llvm-svn: 46783
* Add a FIXME to clarify previous commit/experiment.Steve Naroff2008-02-051-0/+6
| | | | llvm-svn: 46782
* Don't dereference an invalid pointer if string is empty.Anton Korobeynikov2008-02-051-4/+4
| | | | llvm-svn: 46781
* Handle the memory clobber.Anders Carlsson2008-02-051-0/+3
| | | | llvm-svn: 46780
* Improvements to inline asm code generation.Anders Carlsson2008-02-051-2/+34
| | | | llvm-svn: 46779
* Added pretty-printing support for lval::SymIntConstraintVal andTed Kremenek2008-02-052-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 Carlsson2008-02-057-32/+52
| | | | llvm-svn: 46777
* Fix PR1975: dag isel emitter produces patterns that isel wrong flag result.Evan Cheng2008-02-053-8/+33
| | | | llvm-svn: 46776
* Move to getCALLSEQ_END to ensure CALLSEQ_END node produces a flag. This is ↵Evan Cheng2008-02-051-2/+7
| | | | | | consistent with the definition in td file. llvm-svn: 46775
* simplify some code.Chris Lattner2008-02-051-8/+5
| | | | llvm-svn: 46774
* Moved implementation of cast<> for SymbolData closer to SymbolData's definition.Ted Kremenek2008-02-051-24/+28
| | | | llvm-svn: 46772
* Added new "NonLValue" class: SymIntConstraintVal. This class represents a binaryTed Kremenek2008-02-051-4/+18
| | | | | | contraint between a symbol and an integer constant. llvm-svn: 46771
* Moved subclasses of LValue and NonLValue into their own namespaces.Ted Kremenek2008-02-054-211/+224
| | | | | | This noticeably cleans up the naming of these classes. llvm-svn: 46770
* Added "SymIntConstraint", a utility class to represent intermediate values forTed Kremenek2008-02-052-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 Naroff2008-02-054-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 Lattner2008-02-051-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 Carlsson2008-02-051-1/+69
| | | | llvm-svn: 46766
* Implement sseregparm.Dale Johannesen2008-02-053-5/+23
| | | | llvm-svn: 46764
* If a vr is already marked alive in a bb, then it has PHI uses that are ↵Evan Cheng2008-02-052-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 Carlsson2008-02-051-3/+39
| | | | llvm-svn: 46762
* regenerateChris Lattner2008-02-051-6/+50
| | | | llvm-svn: 46761
* Make the check for GCC version more robust, fix shared libraryChris Lattner2008-02-052-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 typedefsTed Kremenek2008-02-053-15/+43
| | | | | | for buffers for RValues and States. llvm-svn: 46759
* Added a "ConstantNotEq" map to ValueState (and added necessary typedefs and ↵Ted Kremenek2008-02-053-10/+36
| | | | | | factory objects to ValueStateManager). llvm-svn: 46758
OpenPOWER on IntegriCloud