aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/PIC16/PIC16Passes/PIC16Cloner.cpp
AgeCommit message (Collapse)Author
2010-10-11Per discussion with Sanjiv, remove the PIC16 target from mainline. When/ifChris Lattner
it comes back, it will be largely a rewrite, so keeping the old codebase in tree isn't helping anyone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116190 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-26Reapply r112091 and r111922, support for metadata linking, with aDan Gohman
fix: add a flag to MapValue and friends which indicates whether any module-level mappings are being made. In the common case of inlining, no module-level mappings are needed, so MapValue doesn't need to examine non-function-local metadata, which can be very expensive in the case of a large module with really deep metadata (e.g. a large C++ program compiled with -g). This flag is a little awkward; perhaps eventually it can be moved into the ClonedCodeInfo class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112190 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24Use ValueMap instead of DenseMap.Devang Patel
The ValueMapper used by various cloning utility maps MDNodes also. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15Add const qualifiers to CodeGen's use of LLVM IR constructs.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-26The cloner has nothing to do if any of the main or ISR entrypoints are not Sanjiv Gupta
present in the module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97232 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-26Reapply things reverted back in 97220, with the fixed test case.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97228 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-26Revert r97211 and r97213 to get the build green again.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97220 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-26Currently in LLVM, names of libcalls are assigned during TargetLoweringSanjiv Gupta
object construction. There is no provision to change them when the code for a function generated. So we have to change these names while printing assembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18Remap the call sites of a shared function in interrupt line functions.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96591 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-18Re-factoring.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96589 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Added routine to clone the body of a function and maintain a map of alreadySanjiv Gupta
cloned functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Added a function to clone locals of a function.( which for pic16 are globalsSanjiv Gupta
with mangled names). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96465 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Initial implementation of PIC16 Cloner pass.Sanjiv Gupta
This pass is supposed to be run on the linked .bc module. It traveses the module call graph twice. Once starting from the main function and marking each reached function as "ML". Again, starting from the ISR and cloning any reachable function that was marked as "ML". After cloning the function, it remaps all the call sites in IL functions to call the cloned functions. Currently only marking is being done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96435 91177308-0d34-0410-b5e6-96231b3b80d8