summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/CodeExtractor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move code to update dominator information after basic block is splitDevang Patel2007-06-211-13/+2
| | | | | | from LoopSimplify.cpp to Dominator.cpp llvm-svn: 37689
* Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient.Devang Patel2007-06-071-16/+15
| | | | llvm-svn: 37501
* s/DominatorTree::createNewNode/DominatorTree::addNewBlock/gDevang Patel2007-06-041-1/+1
| | | | llvm-svn: 37415
* Add basic block level interface to change immediate dominatorDevang Patel2007-06-041-2/+2
| | | | | | and create new node. llvm-svn: 37414
* Use new ETForest accessor.Owen Anderson2007-04-181-4/+4
| | | | llvm-svn: 36248
* Removed tabs everywhere except autogenerated & external files. Add makeAnton Korobeynikov2007-04-161-1/+1
| | | | | | target for tabs checking. llvm-svn: 36146
* Expunge DomSet from CodeExtractor. This is part of the continuing workOwen Anderson2007-04-071-19/+21
| | | | | | on PR1171. llvm-svn: 35726
* Change uses of Function::front to Function::getEntryBlock for readability.Dan Gohman2007-03-221-1/+1
| | | | llvm-svn: 35265
* Eliminate use of ctors that take vectors.Chris Lattner2007-02-131-1/+1
| | | | llvm-svn: 34219
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-1/+2
| | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939
* eliminate temporary vectorsChris Lattner2007-01-311-16/+13
| | | | llvm-svn: 33713
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-1/+1
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-111-1/+1
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-1/+1
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* For PR950:Reid Spencer2006-12-311-12/+12
| | | | | | | | | | | | | This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. llvm-svn: 32785
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-2/+2
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Remove #include <iostream> and use llvm_* streams instead.Bill Wendling2006-11-261-11/+11
| | | | llvm-svn: 31925
* For PR950:Reid Spencer2006-10-201-7/+7
| | | | | | | | 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
* simplify codeChris Lattner2006-09-281-1/+1
| | | | llvm-svn: 30656
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25509
* Remove trailing whitespaceMisha Brukman2005-04-211-20/+20
| | | | llvm-svn: 21427
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-4/+4
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* switchinst ctor now takes a hint for the number of cases that it will have.Chris Lattner2005-01-291-1/+1
| | | | llvm-svn: 19898
* Allow constructor parameter to override aggregating args; fix spacingMisha Brukman2004-11-201-2/+2
| | | | llvm-svn: 18028
* Fix: CodeExtractor/2004-11-12-InvokeExtract.llChris Lattner2004-11-131-2/+16
| | | | llvm-svn: 17699
* Fix a bug where the code extractor would get a bit confused handling invokeChris Lattner2004-11-121-1/+13
| | | | | | instructions, setting DefBlock to a block it did not have dom info for. llvm-svn: 17697
* Convert code to compile with vc7.1.Reid Spencer2004-09-151-7/+8
| | | | | | Patch contributed by Paolo Invernizzi. Thanks Paolo! llvm-svn: 16368
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | 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
* If we are extracting a block that has multiple successors that are the sameChris Lattner2004-08-131-2/+11
| | | | | | | | | block (common in a switch), make sure to remove extra edges in successor blocks. This fixes CodeExtractor/2004-08-12-BlockExtractPHI.ll and should be pulled into LLVM 1.3 (though the regression test need not be, as that would require pulling in the LoopExtract.cpp changes). llvm-svn: 15717
* When we code extract some stuff, leave the codeRepl block in the place whereChris Lattner2004-08-131-1/+1
| | | | | | the extracted code was, instead of putting it at the end of the function llvm-svn: 15716
* Fix code extraction of unwind blocks. This fixed bugs that bugpoint canChris Lattner2004-08-121-9/+12
| | | | | | run into. This should go into 1.3 llvm-svn: 15679
* These files don't need to include <iostream> since they include ↵Brian Gaeke2004-07-211-1/+0
| | | | | | "Support/Debug.h". llvm-svn: 15089
* Progress on PR341Chris Lattner2004-07-151-4/+4
| | | | llvm-svn: 14840
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+1
| | | | llvm-svn: 14622
* Do not pass a null pointer if this instruction is not prepended orAlkis Evlogimenos2004-05-261-2/+2
| | | | | | appended anywhere. llvm-svn: 13798
* Do not pass in the same argument to the extracted function more than once, andChris Lattner2004-05-121-1/+8
| | | | | | give the extracted function a more useful name than just foo_code. llvm-svn: 13493
* Implement support for code extracting basic blocks that have a returnChris Lattner2004-05-121-2/+12
| | | | | | instruction in them. llvm-svn: 13490
* Implement splitting of PHI nodes, allowing block extraction of BB's that haveChris Lattner2004-05-121-7/+96
| | | | | | | | | | PHI node entries from multiple outside-the-region blocks. This also fixes extraction of the entry block in a function. Yaay. This has successfully block extracted all (but one) block from the score_move function in obsequi (out of 33). Hrm, I wonder which block the bug is in. :) llvm-svn: 13489
* * Pull some code out into the definedInRegion/definedInCaller methodsChris Lattner2004-05-121-78/+78
| | | | | | | | | | | | | | | | * Add a stub for the severSplitPHINodes which will allow us to bbextract bb's with PHI nodes in them soon. * Remove unused arguments from findInputsOutputs * Dramatically simplify the code in findInputsOutputs. In particular, nothing really cares whether or not a PHI node is using something. * Move moveCodeToFunction to after emitCallAndSwitchStatement as that's the order they get called. * Fix a bug where we would code extract a region that included a call to vastart. Like 'alloca', calls to vastart must stay in the function that they are defined in. * Add some comments. llvm-svn: 13482
* Generate substantially better code when there are a limited number of exitsChris Lattner2004-05-121-22/+61
| | | | | | | | | | | from the extracted region. If the return has 0 or 1 exit blocks, the new function returns void. If it has 2 exits, it returns bool, otherwise it returns a ushort as before. This allows us to use a conditional branch instruction when there are two exit blocks, as often happens during block extraction. llvm-svn: 13481
* Two minor improvements:Chris Lattner2004-05-121-18/+14
| | | | | | | | | | | | 1. Get rid of the silly abort block. When doing bb extraction, we get one abort block for every block extracted, which is kinda annoying. 2. If the switch ends up having a single destination, turn it into an unconditional branch. I would like to add support for conditional branches, but to do this we will want to have the function return a bool instead of a ushort. llvm-svn: 13478
* * Allow aggregating extracted function arguments (controlled by flag)Misha Brukman2004-04-231-45/+197
| | | | | | * Commandline option (for now) controls that flag that is passed in llvm-svn: 13141
* Fix bug: CodeExtractor/2004-03-17-MissedLiveIns.llChris Lattner2004-03-181-0/+5
| | | | | | | With this fix we now successfully extract all 149 loops from 256.bzip2 without crashing or miscompiling the program! llvm-svn: 12493
* Fix CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.llChris Lattner2004-03-181-0/+13
| | | | llvm-svn: 12489
* Seriously simplify and correct the PHI node handling code.Chris Lattner2004-03-181-162/+28
| | | | llvm-svn: 12487
* Fix CodeExtractor/2004-03-17-OutputMismatch.llChris Lattner2004-03-181-3/+7
| | | | llvm-svn: 12486
* Fix several bugs in the extractor:Chris Lattner2004-03-181-45/+52
| | | | | | | | | | | | 1. Names were not put on the new arguments created (ok, this just helps sanity :) 2. Fix outgoing pointer values 3. Do not insert stores for values that had not been computed 4. Fix some wierd problems with the outset calculation This fixes CodeExtractor/2004-03-14-DominanceProblem.ll, making the extractor work on at least one simple case! llvm-svn: 12484
* Prune #includes, moving the module interface to the front. Note that thisChris Lattner2004-03-181-2/+1
| | | | | | | exposed the fact that the header was not self-contained. There is a reason we do things :) llvm-svn: 12481
* Mostly cosmetic improvements. Do fix the bug where a global value was ↵Chris Lattner2004-03-151-35/+23
| | | | | | considered an input. llvm-svn: 12406
* Assert that input blocks meet the invariants we expectChris Lattner2004-03-151-42/+38
| | | | | | | | Simplify the input/output finder. All elements of a basic block are instructions. Any used arguments are also inputs. An instruction can only be used by another instruction. llvm-svn: 12405
OpenPOWER on IntegriCloud