私はllvmインライン化の仕組み(Inlinerクラス)を理解しようとしています。私が理解できない操作は以下の通りです。インライン化はどのようにLLVMで動作しますか?
SmallVector<std::pair<CallSite, int>, 16> CallSites;
の場合、SmallVectorはllvmクラスです。特に、私はこのコードで "16"の機能が何であるか分かりません。
私はllvmインライン化の仕組み(Inlinerクラス)を理解しようとしています。私が理解できない操作は以下の通りです。インライン化はどのようにLLVMで動作しますか?
SmallVector<std::pair<CallSite, int>, 16> CallSites;
の場合、SmallVectorはllvmクラスです。特に、私はこのコードで "16"の機能が何であるか分かりません。
は、各要素がstd::pair<CallSite, int>
の16要素であると宣言しています。
編集:Eliが正しく指摘したように、SmallVectorのサイズを動的に変更することができます。 16は組み込みサイズに過ぎません(これは、ヒープ割り当てで最大16個の要素を格納する必要がないことを意味します)。
Googleの最初のヒットかもしれませんか? http://llvm.org/docs/doxygen/html/classllvm_1_1SmallVector.html?ごめんなさい。 –