タグ

clangに関するhiroyukimのブックマーク (3)

  • C++初心者会で話題になったClangの相互再帰バグについて - ボレロ村上 - ENiyGmaA Code

    中3女子です。 歌舞伎座.tech#8「C++初心者会」という勉強会が先日あり、自称初心者やクソザコによるさまざまな発表がおこなわれた。自分は参加できなかったので、いくつかの発表をニコ生で視聴した。 その中に、@wx257osn2 氏による constexpr ラムダライブラリを実装したという発表があった。実装にあたっては Clang のバグに対処するワークアラウンドを書くのに苦労したという。さもありなん。Clang は全体的な規格準拠度ではおおむね GCC 以上といってよいが、constexpr 関係ではいまだに致命的なバグを残している。それがどのようなバグなのか応答で齟齬があったようなので、脇からの補足をここに記しておく。 Clang の constexpr 関係の致命的なバグとは、相互再帰におけるバグである。相互再帰する constexpr 関数テンプレートを実体化すると、テンプレー

    C++初心者会で話題になったClangの相互再帰バグについて - ボレロ村上 - ENiyGmaA Code
  • qrintfの最適化 - 開発日記

    H2Oの内部では,数値,文字列のフォーマッタとしてsprintfが用いられています. 我々は,最近までsprintf専用ソースコード変換器, qrintfのチューニングを行っていました. 稿ではqrintfの概要と今回適応した工夫,そして今後の課題についてまとめておきます. 1. qrintfとは? qrintfとはCコンパイラの1つであるgccのプリプロセッサのラッパーであり,snprintfを高速化するソースコード変換器です. 稿執筆時点でのqrintfの変換対象はsprintfとsnprintfです.以下文中では特にことわりのない限りsprintfと記述した場合sprintf, snprintfの両方を指します. qrintfはソースコードに出現するsprintfで利用するフォーマット文字列を解析し,型ごとに用意された関数呼出にコードを書き換えsprintfの高速化を行います.

    qrintfの最適化 - 開発日記
  • LLVM Clang、並列処理性能大幅向上

    LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. OpenMP 3.1のフルサポートがLLVM Clang 3.1に追加されたことが、メーリングリストに投稿された「[LLVMdev] OpenMP 3.1 Support Implementation In Clang Is Available」によって明らかになった。OpenMP 3.1のすべての試験をクリアしているという。Clang 3.3に対してマージされたとされており、今後もマージを続けて最終的にすべての成果物を統合するとしている。 OpenMPは処理を並列に実行するための仕組みのひとつ。OpenMPに対応したソースコードを記述し

  • 1