<div dir="ltr"><div>Hi, I'm Ryo Ota. I have two questions about `llvm::LLVMContext`.</div><div><br></div><div>Q1) What is the difference between the following (A)`my_context` and (B)`global_context`?</div><div>Do I have to create a LLVMContext by myself? Or use `getGlobalContext()`? </div><div>Could you tell me what situation needs a LLVMContext which is created by myself such as (A)?</div><div><br></div><div>(A)</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>llvm::LLVMContext my_context;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>// codes using only my_context (get Int32ty() or StructType::create or etc...)</div><div>}</div><div><br></div><div>(B)</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>llvm::LLVMContext &globa_context = llvm::getGlobalContext();</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>// codes using only globa_context (get Int32ty() or StructType::create or etc...)</div><div>}</div><div><br></div><div><br></div><div>Q2) What situation do I need to create multiple `LLVMContext`s?</div><div>I don't know the situation used multiple `LLVMContext`s.</div><div><br></div><div>For example,</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>llvm::LLVMContext ctx1;</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>// some code</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">   </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>llvm::LLVMContext ctx2;</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>// some code</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">   </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>llvm::LLVMContext ctx3;</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>// some code</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>}</div><div>}</div><div><br></div><div>or </div><div><br></div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>llvm::LLVMContext ctxs[] = {....}</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>// some code</div><div>}</div><div><br></div><div>I'd like to know the appropriate usage of LLVMContext. Thak you very much for reading.</div><div><br></div><div>Sincerely,</div><div><br></div><div>Ryo</div></div>