3433141a3e
Add a simple pass to make sure that all (non-library) calls to malloc and free
...
are visible to analysis as intrinsics. That is, make sure someone doesn't pass
free around by address in some struct (as happens in say 176.gcc).
This doesn't get rid of any indirect calls, just ensure calls to free and malloc
are always direct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27560 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-10 19:26:09 +00:00
f9c6105a78
add an option to the internalize pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23782 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-18 06:28:16 +00:00
bb3d5d246b
Declare a function to create the SimplifyLibCalls pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21523 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-25 02:54:00 +00:00
34695381d6
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 20:59:05 +00:00
ecc1cef8bf
Apply feedback from Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19432 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-10 04:23:32 +00:00
bf65268def
Add more missing createXxxPass functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19370 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 17:21:40 +00:00
3c05176526
New prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 07:55:01 +00:00
92f6c15d8f
Move the strip pass from Scalar to IPO lib
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18438 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-02 21:24:19 +00:00
0998afdc1e
Declare a function in the correct namespace.
...
Patch contributed by Morten Ofstad. Thanks Morten!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17124 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 14:43:45 +00:00
93a00e4ceb
Rename pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 04:12:02 +00:00
8e47e7292c
Do not prototype any of these passes as returning Pass*. Instead, be specific
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:41:39 +00:00
45df557348
Add a pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 03:03:44 +00:00
c755307412
Remove two dead passes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14456 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-28 00:43:25 +00:00
7d248397a7
Clarify the logic: the flag is renamed to `deleteFn' to signify it will delete
...
the function instead of isolating it. This also means the condition is reversed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13112 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 23:00:51 +00:00
127a3e092b
Add a boolean flag to delete this function from module, leaving the rest behind.
...
Useful in manual debugging when bugpoint isn't quite up to snuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13110 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 22:51:37 +00:00
7bc91c62f0
Rename createLoopExtractorPass to createSingleLoopExtractorPass
...
Doxygenify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 20:00:37 +00:00
4eddf37ee3
Move loop extractor to the IPO header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12374 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 02:36:34 +00:00
f0b6070272
Add prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-07 21:30:08 +00:00
fdf6a3c8cc
Add prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11837 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:34:51 +00:00
0f7d2e8b8d
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10487 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-16 21:55:45 +00:00
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
3323f2abbd
Split the DAE pass into DAE and DAH passes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9742 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 21:43:42 +00:00
815904d373
Include new prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 16:51:49 +00:00
6fbcc26f14
Added LLVM copyright header (for lack of a better term).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
370910d2a0
Add prototype for the lowersetjmp pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8522 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 05:05:23 +00:00
2757af2d47
Change the RaiseAllocations pass from being a BasicBlockPass to being a Pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 03:14:00 +00:00
fa7f524162
Add accessor function for the PruneEH pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 16:30:25 +00:00
9b2a14b6f1
Add argument to DAE to allow operation on non-internal functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6895 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-25 04:12:49 +00:00
1989d34b3b
Add prototype for the new DAE pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6703 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:16:52 +00:00
9a64084a84
Remove pool alloc accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:08:33 +00:00
8f51da42e7
Move inlining pass to IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4761 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 20:43:24 +00:00
5113eb0c52
Move the function extractor pass from tools/extract into lib/Xform/IPO
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4759 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 18:42:59 +00:00
7afd98d144
Converted SimpleStructMutation to take TargetData as a required pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3931 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 00:17:18 +00:00
ab955c3359
Move many files into IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:10:58 +00:00
5c5db0eeb4
* Rename to IPO.h
...
* Add ConstantMerge.h contents
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3032 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:56:27 +00:00
03917ccb0c
Prepare the file to become IPO.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3029 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 19:48:52 +00:00
b59d8199e0
Split the CleanupGCCOutput pass into two passes, and add real life actual
...
documentation on when they do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2222 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:31:22 +00:00
bd0ef77cde
Change over to use new style pass mechanism, now passes only expose small
...
creation functions in their public header file, unless they can help it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1816 91177308-0d34-0410-b5e6-96231b3b80d8
2002-02-26 21:46:54 +00:00
967a04442d
Convert xforms over to use new pass structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1596 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-30 23:29:35 +00:00
5048c3b853
Pull RaiseAllocations stuff out of the CleanGCC pass into it's own pass in
...
the ChangeAllocations.h header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-22 00:13:51 +00:00
f4de63f65f
Implement a more powerful, simpler, pass system. This pass system can figure
...
out how to run a collection of passes optimially given their behaviors and
charactaristics.
Convert code to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-21 07:31:50 +00:00
430aa9ec1c
-cleangcc pass now remove type names that are never referenced and type names for pointers to primitive types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1312 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-15 04:34:46 +00:00
407c25bd82
Expose method to merge identically named methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1109 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-03 19:49:54 +00:00
bfe11108ad
Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1065 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:35:59 +00:00
2fa11445cd
New GCC cleanup pass interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1061 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:32:53 +00:00