2010-08-29 7 views
11

मैं एलएलवीएम के साथ एक कंपाइलर लिख रहा हूं। प्रत्येक स्रोत फ़ाइल को एक एलएलवीएम बिटकोड फ़ाइल में संकलित किया जाता है। आखिर में लिंकर सभी बिटकोड फ़ाइलों को एक अंतिम बाइनरी में जोड़ता है और अनुकूलित करता है।क्या एलएलवीएम बिटकोड फ़ाइल को एलएलएमएम :: मॉड्यूल में पढ़ना संभव है?

मुझे प्रकार की जानकारी तक पहुंचने के लिए कंपाइलर में बिटकोड फ़ाइलों को पढ़ने का एक तरीका चाहिए। एलएलवीएम दस्तावेज BitcodeReader नामक एक वर्ग दिखाता है, लेकिन यह एलएलवीएम के लिए आंतरिक प्रतीत होता है।

क्या llvm::Module में बिटकोड फ़ाइल पढ़ने के लिए कोई सार्वजनिक रूप से सुलभ तरीका है?

+0

एलएलवीएम के साथ अपने छोटे अनुभव से मुझे इंप्रेशन था कि बिटकोड एलएलवीएम के लिए आंतरिक है: बिटकोड फ़ाइलों को पढ़ने में कुछ भी नहीं है। – Dummy00001

उत्तर

13

मैं llvm-dis उपकरण के लिए स्रोत के माध्यम से देखा और समारोह मैं खोज रहा था पाया:

Module *ParseBitcodeFile(MemoryBuffer *Buffer, LLVMContext& Context, 
         std::string *ErrMsg = 0); 
llvm/Bitcode/ReaderWriter.h से

+0

वही है जो आपको चाहिए। –

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