summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO
Commit message (Collapse)AuthorAgeFilesLines
* second patch to fix PR992/993.Chris Lattner2006-11-091-4/+17
| | | | llvm-svn: 31610
* Minimal patch to fix PR992/PR993Chris Lattner2006-11-091-2/+1
| | | | llvm-svn: 31608
* For PR786:Reid Spencer2006-11-027-10/+5
| | | | | | | | | | 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
* Fix GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll and McGill/chompChris Lattner2006-11-011-8/+14
| | | | llvm-svn: 31352
* For PR950:Reid Spencer2006-10-261-1/+1
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* llvm-extract should remove module-level asmChris Lattner2006-10-201-3/+3
| | | | llvm-svn: 31086
* For PR950:Reid Spencer2006-10-204-94/+93
| | | | | | | | 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
* Revert previous patch. Still breaking things.Evan Cheng2006-10-031-49/+1
| | | | llvm-svn: 30698
* Fix debug outputChris Lattner2006-09-301-2/+1
| | | | llvm-svn: 30680
* Implement SRA of heap allocations.Chris Lattner2006-09-301-10/+266
| | | | llvm-svn: 30679
* Add some ifdef'd out debug infoChris Lattner2006-09-301-3/+30
| | | | llvm-svn: 30676
* Eliminate ConstantBool::True and ConstantBool::False. Instead, provideChris Lattner2006-09-281-4/+5
| | | | | | ConstantBool::getTrue() and ConstantBool::getFalse(). llvm-svn: 30665
* Another attempt at making ArgPromotion smarter. This patch no longer breaks ↵Owen Anderson2006-09-281-1/+49
| | | | | | Burg. llvm-svn: 30657
* Implement a trivial optzn: of vastart is never called in a function that takesChris Lattner2006-09-181-2/+113
| | | | | | | | ... args, remove the '...'. This is Transforms/DeadArgElim/dead_vaargs.ll llvm-svn: 30459
* revert previous two patches. They cause miscompilation of ↵Chris Lattner2006-09-151-35/+1
| | | | | | MultiSource/Applications/Burg llvm-svn: 30397
* Revert my previous work on ArgumentPromotion. Further investigation has ↵Owen Anderson2006-09-151-34/+46
| | | | | | | | revealed these changes to be incorrect. They just weren't showing up in any of our current testcases. llvm-svn: 30385
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-142-4/+6
| | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. llvm-svn: 30374
* Initialize DontInternalize.Devang Patel2006-09-131-1/+2
| | | | llvm-svn: 30281
* Make inlining costs more accurate.Chris Lattner2006-09-091-3/+26
| | | | llvm-svn: 30231
* Make ArgumentPromotion handle recursive functions that pass pointers in ↵Owen Anderson2006-09-021-11/+33
| | | | | | their recursive calls. llvm-svn: 30057
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-2717-28/+32
| | | | llvm-svn: 29925
* Make it fit into 80 cols.Devang Patel2006-07-201-2/+2
| | | | llvm-svn: 29223
* Add new constructor to accept vector of exported names while creatingDevang Patel2006-07-201-0/+12
| | | | | | InternalizePass. llvm-svn: 29222
* Change the callgraph representation to store the callsite along with theChris Lattner2006-07-121-2/+2
| | | | | | | | | | | target CG node. This allows the inliner to properly update the callgraph when using the pruning inliner. The pruning inliner may not copy over all call sites from a callee to a caller, so the edges corresponding to those call sites should not be copied over either. This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll llvm-svn: 29120
* Fix PR820 and Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.llChris Lattner2006-07-071-0/+3
| | | | llvm-svn: 29071
* Fix Transforms/DeadArgElim/2006-06-27-struct-ret.ll. -deadargelim should notChris Lattner2006-06-271-5/+11
| | | | | | | remove the struct return argument of a csret function, even if it is obviously dead. llvm-svn: 28943
* Add missing casts. This fixed some regressions.Evan Cheng2006-06-161-2/+2
| | | | llvm-svn: 28834
* More libcall transformations:Evan Cheng2006-06-161-8/+110
| | | | | | | | printf("%s\n", str) -> puts(str) printf("%c", c) -> putchar(c) Also fixed fprintf(file, "%c", c) -> fputc(c, file) llvm-svn: 28815
* Simplify fprintf(file, "%s", str) to fputs(str, file).Evan Cheng2006-06-161-16/+36
| | | | llvm-svn: 28814
* Remove some dead variables.Chris Lattner2006-05-122-7/+2
| | | | | | Fix a nasty bug in the memcmp optimizer where we used the wrong variable! llvm-svn: 28269
* linear -> constant timeAndrew Lenharth2006-04-131-3/+3
| | | | llvm-svn: 27652
* Add a simple pass to make sure that all (non-library) calls to malloc and freeAndrew Lenharth2006-04-101-0/+92
| | | | | | | | | | 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. llvm-svn: 27560
* Strip changes to llvm.dbg intrinsics.Jim Laskey2006-03-231-7/+34
| | | | llvm-svn: 26993
* Teach the strip pass to strip type names in addition to value names. ThisChris Lattner2006-03-151-0/+5
| | | | | | is fallout from the type/value split in the symtab long long ago :) llvm-svn: 26785
* Handle the removal of the debug chain.Jim Laskey2006-03-131-1/+1
| | | | llvm-svn: 26729
* fix a pastoChris Lattner2006-03-091-1/+1
| | | | llvm-svn: 26627
* Switch to using a numeric id for anchors.Jim Laskey2006-03-071-3/+4
| | | | llvm-svn: 26598
* Fix ConstantMerge/2006-03-07-DontMergeDiffSections.ll, a problem JimChris Lattner2006-03-071-11/+14
| | | | | | | hypotheticalized about, where we would incorrectly merge two globals in different sections. llvm-svn: 26597
* Make this work with renamed intrinsics.Chris Lattner2006-03-031-26/+25
| | | | llvm-svn: 26482
* fix a bunch of alpha regressions. see bug 709Andrew Lenharth2006-02-151-6/+6
| | | | llvm-svn: 26218
* add a bunch more optimizations for unary double math functionsChris Lattner2006-01-231-18/+78
| | | | llvm-svn: 25530
* Refactor/genericize this, no functionality changeChris Lattner2006-01-231-16/+30
| | | | llvm-svn: 25525
* Make iostream #inclusion explicitChris Lattner2006-01-226-1/+7
| | | | llvm-svn: 25514
* Make this more efficient in the following ways:Chris Lattner2006-01-221-22/+37
| | | | | | | | | 1. Do not statically construct a map when the program starts up, this is expensive and cannot be optimized. Instead, create a list. 2. Do not insert entries for all function in the module into a hashmap that lives the full life of the compiler. llvm-svn: 25512
* Several non-functionality changing changes:Chris Lattner2006-01-221-311/+151
| | | | | | | | | 1. Use the varargs version of getOrInsertFunction to simplify code. 2. remove #include 3. Reduce the number of #ifdef's. 4. remove extraneous vertical whitespace. llvm-svn: 25508
* For PR696:Reid Spencer2006-01-191-0/+9
| | | | | | | | Don't do floor->floorf conversion if floorf is not available. This checks the compiler's host, not its target, which is incorrect for cross-compilers Not sure that's important as we don't build many cross-compilers. llvm-svn: 25456
* If not internalizing, don't mark llvm.global[cd]tors const, as a fix for aChris Lattner2006-01-191-2/+5
| | | | | | hypothetical future boog. llvm-svn: 25430
* Don't internalize llvm.global[cd]tor unless there are uses of it. ThisChris Lattner2006-01-191-3/+9
| | | | | | unbreaks front-ends that don't use __main (like the new CFE). llvm-svn: 25429
* Clean up the FFS optimization code, and make it correctly create the appropriateChris Lattner2006-01-171-41/+43
| | | | | | | unsigned llvm.cttz.* intrinsic, fixing the 2005-05-11-Popcount-ffs-fls regression last night. llvm-svn: 25398
* Let the inliner update the callgraph to reflect the changes it makes, insteadChris Lattner2006-01-141-12/+2
| | | | | | of doing it ourselves. This fixes Transforms/Inline/2006-01-14-CallGraphUpdate.ll llvm-svn: 25321
OpenPOWER on IntegriCloud