0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Cranelift merge了RISCV后端

工程師鄧生 ? 來源:Rust語言中文社區(qū) ? 作者:huangjj27 ? 2022-10-09 11:41 ? 次閱讀

隨著 Rust 語言的發(fā)展,經(jīng)常需要改進樣式指南,例如支持新的語言結(jié)構(gòu)(比如 let-chain / let-else 等新語法),像這樣的新結(jié)構(gòu)會被 rustfmt 忽略且不格式化,隨后需要添加格式化。并且 rustfmt 的向后兼容性也阻礙了 Rust 代碼風格的演變。

為了解決這兩個問題,RFC 3309重振了 Rust 風格的團隊,它有三個目標:

確定新 Rust 結(jié)構(gòu)的樣式

發(fā)展現(xiàn)有的 Rust 風格

定義機制以發(fā)展 Rust 風格,同時考慮向后兼容性

注意:風格團隊不打算做出任何“驚天動地”的風格改變。

Cranelift 已經(jīng) merge 了 RISCV 后端

Pre-RFC: unsafe attributes

RalfJ 提出一個 Pre-RFC ,提議為一些可能導致未定義行為的屬性加上 unsafe,比如

rust // SAFETY: there is no other global function of this name #[unsafe(no_mangle)] pub fn my_own_write(...) { ... }

之前有個issue 提出 #[no_mangle] 也是 Unsafe 的,在某些平臺上(至少是 GNU/Linux,但也聽說過 Windows 和其他幾個平臺),將兩個靜態(tài)庫鏈接在一起,而這兩個庫都導出了一個同名的符號,那么哪個符號實際上被鏈接了,這是無法定義的。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • GNU
    GNU
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    17445
  • RFC
    RFC
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    10090
  • rust語言
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    3001

原文標題:【Rust 日報】2022-09-30 Cranelift 已經(jīng) merge 了 RISCV 后端

文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    riscv的mcu的目前開發(fā)如何?

    GD32VF103 RISCV開發(fā)板試用體驗 1.本文目的 2.工具下載 3.硬件連接 4.工程測試 1.本文目的riscv的mcu的開發(fā)目前到底如何?目前可以做那些有意思的項目?本人從嵌入式
    的頭像 發(fā)表于 03-29 16:12 ?6786次閱讀
    <b class='flag-5'>riscv</b>的mcu的目前開發(fā)如何?

    RISCV soft JTAG調(diào)試_v1.2

    因為目前軟件的限制,RISCV的邏輯不能同時共用JTAG,所以如果想要同時去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag來實現(xiàn)。soft Jtag就是通過GPIO來實現(xiàn)的軟件
    的頭像 發(fā)表于 04-23 08:38 ?950次閱讀

    McFW框架中的dup和merge的作用是什么?

    后代碼有點亂,原圖是這樣的: 請問在這個框圖中,DUP0 和DUP1,MERGE1,MERGE0的作用是什么?為什么要在捕獲圖像數(shù)據(jù)后進行兩個復制?而復制之后又整合起來?
    發(fā)表于 05-31 03:21

    請教8168 Merge Link作用

    請教TI專家: 8168中,merge的作用,是將多路視頻,合成為一路視頻,可是具體是什么意思呢?還是不明白,主要由兩點:1 merge Link的輸入為n ,輸出為1??2 是說輸入進來的N路視頻
    發(fā)表于 07-25 06:20

    后端系統(tǒng),后端系統(tǒng)是什么意思

    后端系統(tǒng),后端系統(tǒng)是什么意思 “后端系統(tǒng)”從寬泛的角度上講是指向用戶提供數(shù)據(jù)的服務器、超級服務器、群集系統(tǒng)、中程系統(tǒng)以及
    發(fā)表于 04-06 17:21 ?3678次閱讀

    對于merge、join和concat三者的區(qū)別分析

    從合并的方式看merge和join是一樣的,有l(wèi)eft/right/inner/outer,而concat只有inner/outer兩種,因為merge和join參與合并的對象有左右區(qū)分,而
    的頭像 發(fā)表于 01-06 11:55 ?2w次閱讀
    對于<b class='flag-5'>merge</b>、join和concat三者的區(qū)別分析

    Git命令解析-merge、rebase

    出現(xiàn)兩個分支,為什么會是三路合并。從git 源碼中可以找到merge執(zhí)行的入口,它有這樣的方法簽名:可以看出,除了含義明顯的ours和theirs,還有一個待合并的文件叫做ancestor。根據(jù)文檔
    的頭像 發(fā)表于 07-29 18:21 ?1051次閱讀
    Git命令解析-<b class='flag-5'>merge</b>、rebase

    RISCV該如何開啟和使用V擴展指令?

    機制 6.RVV使用體驗 1.前言 RISCV V擴展即向量指令擴展(RVV),這部分作為研究AI加速計算領(lǐng)域有著非常關(guān)鍵的作用。既然的D1支持rvv擴展(0.7.1,最新的版本已經(jīng)0.10版本
    的頭像 發(fā)表于 06-18 16:28 ?9434次閱讀

    排序算法merge-sort的基礎(chǔ)知識

    本文介紹、解釋、評估和實現(xiàn)排序算法merge-sort 。本文的目的是為您提供有關(guān)合并排序算法的可靠背景信息,該算法是更復雜算法的基礎(chǔ)知識。
    的頭像 發(fā)表于 04-07 17:54 ?2526次閱讀
    排序算法<b class='flag-5'>merge</b>-sort的基礎(chǔ)知識

    Gowin RiscV AE250用戶指南

    電子發(fā)燒友網(wǎng)站提供《Gowin RiscV AE250用戶指南.pdf》資料免費下載
    發(fā)表于 09-19 15:02 ?0次下載
    Gowin <b class='flag-5'>RiscV</b> AE250用戶指南

    Cranelift的2022進展報告

    Wasmtime(一個生產(chǎn)就緒的 WebAssembly 虛擬機)、Rustc_codegen_cranelift 的 Rust 編譯器后端,以及其他一些應用提供基礎(chǔ)。 更多請看:https
    的頭像 發(fā)表于 12-21 15:01 ?585次閱讀

    一個coverage merge小技巧

    分享一個coverage merge小技巧,在群里經(jīng)??吹接行』锇閱柛牧舜a之后coverage能不能merge。今天帶大家來看看這個問題。
    的頭像 發(fā)表于 05-24 10:08 ?645次閱讀
    一個coverage <b class='flag-5'>merge</b>小技巧

    git rebase與相關(guān)git merge命令比較

    。 #概念 ????首先要理解的是git rebase和git merge解決同樣的問題。這兩個命令都旨在將更改從一個分支集成到另一個分支 - 它們只是以不同的方式進行。試想一下當你開始在專用分支中開發(fā)新功能時另一個團隊成員以新提交更新master分支會發(fā)生什么。這會出
    的頭像 發(fā)表于 05-26 16:22 ?834次閱讀
    git rebase與相關(guān)git <b class='flag-5'>merge</b>命令比較

    git rebase和git merge的區(qū)別

    ? 解決沖突 git rebase和git merge的區(qū)別 分支合并 git merge是用來合并兩個分支的。 比如:將 b 分支合并到當前分支。 同樣git rebase b,也是把 b 分支
    的頭像 發(fā)表于 07-05 09:54 ?607次閱讀
    git rebase和git <b class='flag-5'>merge</b>的區(qū)別

    RISCV soft JTAG調(diào)試_v1.1

    因為目前軟件的限制,RISCV的邏輯不能同時共用JTAG,所以如果想要同時去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag來實現(xiàn)。soft Jtag就是通過GPIO來實現(xiàn)的軟件
    的頭像 發(fā)表于 02-23 16:16 ?580次閱讀
    <b class='flag-5'>RISCV</b> soft JTAG調(diào)試_v1.1