タグ

allocaに関するmasterqのブックマーク (1)

  • 7.3. LLVMにおけるメモリ – 日曜研究室

    LLVMによるプログラミング言語の実装チュートリアル日語訳 第7章 万華鏡: 言語の拡張: 変更可能な変数(Mutable Variables) 第3節 LLVMにおけるメモリ LLVMは全てのレジスタをSSA形式にすることを要求するが、メモリオブジェクトに関してはSSA形式であることを要求しない(もしくは許可ししない)という点がミソである。 前節の例においては、GやHからの読み込みは、GやHに対する直接的なアクセスである。(GやHは、リネームされたりバージョン付けされていない。) これは、メモリオブジェクトをバージョン付けしようとする他のコンパイラシステムとは違っている。 LLVMでは、メモリのデータフロー解析をLLVM IRにエンコードせずに、必要に応じて計算される解析パス(Analysis Passes)によって処理する。 これを踏まえて、関数の中における変更可能なオブジェクトのた

    masterq
    masterq 2019/03/11
    mem2regの最適化について
  • 1