| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | dont specialize weak functions and the like | Nuno Lopes | 2008-10-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 57305 | ||||
| * | Ignore loads from and stores to local memory (i.e. allocas) | Duncan Sands | 2008-10-04 | 1 | -9/+26 |
| | | | | | | | | | when deciding whether to mark a function readnone/readonly. Since the pass is currently run before SROA, this may be quite helpful. Requested by Chris on IRC. llvm-svn: 57050 | ||||
| * | Clean up some multiple-return-value code that is no longer | Dan Gohman | 2008-10-03 | 1 | -5/+1 |
| | | | | | | | applicable. llvm-svn: 57033 | ||||
| * | Teach internalize to preserve the callgraph. | Duncan Sands | 2008-10-03 | 1 | -0/+7 |
| | | | | | | | Why? Because it was there! llvm-svn: 56996 | ||||
| * | revert the addition of Preverves(CallGraph), per Duncan's comments | Nuno Lopes | 2008-10-01 | 1 | -2/+0 |
| | | | | | llvm-svn: 56917 | ||||
| * | add preserversCFG() + preservers(CallGraph) | Nuno Lopes | 2008-09-30 | 1 | -0/+6 |
| | | | | | llvm-svn: 56887 | ||||
| * | add AU.setPreservesCFG() since this pass only adds and removes function ↵ | Nuno Lopes | 2008-09-30 | 1 | -0/+5 |
| | | | | | | | attributes llvm-svn: 56868 | ||||
| * | Speed up these passes when the callgraph has | Duncan Sands | 2008-09-29 | 2 | -4/+16 |
| | | | | | | | | huge simply connected components. Suggested by Chris. llvm-svn: 56787 | ||||
| * | remove redundant test (mayBeOverriden() includes hasLinkOnceLinkage) | Nuno Lopes | 2008-09-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 56786 | ||||
| * | Tweak some comments. | Duncan Sands | 2008-09-29 | 1 | -4/+6 |
| | | | | | llvm-svn: 56784 | ||||
| * | Rename isWeakForLinker to mayBeOverridden. Use it | Duncan Sands | 2008-09-29 | 3 | -3/+3 |
| | | | | | | | | instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782 | ||||
| * | Implement function notes as function attributes. | Devang Patel | 2008-09-26 | 3 | -3/+4 |
| | | | | | llvm-svn: 56716 | ||||
| * | Now Attributes are divided in three groups | Devang Patel | 2008-09-26 | 5 | -19/+44 |
| | | | | | | | | | | | | | | - return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. This patch requires corresponding changes in llvm-gcc and clang. llvm-svn: 56704 | ||||
| * | Large mechanical patch. | Devang Patel | 2008-09-25 | 10 | -90/+90 |
| | | | | | | | | | | | | | | | | s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622 | ||||
| * | s/ParamAttrsWithIndex/FnAttributeWithIndex/g | Devang Patel | 2008-09-24 | 3 | -19/+19 |
| | | | | | llvm-svn: 56535 | ||||
| * | Put FN_NOTE_AlwaysInline and others in FnAttr namespace. | Devang Patel | 2008-09-24 | 3 | -3/+3 |
| | | | | | llvm-svn: 56527 | ||||
| * | Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace. | Devang Patel | 2008-09-23 | 3 | -3/+3 |
| | | | | | | | Do not check isDeclaration() in hasNote(). It is clients' responsibility. llvm-svn: 56524 | ||||
| * | s/ParameterAttributes/Attributes/g | Devang Patel | 2008-09-23 | 4 | -15/+15 |
| | | | | | llvm-svn: 56513 | ||||
| * | Use parameter attribute store (soon to be renamed) for | Devang Patel | 2008-09-23 | 3 | -3/+3 |
| | | | | | | | Function Notes also. Function notes are stored at index ~0. llvm-svn: 56511 | ||||
| * | Add hasNote() to check note associated with a function. | Devang Patel | 2008-09-22 | 3 | -3/+3 |
| | | | | | llvm-svn: 56477 | ||||
| * | Initial support for the CMake build system. | Oscar Fuentes | 2008-09-22 | 1 | -0/+24 |
| | | | | | llvm-svn: 56419 | ||||
| * | Implement review feedback from Devang: make use | Duncan Sands | 2008-09-20 | 1 | -26/+11 |
| | | | | | | | of mayReadFromMemory and mayWriteToMemory. llvm-svn: 56387 | ||||
| * | Add a new pass AddReadAttrs which works out which functions | Duncan Sands | 2008-09-19 | 1 | -0/+135 |
| | | | | | | | | | | can get the readnone/readonly attributes, and gives them it. The plan is to remove markmodref (which did the same thing by querying GlobalsModRef) and delete the analogous functionality from GlobalsModRef. llvm-svn: 56341 | ||||
| * | Make safer variant of alias resolution routine to be default | Anton Korobeynikov | 2008-09-09 | 1 | -2/+1 |
| | | | | | llvm-svn: 56005 | ||||
| * | Resolve aliases, when possible | Anton Korobeynikov | 2008-09-09 | 1 | -0/+22 |
| | | | | | llvm-svn: 56001 | ||||
| * | Update the callgraph correctly. | Duncan Sands | 2008-09-08 | 1 | -1/+4 |
| | | | | | llvm-svn: 55896 | ||||
| * | Update the callgraph correctly in ArgumentPromotion. | Duncan Sands | 2008-09-08 | 1 | -0/+7 |
| | | | | | llvm-svn: 55895 | ||||
| * | Reapply 55859. This doesn't change anything as | Duncan Sands | 2008-09-08 | 1 | -7/+4 |
| | | | | | | | | long as the callgraph is correct. It checks for wrong callgraphs more strictly. llvm-svn: 55894 | ||||
| * | Correct a comment and strip trailing whitespace. | Duncan Sands | 2008-09-07 | 1 | -25/+25 |
| | | | | | llvm-svn: 55883 | ||||
| * | fix crash when the malloc/free function is defined or is a declaration with ↵ | Nuno Lopes | 2008-09-06 | 1 | -4/+2 |
| | | | | | | | | | 0 parameters. this pass doesnt seem to be used, but still it's now a little more correct llvm-svn: 55873 | ||||
| * | When PruneEH turned an invoke into an ordinary | Duncan Sands | 2008-09-06 | 1 | -0/+6 |
| | | | | | | | | | | | | | call (thus changing the call site) it didn't inform the callgraph about this. But the call site does matter - as shown by the testcase, the callgraph become invalid after the inliner ran (with an edge between two functions simply missing), resulting in wrong deductions by GlobalsModRef. llvm-svn: 55872 | ||||
| * | Revert r55859. This is breaking the build in the abscence of its companion ↵ | Owen Anderson | 2008-09-05 | 1 | -4/+7 |
| | | | | | | | commit. llvm-svn: 55865 | ||||
| * | Delete the removeCallEdgeTo callgraph method, | Duncan Sands | 2008-09-05 | 1 | -7/+4 |
| | | | | | | | | | | | | | | | | because it does not maintain a correct list of callsites. I discovered (see following commit) that the inliner will create a wrong callgraph if it is fed a callgraph with correct edges but incorrect callsites. These were created by Prune-EH, and while it wasn't done via removeCallEdgeTo, it could have been done via removeCallEdgeTo, which is an accident waiting to happen. Use removeCallEdgeFor instead. llvm-svn: 55859 | ||||
| * | Use removeAllCalledFunctions rather than removing | Duncan Sands | 2008-09-05 | 1 | -5/+3 |
| | | | | | | | edges one by one by hand. llvm-svn: 55836 | ||||
| * | Make this pass return that it made a change if | Duncan Sands | 2008-09-05 | 1 | -1/+5 |
| | | | | | | | it modifies a functions attributes. llvm-svn: 55831 | ||||
| * | try to seperate the mechanism into something others can use | Andrew Lenharth | 2008-09-04 | 1 | -20/+70 |
| | | | | | llvm-svn: 55785 | ||||
| * | Tidy up several unbeseeming casts from pointer to intptr_t. | Dan Gohman | 2008-09-04 | 19 | -25/+25 |
| | | | | | llvm-svn: 55779 | ||||
| * | cleanup as per Duncan's review | Andrew Lenharth | 2008-09-04 | 1 | -33/+42 |
| | | | | | llvm-svn: 55766 | ||||
| * | Update inline threshold for current function if the notes say, optimize for ↵ | Devang Patel | 2008-09-03 | 1 | -2/+9 |
| | | | | | | | size. llvm-svn: 55745 | ||||
| * | Initial version of a Partial Specialization IPO pass. It triggers a couple ↵ | Andrew Lenharth | 2008-09-03 | 1 | -0/+127 |
| | | | | | | | hundred times on 176.gcc. I don't know the performance impact yet, the heuristic is quite simple still. llvm-svn: 55734 | ||||
| * | Fix typo in a comment. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55720 | ||||
| * | Add parentheses to make code more readable. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55717 | ||||
| * | Fix comments. | Devang Patel | 2008-09-03 | 1 | -2/+3 |
| | | | | | llvm-svn: 55716 | ||||
| * | Add custom inliner that handles only functions that are marked as always_inline. | Devang Patel | 2008-09-03 | 1 | -0/+70 |
| | | | | | llvm-svn: 55713 | ||||
| * | Handle "always inline" note during inline cost analysis. | Devang Patel | 2008-09-03 | 1 | -6/+1 |
| | | | | | llvm-svn: 55712 | ||||
| * | Check noinline note and ignore other notes. | Devang Patel | 2008-09-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 55711 | ||||
| * | Handle "noinline" note inside the simple inliner. | Devang Patel | 2008-09-03 | 2 | -4/+7 |
| | | | | | llvm-svn: 55708 | ||||
| * | s/FP_AlwaysInline/FN_NOTE_AlwaysInline/g | Devang Patel | 2008-09-02 | 1 | -2/+2 |
| | | | | | llvm-svn: 55676 | ||||
| * | respect inline=never and inline=always notes. | Devang Patel | 2008-09-02 | 1 | -1/+8 |
| | | | | | llvm-svn: 55673 | ||||
| * | Use empty() instead of begin() == end(). | Dan Gohman | 2008-08-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 54780 | ||||

