summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Instrumentation
Commit message (Collapse)AuthorAgeFilesLines
...
* simplify AnalysisGroup registration, eliminating one typeid call.Chris Lattner2006-08-282-3/+3
| | | | llvm-svn: 29932
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-276-12/+12
| | | | llvm-svn: 29925
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-242-2/+2
| | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25509
* a few more comments on the interfaces and functionsAndrew Lenharth2005-11-281-3/+20
| | | | llvm-svn: 24500
* Added documented rsprofiler interface. Also remove new profiler passes, theAndrew Lenharth2005-11-283-135/+63
| | | | | | old ones have been updated to implement the interface. llvm-svn: 24499
* Fix VC++ warning.Jeff Cohen2005-11-281-0/+1
| | | | llvm-svn: 24496
* Random sampling (aka Arnold and Ryder) profiling. This is still ↵Andrew Lenharth2005-11-282-0/+730
| | | | | | | | | | | | | | | | | preliminary, but it works on spec on x86 and alpha. The idea is to allow profiling passes to remember what profiling they inserted, then a random sampling framework is inserted which consists of duplicated basic blocks (without profiling), such that at each backedge in the program and entry into every function, the framework chooses whether to use the instrumented code or the instrumentation free code. The goal of such a framework is to make it reasonably cheap to do random sampling of very expensive profiling products (such as load-value profiling). The code is organized into 3 parts (2 passes) 1) a linked set of profiling passes, which implement an analysis group (linked, like alias analysis are). These insert profiling into the program, and remember what they inserted, so that at a later time they can be queried about any instruction. 2) a pass that handles inserting the random sampling framework. This also has options to control how random samples are choosen. Currently implemented are Global counters, register allocated global counters, and read cycle counter (see? there was a reason for it). The profiling passes are almost identical to the existing ones (block, function, and null profiling is supported right now), and they are valid passes without the sampling framework (hence the existing passes can be unified with the new ones, not done yet). Some things are a bit ugly still, but that should be fixed up soon enough. Other todo? making the counter values not "magic 2^16 -1" values, but dynamically choosable. llvm-svn: 24493
* Remove some beta code that no longer has an owner.Chris Lattner2005-10-249-3043/+0
| | | | llvm-svn: 23944
* Do not build the ProfilePaths directory anymoreChris Lattner2005-10-241-1/+0
| | | | llvm-svn: 23943
* DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE nowChris Lattner2005-10-241-1/+1
| | | | llvm-svn: 23940
* Only build .a file versions of these libraries, instead of .a and .o versions.Chris Lattner2005-10-241-0/+1
| | | | | | This should speed up build times. llvm-svn: 23933
* When a function takes a variable number of pointer arguments, with a zeroJeff Cohen2005-10-236-10/+14
| | | | | | | | | | | | | pointer marking the end of the list, the zero *must* be cast to the pointer type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will not extend the zero to 64 bits, thus allowing the upper 32 bits to be random junk. The new END_WITH_NULL macro may be used to annotate a such a function so that GCC (version 4 or newer) will detect the use of un-casted zero at compile time. llvm-svn: 23888
* Eliminate tabs and trailing spacesJeff Cohen2005-04-2310-214/+214
| | | | llvm-svn: 21480
* Remove trailing whitespaceMisha Brukman2005-04-2115-393/+393
| | | | llvm-svn: 21427
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-152-5/+5
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Add a dependency to the trace library so that it gets pulled inAlkis Evlogimenos2005-01-251-1/+3
| | | | | | automatically. llvm-svn: 19828
* Convert tabs to spacesMisha Brukman2005-01-071-3/+2
| | | | llvm-svn: 19320
* Add missing createXxxPass functionsJeff Cohen2005-01-074-0/+20
| | | | llvm-svn: 19319
* Add missing includeJeff Cohen2005-01-071-0/+1
| | | | llvm-svn: 19315
* Add missing includeJeff Cohen2005-01-061-0/+1
| | | | llvm-svn: 19305
* Fix link error in PPC optimized build of 'opt'.Brian Gaeke2004-12-131-0/+1
| | | | llvm-svn: 18913
* Add support for compilers without argument dependent name lookup, contributedChris Lattner2004-12-081-1/+1
| | | | | | by Bjørn Wennberg llvm-svn: 18627
* Remove unneeded class qualifier, contributed by Bjørn WennbergChris Lattner2004-12-081-1/+1
| | | | llvm-svn: 18625
* CPR is dead.Chris Lattner2004-11-191-1/+0
| | | | llvm-svn: 17992
* Remove dead varsChris Lattner2004-11-052-2/+0
| | | | llvm-svn: 17482
* Change Library Names Not To Conflict With Others When InstalledReid Spencer2004-10-272-2/+2
| | | | llvm-svn: 17286
* We won't use automakeReid Spencer2004-10-224-1499/+0
| | | | llvm-svn: 17155
* Explain what this pass does.Brian Gaeke2004-10-201-1/+7
| | | | llvm-svn: 17146
* Initial automake generated Makefile templateReid Spencer2004-10-182-0/+1448
| | | | llvm-svn: 17136
* Correction to allow compilation with Visual C++.Reid Spencer2004-10-181-2/+2
| | | | | | Patch contributed by Morten Ofstad. Thanks Morten! llvm-svn: 17123
* Update to reflect changes in Makefile rules.Reid Spencer2004-10-132-8/+6
| | | | llvm-svn: 16950
* Initial version of automake Makefile.am file.Reid Spencer2004-10-102-0/+53
| | | | llvm-svn: 16893
* Add accessor function.Brian Gaeke2004-09-302-0/+8
| | | | llvm-svn: 16622
* Correct type of accessor functions.Brian Gaeke2004-09-301-4/+4
| | | | llvm-svn: 16621
* Namespacify. Add accessor function.Brian Gaeke2004-09-301-0/+8
| | | | llvm-svn: 16620
* 'Pass' should now not be derived from by clients. Instead, they should deriveChris Lattner2004-09-204-15/+15
| | | | | | | from ModulePass. Instead of implementing Pass::run, then should implement ModulePass::runOnModule. llvm-svn: 16436
* Changes For Bug 352Reid Spencer2004-09-015-6/+6
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-299-24/+10
| | | | llvm-svn: 15334
* These files don't need to include <iostream> since they include ↵Brian Gaeke2004-07-214-4/+0
| | | | | | "Support/Debug.h". llvm-svn: 15089
* bug 122:Reid Spencer2004-07-186-16/+9
| | | | | | - Replace ConstantPointerRef usage with GlobalValue usage llvm-svn: 14953
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-047-0/+8
| | | | llvm-svn: 14622
* Restoring this file.Vikram S. Adve2004-06-291-0/+76
| | | | llvm-svn: 14478
* This file is unused, and duplicates functionality in TraceValues.cpp.Vikram S. Adve2004-06-241-76/+0
| | | | llvm-svn: 14369
* Expand head-of-file comment.Brian Gaeke2004-06-031-1/+3
| | | | llvm-svn: 13982
* Use new form of unconditional branch constructor.Brian Gaeke2004-06-011-1/+1
| | | | llvm-svn: 13930
* Clean up this pass somewhat:Brian Gaeke2004-05-141-42/+38
| | | | | | | | | | | | Add better comments, including a better head-of-file comment. Prune #includes. Fix a FIXME that Chris put here by using doInitialization(). Use DEBUG() to print out debug msgs. Give names to basic blocks inserted by this pass. Expand tabs. Use InsertProfilingInitCall() from ProfilingUtils to insert the initialize call. llvm-svn: 13581
* Fix typoBrian Gaeke2004-05-031-1/+1
| | | | llvm-svn: 13340
* In InsertProfilingInitCall(), make it legal to pass in a null array, inBrian Gaeke2004-05-032-7/+13
| | | | | | which case you'll get a null array and zero passed to the profiling function. llvm-svn: 13336
* Add initial implementation of basic-block tracing instrumentation pass.Brian Gaeke2004-05-031-0/+76
| | | | llvm-svn: 13335
OpenPOWER on IntegriCloud