Lower typed scalar pointer operations through Whale

オープン
#879 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust
領域
compilers

調査の方向性

Start by reproducing the failure in the issue’s Wave source and inspect the Wave adapter’s typed-pointer lowering alongside upstream Whale’s tracked-memory/GEP and provenance rules. Verify scalar pointer signatures, loads/stores, element stride, casts, null behavior, unsupported conversions, and memory boundaries using available upstream facilities; completion requires these cases while leaving C ABI and native lowering out of scope. Discuss the design with @LunaStev before implementation.

索引モデルが issue の本文から書いたものです。

説明

discussion enhancement help wanted

Motivation

At fd07427f4a976de05e38eff3ee1760db97fbb761 on Linux amd64 with Rust 1.89 and locked Whale 020d2a4, lexing, parsing and TypedProgram lowering succeed, but calling whale::emit_ir on this source returns Whale backend does not yet support type Pointer(Int(32)):

fun identity(x: ptr<i32>) -> ptr<i32> { return x; }

Scope

Add typed pointers, address-of/dereference and HIR-defined pointer offsets to the Wave adapter. Inspect upstream tracked-memory/GEP and provenance rules first. Preserve Wave stride, null and cast behavior; pointer-to-bool remains unsupported. Do not implement C ABI or native lowering here; upstream frontend #156 is separate.

Difficulty: hard.

Completion criteria

  • Verify scalar pointer signatures, loads/stores and element stride.
  • Cover casts, null and existing unsupported conversions.
  • Test memory boundaries with available upstream facilities.

Please mention @LunaStev to discuss the design before starting implementation.

主要言語
Rust
スター
56
フォーク
21
平均マージ
23時間 20分
マージ済み PR(30日)
45

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

wavefnd/Wave のほかの issue

wavefnd/Wave の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。