summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/Local.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove DSA.John Criswell2006-12-131-1333/+0
| | | | llvm-svn: 32550
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-2/+2
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Replacing std::iostreams with llvm iostreams. Some of these changes involveBill Wendling2006-11-291-3/+2
| | | | | | | adding a temporary wrapper around the ostream to make it friendly to functions expecting an LLVM stream. This should be fixed in the future. llvm-svn: 31990
* For PR950:Reid Spencer2006-11-271-15/+22
| | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931
* Replace DEBUG(std::cerr with DOUT. Removed some iostream #includes.Bill Wendling2006-11-171-7/+7
| | | | llvm-svn: 31811
* Optionally allow comparison operations from affect DSGraphsAndrew Lenharth2006-11-071-1/+6
| | | | llvm-svn: 31511
* Split the External and Intrinsic handling into seperate functions. ThisAndrew Lenharth2006-11-031-497/+505
| | | | | | | | | | improves readability of the call handling code significantly, as well as makes it clear which parts are hacky (externals) and which parts are good (call handling). No functionality change. llvm-svn: 31415
* For PR786:Reid Spencer2006-11-021-1/+1
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* [SU]int update - inactive code may get activated somedayJim Laskey2006-10-231-1/+1
| | | | llvm-svn: 31128
* For PR950:Reid Spencer2006-10-201-1/+1
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Move some warnings to debug mode.Andrew Lenharth2006-10-131-3/+7
| | | | llvm-svn: 30933
* Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29921
* add some missing externalsAndrew Lenharth2006-06-281-3/+18
| | | | llvm-svn: 28955
* better c99 struct handlingAndrew Lenharth2006-04-251-2/+1
| | | | llvm-svn: 27970
* deal with memchrAndrew Lenharth2006-04-191-0/+7
| | | | llvm-svn: 27830
* stupid stuffAndrew Lenharth2006-04-191-3/+7
| | | | llvm-svn: 27821
* I understand now. Shoot.Andrew Lenharth2006-04-181-21/+3
| | | | llvm-svn: 27819
* llvm.memc* improvements. helps PA a lot in some specmarksAndrew Lenharth2006-04-181-2/+7
| | | | llvm-svn: 27812
* llvm.memc* improvements. helps PA a lot in some specmarksAndrew Lenharth2006-04-181-4/+11
| | | | llvm-svn: 27811
* Handle some kernel code than ends in [0 x sbyte]. I think this is safeAndrew Lenharth2006-04-131-2/+11
| | | | llvm-svn: 27672
* revert this, this is safe, if conservative. leave a note to that effectAndrew Lenharth2006-04-051-9/+7
| | | | llvm-svn: 27428
* no heap is happening hereAndrew Lenharth2006-03-151-1/+1
| | | | llvm-svn: 26781
* remove qsort for nowAndrew Lenharth2006-03-151-9/+0
| | | | llvm-svn: 26779
* improve mem intrinsics and add a few things povray usesAndrew Lenharth2006-03-151-3/+30
| | | | llvm-svn: 26774
* Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolvingChris Lattner2006-03-031-3/+6
| | | | | | PR709, and paving the way for future progress. llvm-svn: 26476
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25509
* Prefix DSA specific options with dsa.John Criswell2005-12-191-4/+4
| | | | | | Make the dsa-alloc-list and dsa-free-list options hidden. llvm-svn: 24864
* Added an option to specify the names of heap freeing functions.John Criswell2005-12-191-0/+20
| | | | llvm-svn: 24863
* Added a command line option that allows the user to specify a list ofJohn Criswell2005-12-191-0/+19
| | | | | | functions that allocate memory. llvm-svn: 24862
* Collapsing node if variable length struct with final field of length zeroSumant Kowshik2005-12-061-1/+18
| | | | llvm-svn: 24621
* core changes for varargsAndrew Lenharth2005-06-181-5/+1
| | | | llvm-svn: 22254
* Remove trailing whitespaceMisha Brukman2005-04-211-22/+22
| | | | llvm-svn: 21416
* Remove an iteration pass over the entire scalarmap for each function createdChris Lattner2005-03-221-15/+8
| | | | | | | by not allowing integer constants to get into the scalar map in the first place. llvm-svn: 20764
* Build EC's for globals twice. The first is after constructing the initialChris Lattner2005-03-201-23/+99
| | | | | | | | | Globals Graph for the local pass, the second is after all of the locals graphs have been constructed. This allows for many additional global EC's to be recognized that weren't before. This speeds up analysis of programs like 177.mesa, where it changes DSA from taking 0.712s to 0.4018s. llvm-svn: 20711
* some methods got renamedChris Lattner2005-03-201-2/+2
| | | | llvm-svn: 20703
* comment cleanupChris Lattner2005-03-201-1/+1
| | | | llvm-svn: 20699
* Create an equivalence class of global variables that DSA will never be ableChris Lattner2005-03-191-7/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | to tell apart anyway, and only track the leader for of these equivalence classes in our graphs. This dramatically reduces the number of GlobalValue*'s that appear in scalar maps, which A) reduces memory usage, by eliminating many many scalarmap entries and B) reduces time for operations that need to execute an operation for each global in the scalar map. As an example, this reduces the memory used to analyze 176.gcc from 1GB to 511MB, which (while it's still way too much) is better because it doesn't hit swap anymore. On eon, this shrinks the local graphs from 14MB to 6.8MB, shrinks the bu+td graphs of povray from 50M to 40M, shrinks the TD graphs of 130.li from 8.8M to 3.6M, etc. This change also speeds up DSA on large programs where this makes a big difference. For example, 130.li goes from 1.17s -> 0.56s, 134.perl goes from 2.14 -> 0.93s, povray goes from 15.63s->7.99s (!!!). This also apparently either fixes the problem that caused DSA to crash on perlbmk and gcc, or it hides it, because DSA now works on these. These both take entirely too much time in the TD pass (147s for perl, 538s for gcc, vs 7.67/5.9s in the bu pass for either one), but this is a known problem that I'll deal with later. llvm-svn: 20696
* another fastpathChris Lattner2005-03-181-1/+2
| | | | llvm-svn: 20674
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-2/+2
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Make sure the two arguments of a setcc instruction point to the same node.Chris Lattner2005-03-051-1/+8
| | | | llvm-svn: 20462
* Trivial cleanup patchChris Lattner2005-03-041-2/+2
| | | | llvm-svn: 20436
* Handle null a bit more carefully.Chris Lattner2005-02-251-1/+11
| | | | | | | | Actually teach dsa about select instructions. This doesn't affect the graph in any way other than not setting a spurious U marker on pointer nodes that are selected. llvm-svn: 20324
* This instruction:Chris Lattner2005-02-241-1/+2
| | | | | | | | | X = gep null, ... Used to not create a scalar map entry for X, which caused clients to barf. This is bad. llvm-svn: 20316
* * Make some methods more const correct.Chris Lattner2005-01-301-2/+2
| | | | | | | | | | | | | | | | * Change the FunctionCalls and AuxFunctionCalls vectors into std::lists. This makes many operations on these lists much more natural, and avoids *exteremely* expensive copying of DSCallSites (e.g. moving nodes around between lists, erasing a node from not the end of the vector, etc). With a profile build of analyze, this speeds up BU DS from 25.14s to 12.59s on 176.gcc. I expect that it would help TD even more, but I don't have data for it. This effectively eliminates removeIdenticalCalls and children from the profile, going from 6.53 to 0.27s. llvm-svn: 19939
* Silence VC++ warnings.Chris Lattner2005-01-121-3/+4
| | | | llvm-svn: 19506
* Work correctly with ICC, Patch contributed by Bjørn WennbergChris Lattner2004-12-081-8/+16
| | | | llvm-svn: 18630
* Handle assert_fail specialChris Lattner2004-11-081-0/+7
| | | | llvm-svn: 17631
* Don't call Constant::getNullValue when the argument could be VoidTyChris Lattner2004-11-031-2/+3
| | | | llvm-svn: 17457
* Fix more undefined behaviorChris Lattner2004-10-301-10/+13
| | | | llvm-svn: 17356
* add support for UndefValueChris Lattner2004-10-261-1/+1
| | | | llvm-svn: 17260
OpenPOWER on IntegriCloud