summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Added FoldingSet profiling support to ImmutableSet.Ted Kremenek2008-02-051-1/+14
| | | | llvm-svn: 46757
* Added some comments.Ted Kremenek2008-02-051-2/+14
| | | | llvm-svn: 46756
* Renamed typedef "iterator" in ValueState to "vb_iterator" (for ↵Ted Kremenek2008-02-052-6/+6
| | | | | | "VariableBindings"). llvm-svn: 46755
* Reordered fields/methods in ValueState to make it more aesthetically pleasing.Ted Kremenek2008-02-051-11/+12
| | | | llvm-svn: 46754
* Changed profiling method for ImmutableMap to once again just use itsTed Kremenek2008-02-052-26/+29
| | | | | | | | | | | | | | unique ImutAVLTree* for profiling. Modified ImutAVLTree: (1) changed ComputeHash() to ComputeDigest() and (2) changed Profile() to use the computed digest and (3) modified insertion of IMutAVLTree into the FoldingSet owned by the ImutAVLTreeFactory object to use profiling instead of computing a direct hash. This fixes a bug where our abuse of the FoldingSet would not work when the FoldingSet was resized. llvm-svn: 46753
* Use correct flag value.Anders Carlsson2008-02-051-1/+1
| | | | llvm-svn: 46752
* Append input argument to args vector.Anders Carlsson2008-02-051-0/+1
| | | | llvm-svn: 46751
* Add code generation for inline asm statements.Anders Carlsson2008-02-052-2/+206
| | | | llvm-svn: 46750
* Ident mnemonics appropriatelyNate Begeman2008-02-051-4/+4
| | | | llvm-svn: 46746
* rewrite some of the type refinement code to eliminate dangling pointersChris Lattner2008-02-058-65/+113
| | | | | | simplify the code and generally make it more robust. llvm-svn: 46745
* Overhauling of "ValueState" so that it represents its own functional dataTed Kremenek2008-02-053-55/+174
| | | | | | structure that can contain several maps, not just one. llvm-svn: 46744
* Change the key of CGRecordLayouts from being an llvm type* to being a decl*. ↵Chris Lattner2008-02-054-16/+14
| | | | | | | | | | | LLVM Type*'s can change as types are refined, so we can't use them as a stable key in the map. Decls don't change, so use them instead. This patch was written by Anders, but he's too shy to commit it himself :) llvm-svn: 46743
* Relax an assertion, fixing PR1968Chris Lattner2008-02-052-1/+17
| | | | llvm-svn: 46742
* dump the module *before* we delete it, not after.Chris Lattner2008-02-054-18/+19
| | | | llvm-svn: 46741
* ValueManager now uses the BumpPtrAllocator owned by the ExplodedGraph.Ted Kremenek2008-02-054-4/+8
| | | | llvm-svn: 46740
* Fix a bug compiling PR1978 (perhaps not the only one though) whichChris Lattner2008-02-052-54/+38
| | | | | | | | | was incorrectly simplifying "x == (gep x, 1, i)" into false, even though i could be negative. As it turns out, all the code to handle this already existed, we just need to disable the incorrect optimization case and let the general case handle it. llvm-svn: 46739
* Fix an obscure read-after-free bug that Duncan found.Owen Anderson2008-02-051-10/+20
| | | | llvm-svn: 46738
* Update outdated comment.Devang Patel2008-02-051-6/+1
| | | | llvm-svn: 46737
* Cleanup InitListExpr code generation code.Devang Patel2008-02-054-52/+127
| | | | | | Handle padding fields while initializing struct (fix PR 1962) llvm-svn: 46736
* Fix memory corruption from the type map being modified while a reference Eli Friedman2008-02-051-5/+5
| | | | | | to a cell is being held. llvm-svn: 46735
* Keep track of padding fields.Devang Patel2008-02-051-3/+10
| | | | llvm-svn: 46734
* Missed one.Dale Johannesen2008-02-051-3/+3
| | | | llvm-svn: 46733
* Simplified transfer functions for '++' and '--'Ted Kremenek2008-02-051-16/+4
| | | | llvm-svn: 46732
* Implemented initial transfer function support for '&&', '||', '?', andTed Kremenek2008-02-055-15/+174
| | | | | | __builtin_choose. llvm-svn: 46731
* This should also work on x86 now.Evan Cheng2008-02-051-2/+2
| | | | llvm-svn: 46730
* Unbreak teh build.Evan Cheng2008-02-051-0/+6
| | | | llvm-svn: 46729
* Do not unconditionally redefine vec_ext_v16qi andDale Johannesen2008-02-041-2/+2
| | | | | | | | | vec_ext_v4si builtins. This is a hack; they should be defined here, then resolved in the X86 BE. However there is enough other stuff missing in the X86 BE for SSE41 that this will do for now. llvm-svn: 46727
* Typo.Evan Cheng2008-02-042-2/+2
| | | | llvm-svn: 46725
* Dwarf requires variable entries to be in the source order. Right now, since ↵Evan Cheng2008-02-0410-15/+7
| | | | | | we are recording variable information at isel time this means parameters would appear in the reverse order. The short term fix is to issue recordVariable() at asm printing time instead. llvm-svn: 46724
* This method should be virtualNate Begeman2008-02-041-1/+1
| | | | llvm-svn: 46723
* Added file that should have been in my previous commit.Ted Kremenek2008-02-041-0/+116
| | | | llvm-svn: 46722
* Created ValueStateManager, a full-blown class to manage the statesTed Kremenek2008-02-042-140/+92
| | | | | | | | created for GRConstants. Moved instances of ValueManager and SymbolManager inside this class. The goal is to gradually separate more of the state management from the state transformation. llvm-svn: 46721
* Eliminate some redundant code.Nate Begeman2008-02-041-7/+1
| | | | llvm-svn: 46720
* Modified 'Profile' method of ImmutableMap to use the 'Profile' methodTed Kremenek2008-02-041-2/+2
| | | | | | of the contained ImutAVLTree root. llvm-svn: 46719
* Do not set time out, lets assume assembler will do its job in reasonable ↵Devang Patel2008-02-041-1/+1
| | | | | | amount of time. llvm-svn: 46718
* Modified node creation of ImutAVLTree to do a hash lookup for an existingTed Kremenek2008-02-041-77/+124
| | | | | | | | | | | | | | | node in the FoldingSet of nodes held by the Factory object. If we we find a node with a matching hash, we do a full structural comparison. Nodes are also now inserted into the FoldingSet only when we mark them Immutable, as their children can change during intermediate-rebalancing. The 'Profile' method for ImutAVLTree is no longer used when looking up existing ImutAVLTrees with a given set of contents; instead the Profile method is used by other clients that wish to insert such a tree into a folding set. This means that we are not using FoldingSet in ImutAVLTreeFactory in the way it was intended, but instead are using it as an opaque hashtable. llvm-svn: 46717
* Added "bucket_iterators" to FoldingSet. Bucket iterators allow iterationTed Kremenek2008-02-042-1/+69
| | | | | | over all the nodes in a particular bucket. llvm-svn: 46716
* Set error message.Devang Patel2008-02-041-2/+4
| | | | | | Patch by Shantonu Sen. llvm-svn: 46715
* Crashes LegalizeTypes with "Do not know how toDuncan Sands2008-02-041-0/+22
| | | | | | expand the result of this operator!" (node: ctlz). llvm-svn: 46713
* Crashes LegalizeTypes with "Do not know how to splitDuncan Sands2008-02-041-0/+14
| | | | | | this operator's operand" (node: extract_subvector). llvm-svn: 46712
* remove target triple to make this test more "generic"Chris Lattner2008-02-041-2/+0
| | | | llvm-svn: 46711
* Fixed 80 col. violation.Ted Kremenek2008-02-041-2/+4
| | | | llvm-svn: 46709
* Implemented transfer function for unary '~'.Ted Kremenek2008-02-043-0/+21
| | | | llvm-svn: 46708
* constified operator~().Ted Kremenek2008-02-041-1/+1
| | | | llvm-svn: 46707
* Crashed the new type legalizer. Not likely to catchDuncan Sands2008-02-041-0/+21
| | | | | | | | | any bugs in the future since to get the crash you also need hacked in fake libcall support (which creates odd but legal trees), but since adding it doesn't hurt... Thanks to Chris for this ultimately reduced version. llvm-svn: 46706
OpenPOWER on IntegriCloud