2013-02-04 15 views
6

में कोई फ़ंक्शन कैसे सम्मिलित करें मैं एक एलएलवीएम पास लिख रहा हूं, जहां मैंने llvm::CloneFunction पर कॉल करके कुछ फ़ंक्शन क्लोन किए हैं। अब मैं मॉड्यूल में उन कार्यों को भी सम्मिलित करना चाहता हूं। मैं उसे कैसे कर सकता हूँ?एलएलवीएम मॉड्यूल

+0

मैं एक एलएलवीएम एपीआई फ़ंक्शन ढूंढने की कोशिश कर रहा हूं जो ऐसा करता है, लेकिन फिर भी एक खोजने में असमर्थ हूं। – MetallicPriest

उत्तर

6
  • Function::Create या अन्य माध्यमों के साथ एक नया फ़ंक्शन बनाएं। Function के रचनाकार एक मॉड्यूल स्वीकार करते हैं जिसमें नया फ़ंक्शन डालने के लिए।
  • CloneFunctionInto के साथ उस नए फ़ंक्शन में फ़ंक्शन क्लोन करें, या बस आपको आवश्यक बीबी पर कॉपी करें।
0

तुम इतनी

Function* duplicateFunction = CloneFunction(F, VMap, 
               /*ModuleLevelChanges=*/false); 
    F->getParent()->getFunctionList().push_back(duplicateFunction); 

उदाहरण LLVM स्रोत में PartialInlining.cpp से चोरी की तरह बाद में CloneFunction का उपयोग करें और मॉड्यूल में डाल सकते हैं।

संबंधित मुद्दे