summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* I don't see how NodeUpdated can be called with aDuncan Sands2008-02-041-5/+10
| | | | | | | | | | | | | | | | | | | | ReadyToProcess node - add an assertion to check this. Add an assertion to NodeDeleted that checks that processed/ready nodes are indeed not deleted. It is because they are never deleted that none of the maps can have a deleted node as the source of a mapping. It does however seem to be possible in theory to have a deleted value as the target of a mapping, however this has not yet been spotted in the wild. Still mulling on what to do about this. [The theoretical situation is this: a node A is expanded/promoted/whatever to a newly created node B. Thus A->B is added to a map. When the subtree rooted at B is legalized it is conceivable that B is deleted due to RAUW on a node somewhere above it]. llvm-svn: 46705
* The rest of the SSE4.1 intrinsic patterns that are obvious to me. GettingNate Begeman2008-02-041-8/+45
| | | | | | Evan's help with the rest. llvm-svn: 46697
* Some more SSE 4.1 intrinsic patterns.Nate Begeman2008-02-041-31/+94
| | | | llvm-svn: 46696
* Make this test more aggressive, to cover recent improvements.Owen Anderson2008-02-041-1/+1
| | | | llvm-svn: 46695
* Be more precise when eliminating pointers bue to memcpy's. This allows moreOwen Anderson2008-02-041-4/+10
| | | | | | stores to be deleted in some cases. llvm-svn: 46694
* Allow GVN to hack on memcpy's, making them open to further optimization.Owen Anderson2008-02-042-0/+104
| | | | llvm-svn: 46693
* Add ending newline to test.Christopher Lamb2008-02-041-1/+1
| | | | llvm-svn: 46692
* Add experimental support for address space qualified types. Address spaceChristopher Lamb2008-02-0412-41/+299
| | | | | | qualifiers use the __attribute__((address_space(id))) syntax. llvm-svn: 46691
* - ccc creates output objects in same directory as the source file, andBill Wendling2008-02-031-1/+7
| | | | | | | | | | | not in the current directory. This doesn't work with VPATH builds in autotooled builds. - ccc now creates object files without an extension. - Return exit code 1 if code > 255. Patch by Torok! llvm-svn: 46689
* Tag this test with the PR reference.Nick Lewycky2008-02-031-0/+1
| | | | llvm-svn: 46688
* There are some cases where icmp(add) can be folded into a new icmp. Handle them.Nick Lewycky2008-02-032-0/+51
| | | | llvm-svn: 46687
* Fix PR1966 by ignoring non-error diagnostics from system headers even if ↵Chris Lattner2008-02-034-22/+21
| | | | | | | | they are *mapped* onto errors. llvm-svn: 46686
* the macro start and macro end bits in source location are dead, remove them.Chris Lattner2008-02-032-10/+5
| | | | llvm-svn: 46685
* Hack on vectors too.Nick Lewycky2008-02-031-1/+1
| | | | llvm-svn: 46684
* Fold away one multiply in instcombine. This would normally be caught inNick Lewycky2008-02-031-0/+24
| | | | | | reassociate anyways, but they could be generated during instcombine's run. llvm-svn: 46683
* Fix typoChris Lattner2008-02-031-1/+1
| | | | llvm-svn: 46682
* SSE 4.1 Intrinsics and detectionNate Begeman2008-02-037-1/+269
| | | | llvm-svn: 46681
* handle the case where a node can become ready to processChris Lattner2008-02-032-3/+4
| | | | | | multiple times due to a RAUW. llvm-svn: 46680
* Use the new infrastructure for listening to node updates to Chris Lattner2008-02-032-31/+34
| | | | | | | | keep the LegalizeTypes node flags up to date when doing a RAUW. This fixes a nasty bug that Duncan ran into and makes the previous (nonbuggy case) more efficent. llvm-svn: 46679
* the world doesn't need my debugging code.Chris Lattner2008-02-031-1/+0
| | | | llvm-svn: 46678
* Change the 'global modification' APIs in SelectionDAG to take a newChris Lattner2008-02-034-199/+267
| | | | | | | | | | DAGUpdateListener object pointer instead of just returning a vector of deleted nodes. This makes the interfaces more efficient (no more allocating a vector [at least a malloc], filling it in, then walking it) and more clean. This also allows the client to be notified of nodes that are *changed* but not deleted. llvm-svn: 46677
* explicitly include Compiler.h instead of getting it from tblgen in the ↵Chris Lattner2008-02-034-0/+4
| | | | | | middle of a class. llvm-svn: 46676
* Make ccc work with older Python versions. Patch by Sam Bishop.Seo Sanghyeon2008-02-031-12/+12
| | | | llvm-svn: 46675
* Generalize the SDOperand->SDOperand form of Chris Lattner2008-02-031-17/+16
| | | | | | | | | SelectionDAG::ReplaceAllUsesWith to handle replacement of an SDOperand with *any* sdoperand, not just one for a node with a single result. Note that this has a horrible FIXME'd hack in it to work around PR1975. This should be removed when PR1975 is fixed. llvm-svn: 46674
* don't do ReplaceUses on a result that doesn't exist.Chris Lattner2008-02-031-2/+4
| | | | llvm-svn: 46673
* add a -view-legalize-types-dags option, for viewing the dags going into ↵Chris Lattner2008-02-031-0/+13
| | | | | | legalize types. llvm-svn: 46672
* Implement support for __extension__ which silences extwarnings in its Chris Lattner2008-02-022-2/+23
| | | | | | scope. This is part of the fix for PR1966 llvm-svn: 46669
* Get rid of the annoying blank lines before labels.Evan Cheng2008-02-0211-14/+7
| | | | llvm-svn: 46667
* Don't use uninitialized values. Fixes vec_align.ll on X86 Linux.Nick Lewycky2008-02-021-1/+1
| | | | llvm-svn: 46666
* Unbreak ppc debug support.Evan Cheng2008-02-021-0/+3
| | | | llvm-svn: 46665
* minor tweak to anders patch: (only) ocu vectors support splatting, butChris Lattner2008-02-021-7/+4
| | | | | | | ocu vectors should not treat bitcasts from int <-> vector as a splat unless it is of the element type. llvm-svn: 46664
* Add RUN line.Anders Carlsson2008-02-021-0/+1
| | | | llvm-svn: 46663
* testcase for previous patch.Chris Lattner2008-02-021-0/+13
| | | | llvm-svn: 46662
* fix codegen on static variables which have multiple decl nodes. These Chris Lattner2008-02-021-1/+1
| | | | | | | | | | | should be merged just like normal globals. This fixes this testcase that Anders provided: static struct s a; static struct s *ap1 = &a; static struct s a = { 10 }; llvm-svn: 46661
OpenPOWER on IntegriCloud