summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
Commit message (Collapse)AuthorAgeFilesLines
...
* Reapply 79977.Devang Patel2009-08-282-4/+4
| | | | | | Use MDNodes to encode debug info in llvm IR. llvm-svn: 80406
* unbreak the build, yay for symlinks + makefiles. :(Chris Lattner2009-08-271-1/+1
| | | | llvm-svn: 80205
* enhance InlineFunction to be able to optionally returnChris Lattner2009-08-271-6/+15
| | | | | | a the list of static allocas that it inlined. llvm-svn: 80203
* smallvectorize the list of returns built by CloneAndPruneFunctionInto.Chris Lattner2009-08-273-8/+8
| | | | llvm-svn: 80202
* remove CloneTrace, which appears to be dead since 2004.Chris Lattner2009-08-272-120/+0
| | | | llvm-svn: 80201
* reduce inlining factor some stuff out to a static helper function,Chris Lattner2009-08-271-126/+155
| | | | | | and other code cleanups. No functionality change. llvm-svn: 80199
* Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.Devang Patel2009-08-262-4/+4
| | | | llvm-svn: 80073
* Eliminate the unused Context argument on one of the ICmpInst and FCmpInstDan Gohman2009-08-251-1/+1
| | | | | | constructors. llvm-svn: 80049
* Rename Instruction::isIdenticalTo to Instruction::isIdenticalToWhenDefined,Dan Gohman2009-08-252-4/+10
| | | | | | | | | | | | | | | | and introduce a new Instruction::isIdenticalTo which tests for full identity, including the SubclassOptionalData flags. Also, fix the Instruction::clone implementations to preserve the SubclassOptionalData flags. Finally, teach several optimizations how to handle SubclassOptionalData correctly, given these changes. This fixes the counterintuitive behavior of isIdenticalTo not comparing the full value, and clone not returning an identical clone, as well as some subtle bugs that could be caused by these. Thanks to Nick Lewycky for reporting this, and for an initial patch! llvm-svn: 80038
* Comment-ify.Owen Anderson2009-08-251-0/+3
| | | | llvm-svn: 80009
* Switch to SmallVector.Owen Anderson2009-08-251-2/+2
| | | | llvm-svn: 80007
* Pull out this predicate loop into a helper function.Owen Anderson2009-08-251-11/+15
| | | | llvm-svn: 80006
* Update DebugInfo interface to use metadata, instead of special named ↵Devang Patel2009-08-252-4/+4
| | | | | | | | llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) llvm-svn: 79977
* Handle a corner case when extracing code regions where one of the immediate ↵Owen Anderson2009-08-251-2/+20
| | | | | | | | | | successor of an extracted block contains a PHI using a value defined in the extracted region. With this patch, the partial inliner now passes MultiSource/Applications. llvm-svn: 79963
* When extracting SEME regions of code, the extractor needs to update the ↵Owen Anderson2009-08-241-2/+18
| | | | | | dominator tree for split return blocks. llvm-svn: 79957
* Fix -Asserts warnings.Daniel Dunbar2009-08-231-0/+3
| | | | llvm-svn: 79849
* Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner2009-08-231-1/+1
| | | | | | update all code that this affects. llvm-svn: 79830
* eliminate the "Value" printing methods that print to a std::ostream.Chris Lattner2009-08-234-45/+46
| | | | | | This required converting a bunch of stuff off DOUT and other cleanups. llvm-svn: 79819
* Fix up PHI nodes correctly in the presence of unreachable BBs, part two. AlsoNick Lewycky2009-08-191-7/+30
| | | | | | delete a newed pointer, and improve readability a little bit. llvm-svn: 79411
* Be more careful when modifying PHI nodes. Patch by Andre Tavares.Nick Lewycky2009-08-191-1/+2
| | | | llvm-svn: 79407
* Update comments to new-style syntax.Dan Gohman2009-08-171-2/+2
| | | | llvm-svn: 79263
* Don't crash on critical edge. Patch by Andre Tavares.Nick Lewycky2009-08-171-1/+1
| | | | llvm-svn: 79252
* Fix for PR3016: detect the tricky case, where there are Eli Friedman2009-08-161-59/+37
| | | | | | | | | | | | | | | | unfoldable references to a PHI node in the block being folded, and disable the transformation in that case. The correct transformation of such PHI nodes depends on whether BB dominates Succ, and dominance is expensive to compute here. (Alternatively, it's possible to check whether any uses are live, but that's also essentially a dominance calculation. Another alternative is to use reg2mem, but it probably isn't a good idea to use that in simplifycfg.) Also, remove some incorrect code from CanPropagatePredecessorsForPHIs which is made unnecessary with this patch: it didn't consider the case where a PHI node in BB has multiple uses. llvm-svn: 79174
* SSI construction should just go ahead and ignore instructions in unreachableNick Lewycky2009-08-151-2/+6
| | | | | | blocks. llvm-svn: 79132
* Actually privatize a IntegerTypes, and fix a few bugs exposed by this.Owen Anderson2009-08-131-1/+1
| | | | llvm-svn: 78955
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-1313-100/+131
| | | | llvm-svn: 78948
* Remove a bunch more now-unnecessary Context arguments.Dan Gohman2009-08-122-8/+5
| | | | llvm-svn: 78809
* Remove unnecessary casts.Dan Gohman2009-08-111-1/+1
| | | | llvm-svn: 78664
* Fix a bunch of namespace pollution.Dan Gohman2009-08-071-0/+3
| | | | llvm-svn: 78363
* Privatize the StructType table, which unfortunately involves routing ↵Owen Anderson2009-08-052-3/+3
| | | | | | contexts through a number of APIs. llvm-svn: 78258
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-314-32/+17
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Move more code back to 2.5 APIs.Owen Anderson2009-07-308-21/+16
| | | | llvm-svn: 77635
* Twines: Don't allow implicit conversion from integers, this is too tricky.Daniel Dunbar2009-07-301-1/+1
| | | | llvm-svn: 77605
* Switch obvious clients to Twine instead of utostr (when they were already usingDaniel Dunbar2009-07-301-3/+2
| | | | | | | | | a Twine, e.g., for names). - I am a little ambivalent about this; we don't want the string conversion of utostr, but using overload '+' mixed with string and integer arguments is sketchy. On the other hand, this particular usage is something of an idiom. llvm-svn: 77579
* Move types back to the 2.5 API.Owen Anderson2009-07-295-17/+15
| | | | llvm-svn: 77516
* Remove now unused Context variables.Benjamin Kramer2009-07-291-1/+0
| | | | llvm-svn: 77495
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-294-8/+8
| | | | llvm-svn: 77494
* Rename MDNode.h header. It defines MDnode and other metadata classes.Devang Patel2009-07-281-1/+1
| | | | | | New name is Metadata.h. llvm-svn: 77370
* Return ConstantVector to 2.5 API.Owen Anderson2009-07-281-1/+1
| | | | llvm-svn: 77366
* Change ConstantArray to 2.5 API.Owen Anderson2009-07-282-3/+3
| | | | llvm-svn: 77347
* Fix a small little typo.Mike Stump2009-07-281-1/+1
| | | | llvm-svn: 77289
* Fix a release-asserts warning. Debug functions should be marked used,Mike Stump2009-07-271-0/+2
| | | | | | | if there are no other uses. If people don't need this routine anymore, if should be deleted. llvm-svn: 77274
* Avoid build warnings.Mike Stump2009-07-271-0/+1
| | | | llvm-svn: 77271
* Move ConstantStruct back to 2.5 API.Owen Anderson2009-07-271-1/+1
| | | | llvm-svn: 77266
* Do not seed mstadata into the value map.Devang Patel2009-07-271-25/+4
| | | | llvm-svn: 77208
* Remove Value::getName{Start,End}, the last of the old Name APIs.Daniel Dunbar2009-07-261-12/+12
| | | | llvm-svn: 77152
* Remove Value::{isName, getNameRef}.Daniel Dunbar2009-07-251-1/+1
| | | | | | Also, change MDString to use a StringRef. llvm-svn: 77098
* Convert a few more uses of llvm/Support/Streams.h to raw_ostream.Dan Gohman2009-07-252-18/+11
| | | | llvm-svn: 77033
* Make AliasAnalysis and related classes useDan Gohman2009-07-251-1/+1
| | | | | | getAnalysisIfAvailable<TargetData>(). llvm-svn: 77028
* More migration to raw_ostream, the water has dried up around the iostream hole.Daniel Dunbar2009-07-252-6/+8
| | | | | | | | | | - Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. llvm-svn: 77019
OpenPOWER on IntegriCloud