Time flies and we are closing out 2022. It's a time for reflection and celebration here at PLCT. On December 9, we will hold our 4th PLCT OpenDay event, we look forward to seeing you there. We are seeing a few new faces at the OpenDay, a testimonial to the growth of our crack team of low-level software developers here at the Software Institute.
- Engineers at the PLCT Lab has submitted SpiderMonkey's RISC-V JIT support to Mozilla. Some further tweaking are still needed but we are hopeful to merge it in Q1 2023 (in time for the Lunar New Year).
- Porting upstream changes.
- 4031878: [riscv] Implement target_builtin_at func | https://chromium-review.googlesource.com/c/v8/v8/+/4031878
- 4041646: [riscv][regalloc] Resolve tail-call gap moves | https://chromium-review.googlesource.com/c/v8/v8/+/4041646
- 3866190: [assembler] Introduce RelocInfo::NEAR_BUILTIN_ENTRY | https://chromium-review.googlesource.com/c/v8/v8/+/3866190
- 3971517: [riscv][wasm] Allocate feedback vectors on demand | https://chromium-review.googlesource.com/c/v8/v8/+/3971517
- Bugfixes
- 4032017: [riscv64] fmv_x_w should use sext32 to extend rd. | https://chromium-review.googlesource.com/c/v8/v8/+/4032017
- 4032016: [riscv64] Fix failed: vector[] index out of | https://chromium-review.googlesource.com/c/v8/v8/+/4032016
- 4050268: [riscv] Fix vector move | https://chromium-review.googlesource.com/c/v8/v8/+/4050268
- 4039240: [riscv] Optimize ComputeCodeStartAddress func | https://chromium-review.googlesource.com/c/v8/v8/+/4039240
- Fix the cmp_l2i in cmpL3_reg_reg openjdk-riscv/jdk11u#561
- Fix the fp_args of double in calling_convention openjdk-riscv/jdk11u#562
- Fix the count num of double and array in generate_native_wrapper openjdk-riscv/jdk11u#563
- Fix the bugs in long cmp of macroAssembler_riscv32.cpp openjdk-riscv/jdk11u#564
- Fix the error reg in enc_cmpUEqNeLeGt_imm0_branch_long openjdk-riscv/jdk11u#565
- Fix the call_VM_leaf in riscv32.ad openjdk-riscv/jdk11u#568
- Fix the error in pr461 openjdk-riscv/jdk11u#569
- Add 64bit support for implementation() in riscv32.ad openjdk-riscv/jdk11u#570
- Fix the param type in castX2P of riscv32.ad openjdk-riscv/jdk11u#571
- Fix the long data in signExtractL of riscv32.ad openjdk-riscv/jdk11u#572
- Fix the immLAdd data type errors in riscv32.ad openjdk-riscv/jdk11u#573
- Fix the reg error in MoveL2D_reg_reg openjdk-riscv/jdk11u#574
- Fix the lrem/ldiv in macroassembler openjdk-riscv/jdk11u#575
- Fix the num errors in zero_words() imm openjdk-riscv/jdk11u#576
- HotSpot VM C2 IR入门 https://zhuanlan.zhihu.com/p/582828036
- Pull requests to jdk-mainline:
- openjdk/jdk#10917 (8286301: Port JEP 425 to RISC-V)
- openjdk/jdk#10965 (8296285: test/hotspot/jtreg/compiler/intrinsics/TestFloatIsFinite.java fails after JDK-8280378)
- openjdk/jdk#11130 (8296916: RISC-V: Move some small macro-assembler functions to header file)
- Pull requests to jdk-mainline (as co-author):
- openjdk/jdk#10907 (8291555: Replace stack-locking with fast-locking)
- openjdk/jdk#11044 (8139457: Array bases are aligned at HeapWord granularity)
- jdk-mainline pull requests reviewed:
- openjdk/jdk#10921 (8296136: Use correct register in aarch64_enc_fast_unlock())
- openjdk/jdk#10884 (8295948: Support for Zicbop/prefetch instructions on RISC-V)
- openjdk/jdk#10878 (8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0)
- openjdk/jdk#10880 (8295967: RISC-V: Support negVI/negVL instructions for Vector API)
- openjdk/jdk#10691 (8295261: RISC-V: Support ReductionV instructions for Vector API)
- openjdk/jdk#11005 (8296435: RISC-V: Small refactoring for increment/decrement)
- openjdk/jdk#11009 (8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec)
- openjdk/jdk#11036 (8296515: RISC-V: Small refactoring for MaxReductionV/MinReductionV/AddReductionV node implementation)
- openjdk/jdk#11010 (8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null)
- openjdk/jdk#11051 (8296301: Interpreter(RISC-V): Implement -XX:+PrintBytecodeHistogram and -XX:+PrintBytecodePairHistogram options)
- openjdk/jdk#11074 (8296638: RISC-V: NegVI node emits wrong code when vector element basic type is T_BYTE/T_SHORT)
- openjdk/jdk#11058 (8296602: RISC-V: improve performance of copy_memory stub)
- openjdk/jdk#11076 (8296630: Fix SkipIfEqual on AArch64 and RISC-V)
- openjdk/jdk#11085 (8296771: RISC-V: C2: assert(false) failed: bad AD file)
- openjdk/jdk#11155 (8296975: RISC-V: Enable UseRVA20U64 profile by default)
- RISC-V port for Loom:
- Upstreamed: https://github.com/openjdk/jdk/commit/91292d56a9c2b8010466d105520e6e898ae53679
- Will ship with JDK 20 (General Availability - 2023/03/21)
- RISC-V port for Foreign-API:
- New development branch at: https://github.com/feilongjiang/jdk/tree/riscv-foreign-api
- Rebase pending: https://git.openjdk.org/jdk/pull/10872 (8295044: Implementation of Foreign Function and Memory API (Second Preview))
- Rebase pending: https://git.openjdk.org/jdk/pull/11019 (8296477: Foreign linker implementation update following JEP 434)
- Upstreamed Changes.
- 8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
- 8296638: RISC-V: NegVI node emits wrong code when vector element basic type is T_BYTE/T_SHORT
- 8297549: RISC-V: Support vloadcon instruction for Vector API
- Add emit_data64 for loadcon
- Fix typo and instruct format of loadcon/vcompress/vexpand
- RISC-V: Add PopulateIndex node for Vector API
- RISC-V: Add vector_signum_rvv function
- RISC-V: Add SignumVF/SignumVD node for Vector API
- 技术文章
- Upstreamed changes.
- 8296515: RISC-V: Small refactoring for MaxReductionV/MinReductionV/AddReductionV node implementation
- 8297238: RISC-V: C2: Use Matcher::vector_element_basic_type when checking for vector element type in predicate
- RISC-V: Support vector api AddVI/AddVL mask node
- RISC-V: Support vector api AndV/OrV/XorV mask node
- RISC-V: Matcher::min_vector_size Support vector api load/store mask
- Tool evaluation and testing.
- Debugging work for
java
andjavac
.
- [Fix resolve_cache_and_index] axiangyushanhaijing/powerpoint#125
- [Delete post/pre and fix sb] axiangyushanhaijing/powerpoint#126
- [Delete some useless functions such as reserved_stack_check()] axiangyushanhaijing/powerpoint#127
- [Fix load_resolved_reference_at_index to solve obj->oop()] axiangyushanhaijing/powerpoint#128
- [Fix load_resolved_klass_at_offset]axiangyushanhaijing/powerpoint#129
- [Fix lock_method] axiangyushanhaijing/powerpoint#130
- [Fix access_store_at/accessload_at]axiangyushanhaijing/powerpoint#132
- [fix MethodHandles::jump_to_lambda_form]axiangyushanhaijing/powerpoint#133
- [Fix lookup_interface_method by replacing Klass with InstanceKlass]axiangyushanhaijing/powerpoint#135
- [Fix InstanceKlass::vtable_length_offset] axiangyushanhaijing/powerpoint#136
- [Fix intrinsic_id_size_in_bytes]axiangyushanhaijing/powerpoint#137
- [Fix jump_to_lambda_form/generate_method_handle_dispatch]axiangyushanhaijing/powerpoint#139
- [Fix typo on putfield_or_static]axiangyushanhaijing/powerpoint#140
- [fix java_lang_invoke_MemberName]axiangyushanhaijing/powerpoint#141
- [Add metaspaceShared_riscv64.cpp and delete is_icholder_call_site] axiangyushanhaijing/powerpoint#212
- [Using InterpreterProfileLimit instead of InterpreterBackwardBranchLimit]axiangyushanhaijing/powerpoint#215
- [Fix method_holder]axiangyushanhaijing/powerpoint#211
- Debugging work for C1 and C2.
- [Add c1 code]axiangyushanhaijing/powerpoint#178
- [Fix makefile support riscv64 server configure]axiangyushanhaijing/powerpoint#179
- [Add defined(AARCH64)]axiangyushanhaijing/powerpoint#180
- [Fix c1_LIR.hpp]axiangyushanhaijing/powerpoint#181
- [Add emit_op4/emit_cmove/leal]axiangyushanhaijing/powerpoint#182
- [Add atomic_cmpxchg/atomic_xchg/atomic_add/do_update_CRC32C/do_vectorizedMismatch]axiangyushanhaijing/powerpoint#183
- [Fix c1_LIR.cpp]axiangyushanhaijing/powerpoint#184
- [Fix c1_LIRGenerator.cpp]axiangyushanhaijing/powerpoint#185
- [Fix profile_branch/Add prologue/epilogue]axiangyushanhaijing/powerpoint#186
- [Add TEMP_DEF]axiangyushanhaijing/powerpoint#187
- [Delete CompareAndSwapB/compareAndSwapS]axiangyushanhaijing/powerpoint#188
- [Delete fmaf/fmad]axiangyushanhaijing/powerpoint#189
- [Add c2_globals_riscv64.hpp]axiangyushanhaijing/powerpoint#190
- [Fix some typo and Delete some nodes in riscv64.ad]axiangyushanhaijing/powerpoint#191
- [Delete some functions in riscv64.ad]axiangyushanhaijing/powerpoint#192
- [Add ArgEncoding such as UL/LL]axiangyushanhaijing/powerpoint#193
- [Add is_reachable in class MachHaltNode]axiangyushanhaijing/powerpoint#194
- [Add UseCMoveUnconditionally]axiangyushanhaijing/powerpoint#195
- [Add init_array_short_size/clone_shift_expressions]axiangyushanhaijing/powerpoint#196
- [Fix riscv64.ad such as deleteing FamD etc.]axiangyushanhaijing/powerpoint#197
- [Add has_common_register]axiangyushanhaijing/powerpoint#206
- [Fix lir_cmove/lir_branch/LIR_OpBranch::print_instr]axiangyushanhaijing/powerpoint#207
- [Fix Assembler::is_imm_in_range]axiangyushanhaijing/powerpoint#199
- Removing redundant code fragments.
- [Delete java_lang_math_fmaF/java_lang_math_fmaD]axiangyushanhaijing/powerpoint#157
- [Delete interpreter_frame_mirror_addr]axiangyushanhaijing/powerpoint#158
- [Delet safept_table]axiangyushanhaijing/powerpoint#160
- [Delete _resolved_klasses/resolved_klasses_offset_in_bytes]axiangyushanhaijing/powerpoint#162
- [Delete to_trampoline_stub_size/size_in_bytes]axiangyushanhaijing/powerpoint#163
- [Delete interpreter_backward_branch_limit_offset/interpreter_invocation]axiangyushanhaijing/powerpoint#165
- [Delete pending_jni_exception_check_fn_offset]axiangyushanhaijing/powerpoint#166
- [Fix thread and delete stack_guard_yellow_reserved_disabled]axiangyushanhaijing/powerpoint#167
- [Delete _features_string]axiangyushanhaijing/powerpoint#168
- [Delete print_instructions/extra_bang_size_in_bytes]axiangyushanhaijing/powerpoint#169
- [Delete generate_trampoline look_for_reserved_stack_annotated_method]axiangyushanhaijing/powerpoint#170
- [Delete current_or_null_safe/stack_end]axiangyushanhaijing/powerpoint#171
- [Delete method_offset_in_bytes/_method_offset/java_lang_invoke_Resolve]axiangyushanhaijing/powerpoint#172
- [Delete the_null_sentinel_addr/state_offset]axiangyushanhaijing/powerpoint#173
- [Delete throw_abstract_method_error/throw_AbstractMethodErrorWithMethod/]axiangyushanhaijing/powerpoint#213
- [Delete redundant code]axiangyushanhaijing/powerpoint#214
- Published references.
- [构建 aarch64 for OpenJDK8 core] https://zhuanlan.zhihu.com/p/584392771
-
Upstreamed patches.
- [flang] Enable RISC-V for x86CompatibleBehavior in floating point flag. https://reviews.llvm.org/D138503
- [flang] Add RISCV-64 support to Optimizer/CodeGen/Target.cpp. https://reviews.llvm.org/D136547
- [LLDB][RISCV] Allow accessing registers through ABI names. https://reviews.llvm.org/D137508
- [LLDB][RISCV] Allow accessing FPR registers through ABI names. https://reviews.llvm.org/D137761
- [LLDB][RISCV] Add RV32F instruction support for EmulateInstructionRISCV. https://reviews.llvm.org/D138447
- [RISCV] Add CodeGen support and MC testcase of RISCV Zca Extension. https://reviews.llvm.org/D130483
- Add MC support of RISCV Zcd Extension. https://reviews.llvm.org/D134177
- Add MC support of RISCV Zcf Extension. https://reviews.llvm.org/D134176
- [RISCV] Add support for static chain. https://reviews.llvm.org/D129106
- [RISCV] Branchless lowering for (select (x < 0), TrueConstant, FalseConstant) and (select (x >= 0), TrueConstant, FalseConstant). https://reviews.llvm.org/D137949
- [Sema] check InitListExpr format strings like {"foo"}. https://reviews.llvm.org/D137839
- https://reviews.llvm.org/D137651 [LoopFlatten] Forget all block and loop dispositions after flatten
- https://reviews.llvm.org/D135693 [RegisterScavenger][RISCV] Don't search for FrameSetup instrs if we were searching from Non-FrameSetup instrs
- https://reviews.llvm.org/D137553 [MemorySSA] Relax assert condition in createDefinedAccess
- https://reviews.llvm.org/D138030 [JITLink][RISCV] Add R_RISCV_LO12_S relocation support
- https://reviews.llvm.org/D137060 [IndVars] Forget the SCEV when the instruction has been sunk.
-
New patches under review.
- https://reviews.llvm.org/D138269 [LoopFusion] Exit early if one of fusion candidate has guarded branch but the another has not
- https://reviews.llvm.org/D137417 [RISCV] Support for mapping symbol in RISCV.
- https://reviews.llvm.org/D138500 [RISCV] Change the return type of getStreamer() to support the use of overloading and other functions in RISCVELFStreamer.
Review pending.
Please stay tuned.
We welcome Chen Yixuan (陈逸轩) to our team. She is currently tasked to work on low-level projects.
This month, we discussed possible plans for implementing profile support, as we submitted a draft implementation for review:
https://gcc.gnu.org/pipermail/gcc-patches/2022-November/604869.html
We also aided in fixing issues in the RVV epilogue logic.
- https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606141.html
- https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606854.html
Implemented the pei-riscv64
target in Binutils.
https://sourceware.org/pipermail/binutils/2022-November/124713.html
Lin Sinan (林思南) fixed a few issues in Binutils' Zcmt support.
openhwgroup/corev-binutils-gdb#56
Fixed a few issues found in upstream regression testing.
- https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606517.html
- https://gcc.gnu.org/pipermail/gcc-patches/2022-November/606975.html
Slide decks from the last RISC-V GNU Toolchain biweekly meeting.
- 11.03:https://docs.google.com/presentation/d/1WgZrLwTQI_oySdlR7ugAT-KGvf9xMvKSLgz9EAHxkWg/edit?usp=sharing
- 11.17:https://docs.google.com/presentation/d/19s1ppXz4HXVA_XkCxN3BIPHs_xF-yDJDJdScuzX2TWQ/edit?usp=sharing
-
Google AOSP upstreaming updates.
You may track RISC-V upstreaming/review progress in our biweekly reports.
- [Chinese] Android (RISC-V) Review Biweekly (Issue 3): https://zhuanlan.zhihu.com/p/581900441
- [Chinese] Android (RISC-V) Review Biweekly (Issue 4): https://zhuanlan.zhihu.com/p/585980181
Minutes from the RVI Android SIG Monthly Meeting (November 15).
https://zhuanlan.zhihu.com/p/585980181
Implementing GKI kernel and modules build support.
- use platform_get_irq() to get irq number: merged
- ANDROID: support gki kernel build for riscv64: abandoned and replaced with ANDROID: GKI: Add 64-bit RISC-V config
- Initial support for riscv64 kernel build: merged.
- ANDROID: Virtual device modules for RISC-V 64-bit: co-work with googler and in reviewing
-
RVI Android SIG updates.
AOSP 12: Implementing GKI kernel and modules build support, GUI bootable on emulators.
- riscv-android-src/kernel-manifest#1
- riscv-android-src/kernel-common#2
- riscv-android-src/kernel-common-modules-virtual-device#1
- riscv-android-src/kernel-prebuilts-common-modules-virtual-device-5.10-riscv64#1
- riscv-android-src/manifest#9
- riscv-android-src/kernel-prebuilts-5.10-riscv64#2
- riscv-android-src/riscv-android#11
- riscv-android-src/riscv-android#15
Preliminary Chromium for Android .apk build support.
-
Published references.
- [Chinese] 学习笔记:编写一个 Linux 内核模块: https://zhuanlan.zhihu.com/p/579301578
- [Chinese] Linux 中的 sysfs: https://zhuanlan.zhihu.com/p/579434022
-
Arch Linux RISC-V Porting Status available at the Arch Linux RISC-V page.
- [core] 254 / 261 (97.31%)
- [extra] 2843 / 3077 (92.39%)
- [community] 8764 / 9796 (89.46%)
-
Git Repository for Arch Linux RISC-V package patches, archriscv-packages. A total of 121 Pull Requests were submitted or merged for archriscv.
-
Upstream:
-
Issues:
-
Published blog posts:
-
Arch RISC-V Maintain Tools
8021/19585, 40.95%
https://whale.plctlab.org/riscv/support-statistics/
- A total of 153 keywording commits (include non-PLCT team members): https://whale.plctlab.org/riscv/stats/2022_11.txt
- dev-java/openjdk: rekeyword riscv 17.0.5_p8 gentoo/gentoo@83331e9
- net-misc/remmina: keyword riscv 1.4.27 gentoo/gentoo@1c34ab8
- net-proxy/ziproxy: Keyword 3.3.1-r2 riscv gentoo/gentoo@1c5718a
- net-p2p/qbittorrent: keyword 4.4.5-r1 for ~riscv gentoo/gentoo@c726123
- net-vpn/strongswan: Keyword 5.9.8 riscv gentoo/gentoo@6d5b5b3
- sci-astronomy/stellarium: Keyword 1.1 riscv gentoo/gentoo@2f5d4b8
- www-apps/rt gentoo/gentoo@a8d5803
- www-servers/fnord: Keyword 1.11-r2 riscv gentoo/gentoo@c07ad17
- www-servers/varnish gentoo/gentoo@d987afc
- etc...
- app-misc/neofetch: fix cpu model detect on arm, riscv, loongarch; gentoo/gentoo#28305
- media-libs/pangolin: new package, add 0.8; alexfanqi/alexfanqi-gentoo-overlay@8805d49
- sci-libs/orb_slam3: new package, add 1.0; alexfanqi/alexfanqi-gentoo-overlay@418c210
- app-office/libreoffice: pushing to the main portage tree, bug: https://bugs.gentoo.org/881389
- Solve some new dependencies in GNOME 43 to keyword it
- riscv overlay
- sys-firmware/u-boot-bin: version bump, 2022.10 gentoo/riscv@1b126b3
- cc-wrapper: fix path to libcxx includes for cross compilers NixOS/nixpkgs#202189
- efivar: fix cross compilation NixOS/nixpkgs#200697
- xorg: improve splicing situtation NixOS/nixpkgs#199912
- uucp, autojump: fix cross compilation NixOS/nixpkgs#201744
- grim: add wayland-scanner to nativeBuildInputs, fixes cross compilation NixOS/nixpkgs#202152
- scdoc: fix cross compilation by setting HOST_SCDOC NixOS/nixpkgs#202153
- xdg-desktop-portal-wlr: scdoc: mark as build-time dependency emersion/xdg-desktop-portal-wlr#248
- xdg-desktop-portal-wlr: fix cross compilation NixOS/nixpkgs#202154
- guile_*: use correct version of guile for cross compilation NixOS/nixpkgs#202156
- glib: fix cross compile NixOS/nixpkgs#200760
- Commencing upstreaming procession. Ref: https://phabricator.services.mozilla.com/D161986?id=647929
- Patches submitted to upstream.
- 7b126a1ecc3e Implement func (#52)
- 78ce02b344973 Fix jump long (#51)
- ab7ee829337b8 Implement riscv branchandlink (#50)
- 6d2729dd14fbf Fix compareD (#49)
- 0c86149c7827c Implement copy sign bit (#48)
- 64d6cd88b4191 Fix wasm load/store error (#47)
- 356638fcddeff fix wasm conversion error (#46)
- 70e8c5de2e18c fix cmp set (#45)
- ba48fda2d4b2e Fix NotSigned (#44)
Preliminary support for RV64GC is now implemented in DynamoRIO, which will now build on RV64GC (basic decoding is now supported).
Current five-stage road map for DyanmoRIO's RV64GC support:
- Introduce RISC-V platform-specific functions, frameworks, definitions, etc., allowing DynamoRIO to build on RISC-V. (Done)
- Setup RISC-V CI for automated compilation and testing. (In Progress)
- Refine RISC-V platform-specific functions and definitions, make DynamoRIO's built-in example tools functional. (In Progress)
- Refine RISC-V unit- and feature-tests, setup CI for automated testing and instruments for long-term maintenance.
- Continue RISC-V feature enablement for more complex programs, prepare for long-term maintenance.
See https://gist.github.com/bekcpear/7c9e710ee5b674888fcf5e5d8445dc16 for a more detailed to-do list.
- PR #22520 (merged): Refactoring HSV colour space conversion functions using the new Universal Intrinsic framework.
- Issues #22878: A proposal to use the
mask
type in the Universal Intrinsic framework (using RVV as a reference).
- Implemented a new high-coverage testing framework via our OSPP Project.
- Fixed a few issues found with the new testing framework: store alignment,
simd_mask
cast constructors, and theconcat
andsplit_by
interfaces. - Introduced a base type for the
simd
class, which incorporates all operands for integer types. This base type can be used for non-uniform overload on these operands. - Introduced a length limit to the builtin ABI 为内部的 (tentatively using a 32-bit length limit).
- Fixed a SFINAE check issue in the
static_simd_cast
andsimd_cast
interface.
- Completed implementation of the
vslide
instruction, leavingvcompress
left to work on. - Developed a new RVV test set: https://github.com/ksco/riscv-vector-tests
- Performed regression testing on gem5's RVV implementation, fixing bugs discovered in the process.
- Upstreamed Zc* extension support.
- Implemented variable SXLEN support, https://github.com/plctlab/plct-qemu/tree/plct-rv32u-dev
- Updated Zc* extension to v8,https://github.com/plctlab/plct-qemu/tree/plct-zce-upstream-v8
- Updated CMO ACT support, awaiting merge, riscv-non-isa/riscv-arch-test#226
Shi Ninging (史宁宁) continues to work on compiling the OpenArkCompiler Weekly, which just published its 136th issue.
You may find new weekly issues of the OpenArkCompiler Weekly on Sundays on...
- GitHub: https://github.com/isrc-cas/arkcompiler-materials
- Zhihu: https://zhuanlan.zhihu.com/openarkcompiler
- Bilibili: https://www.bilibili.com/read/readlist/rl199373
- Mailing list and other channels: https://gitee.com/openarkcompiler/OpenArkCompiler/issues/I1EWAX
- MLIR VP Ops on RVV Backend Integration Test and Issues Report - https://discourse.llvm.org/t/mlir-vp-ops-on-rvv-backend-integration-test-and-issues-report/66343
- [VP] Add support for vp.inttoptr & vp.ptrtoint - https://reviews.llvm.org/D137169
- [mlir] Initial MLIR VP intrinsic integration test on host and RVV emulator. - https://reviews.llvm.org/D137816
Website
- Homepage, https://buddy-compiler.github.io/
buddy-mlir
https://github.com/buddy-compiler/buddy-mlir
New features:
- [Opt] Improve CBConvVectorization Lowering pass.
- [examples][RVVExperiment] Update options for LLC and LLI.
- [Container] Update memref container for external use.
- [examples] Initial deep learning model and emitc examples.
buddy-benchmark
https://github.com/buddy-compiler/buddy-benchmark
New features:
- [DIP] Use buddy-mlir memref container.
- [DL] Add ResNet18 benchmark.
- Retire MemRef container of buddy-benchmark.
Please stay tuned.
Please stay tuned.
Please stay tuned.
- Introduced support for debug triggers (current problem: we only have support for type 6 but not type 2 triggers, no support for chained triggers, no support for chained install), link
- Fixed a build error in semihosting with LLVM (error: result of comparison of constant -1 with expression of type 'char' is always true), link
- Split up
sbi_ecall_replace.c
so that each extension is in its individual file, link - Introduced support for sbi debug console, link
- Avoid repeated reference to ae350 headers, link
- generic/allwinner: Remove unused header files, link
- allwinner移除奇怪的类型转换。link
- generic/allwinner: Remove ghostly type cast, link
- Fixed a Makefile issue for macOS, where
echo -n
is not supported, link - Makefile: bugfix for handling platform paths, link
- sbi_domain: optimised MMIO matching, introduced
in_region
, optimisedsbi_domain_memregion_init
andis_region_subset
, fixedis_region_valid
, fixed an issue where the offset operation was not executed when the offset is at__riscv_xlen
, link - Introduced various fixes for
fdt
, removing redundant argument checks, fixing data types, and improving error handling, link - Make use of
.insn
and.word
based on compiler version to make disassembled code more readable, link - Introduced generic platform support for AE350, link
- plic: Fix the off-by-one error in priority save/restore helpers, link
- Optimised relocation (copying the program to the correct memory location), removing unneeded instructions by moving one jump, link
- Introduced a macro for specifying boot hart (previously, opensbi uses atomic operations to randomly select boot hart), link
Please stay tuned.
- Tagged 2 new alpha releases
- Wrote the first tutorial: https://www.aya-prover.org/guide/haskeller-tutorial.html
- Assumed Haskell knowledge for simplicity
- The binary distribution now ships the standard library candidate
- We have some very basic synthetic homotopy theory results and theorems about natural numbers!
- v0.25 Fix some issues, define Susp of S¹ to S² PR-747 opened by ice1000
- v0.25 Issue 596 PR-745 opened by HoshinoTented
- v0.25 Improve many things PR-744 opened by ice1000
- v0.25 Really do support eta-expand paths PR-739 opened by ice1000
- v0.25 Small fixes. PR-740 opened by wsx-ucb
- v0.25 Implement coercion from path to pi PR-738 opened by ice1000
- v0.25 Install also the stdlib PR-736 opened by ice1000
- v0.25 basic support for unary pretty print PR-735 opened by tsao-chi
- v0.25 Remove ulift PR-734 opened by ice1000
- v0.25 Clear Garbage Code of PatTycker PR-732 opened by HoshinoTented
- v0.24 Use the meaningful test data PR-666 opened by HoshinoTented
- v0.25 Improve library with pushing PR-724 opened by ice1000
- v0.25 Push telescope PR-723 opened by ice1000
- v0.25 cli: remove a duplicate checkDeserialization() call PR-720 opened by tsao-chi
- v0.25 No Erase PR-667 opened by tsao-chi
- v0.25 Add
*-comm
,*-assoc
in library candidate PR-722 opened by ice1000 - v0.24 Release 0.24 PR-718 opened by ice1000
- v0.24 Fix Highlighter PR-716 opened by HoshinoTented
- v0.24 Desugar do-notation with correct source pos PR-717 opened by imkiva
- v0.24 Fix SourcePos of Let PR-715 opened by HoshinoTented
- v0.24 Leafover of Let Expr PR-712 opened by HoshinoTented
- v0.24 Overhaul
loadFile
in REPL PR-714 opened by imkiva - v0.24 bnf: make
LetBind
a named element PR-713 opened by imkiva - v0.24 Let Expression PR-699 opened by HoshinoTented
- v0.24 Slightly less code in parser PR-711 opened by ice1000
- Depreacte
StmtOps
andExprTraversal
PR-709 opened by imkiva - v0.24 Unify literate highlighter and LSP highlighter PR-708 opened by imkiva
- v0.24 Interesting parser improvements PR-707 opened by ice1000
- v0.24 Fix a bug: HIT partial forgot to zonk PR-705 opened by ice1000
- v0.24 Highlighter with Linker PR-698 opened by HoshinoTented
- v0.24 New
group
library config and polish some messages PR-702 opened by imkiva - v0.23 Luna's branch that tries to fix bug PR-602 opened by ice1000
- v0.24 REPL: decouple and fix PR-701 opened by imkiva
- v0.24 Cherry pick from 'no more duplicated vars' PR-703 opened by ice1000
- v0.24 Kiva fixing something today PR-700 opened by imkiva
- v0.24 Rename java to jaya PR-697 opened by ice1000
- Add license scan report and status PR-696 opened by fossabot
- v0.24 Try using
meta
rules PR-695 opened by ice1000 - v0.24 change: Change comment syntax (BREAKING CHANGE) PR-678 opened by wsx-ucb
- v0.24 Fix my opinions PR-693 opened by imkiva
- v0.24 Minor improvements PR-692 opened by ice1000
- v0.24 Report mising operand for unary sections PR-688 opened by imkiva
- v0.24 Parse private decl PR-689 opened by imkiva
- v0.24 Better
did you mean
messages PR-675 opened by imkiva - v0.24 Improve readme, disallow | from beginning of identifiers PR-682 opened by ice1000
- v0.24 Natural number properties, naming convention, etc. PR-681 opened by ice1000
- v0.24 graal: generate part of the config PR-673 opened by ice1000
- v0.24 LSP: Search library root in dependencies PR-674 opened by imkiva
- v0.24 Update library, define S², T³ PR-671 opened by ice1000
- v0.24 Higher inductive types PR-669 opened by ice1000
- v0.24 KALA: upgrade to 0.56.0 PR-668 opened by Glavo
- v0.24 Revert some changes PR-664 opened by ice1000
- v0.24 Fix some code PR-655 opened by ice1000
- v0.24 More ShuYu PR-661 opened by HoshinoTented
- v0.24 Fix some bugs PR-660 opened by ice1000
- v0.24 Do Unifying Owner Telescope PR-658 opened by HoshinoTented
- v0.24 Fix tycking induction-recursion definitions PR-659 opened by imkiva
- v0.24 Enhance #646 PR-656 opened by HoshinoTented
- v0.23 Release v0.23 PR-654 opened by ice1000
- v0.23 Add some cli options PR-653 opened by ice1000
- v0.23 Fix some LSP bugs PR-652 opened by imkiva
- v0.23 More Colorful Cli PR-646 opened by HoshinoTented
- v0.23 NXJASbhjasbxjhsbxhjasbxhjasbxjas PR-650 opened by ice1000
- v0.23 Sigma transport PR-649 opened by ice1000
- v0.23 Allow connected ↑ PR-648 opened by ice1000
- v0.23 Overhaul literal infrastructure PR-641 opened by imkiva
- v0.23 Define
coeSigma4
andcoeSigma5
, upgrade guest with a smol optimization PR-647 opened by ice1000 - v0.23 Trivial PR-644 opened by ice1000
- v0.23 sort: use single record instead of interface PR-640 opened by tsao-chi
- v0.23 Delete
PatElem
PR-643 opened by ice1000 - v0.23
Pattern
->Arg<Pattern>
PR-642 opened by ice1000 - v0.23 Constant check for
coeFill
,coeInv
andcoeInvFill
PR-635 opened by imkiva - sort: use single record instead of interface PR-639 opened by tsao-chi
- v0.23 Allowing Implicit Argument in List Ctor PR-634 opened by HoshinoTented
- v0.23 Disallow using
coe
as function PR-633 opened by imkiva - v0.23 Issue #598, Part 1. PR-599 opened by HoshinoTented
- v0.23 Massive rename planned long time ago PR-632 opened by ice1000
- v0.23 Implement Prop pattern matching tyck PR-629 opened by tsao-chi
- v0.23 Pat.Meta in Pat.Meta PR-630 opened by HoshinoTented
- v0.23 Don't normalize too early PR-628 opened by HoshinoTented
- v0.23 Doc: Add some docs for the refactor. PR-627 opened by wsx-ucb
- v0.23 Match expression PR-545 opened by wsx-ucb
- v0.23 Fix #625 PR-626 opened by ice1000
- v0.23 Codifier: a new tool for writing helper functions internally PR-624 opened by ice1000
- v0.23 No more useless subst PR-623 opened by HoshinoTented
- v0.23 Purge
raiseError
PR-622 opened by imkiva - v0.23 Issue 620 PR-621 opened by HoshinoTented
- v0.23 Random changes, fix simple lsp bug PR-619 opened by ice1000
- v0.23 Issue 609 PR-610 opened by HoshinoTented
- v0.23 Computation rule of coe for binary sigma type PR-616 opened by lunalunaa
- v0.23 Cherry pick from @HoshinoTented's branch PR-617 opened by ice1000
- v0.23 Upgrade (again, sorry!) PR-615 opened by ice1000
- v0.23 @wsx-ucb's code cherry pick PR-614 opened by ice1000
- v0.23 Major tom PR-612 opened by ice1000
- v0.23 Many build improvements PR-611 opened by HoshinoTented
- v0.23 Prop and Erased PR-584 opened by tsao-chi
- v0.23 Fix: Issue 597 PR-603 opened by HoshinoTented
- fix regression of #437 in #579 PR-608 opened by imkiva
- v0.22 Do not stop literal classification that early PR-579 opened by imkiva
- v0.23 Overhaul the
Sub
system of unification PR-606 opened by ice1000 - v0.23 respect renamed operator in serialized bind PR-605 opened by imkiva
- v0.23 transport and hcomp PR-539 opened by lunalunaa
- Update grammar PR-29 opened by imkiva
- Update to aya 0.23 PR-28 opened by imkiva
- IJ debugger PR-20 opened by imkiva
- Update grammar PR-26 opened by HoshinoTented
- Reorganize classes PR-24 opened by imkiva
- Update grammar to aya 0.22 PR-21 opened by imkiva
Please stay tuned.
- Linux Kernel CI
- Learned about the
kselftest
testing framework and deployed it in a local Ubuntu riscv64 Docker container. Recorded the procedures in published documentation (Chinese). https://zhuanlan.zhihu.com/p/579009831 - Assembled and published documentation on LAVA deployment (running testing jobs for Qemu), https://zhuanlan.zhihu.com/p/588043928
- Fixed an issue in
lava-docker
where instances fail to deploy if a physical deviced is added toboards.yaml
. - Added a HiFive Unmatched device in LAVA, writing and deploying jobs.
- Ran into an issue where the jobs reported missing
/usr/local/bin/acme-cli
for controlling power on physical devices). Temporarily worked around this issue by writing RPC server and client scripts in Python, using relays to replace the PDU as a remote power controller for the Unmatched. - Currently, when an automatic job is scheduled the HiFive Unmatched, it would boot but shutdown immediately after. We are currently investigating this issue.
- Ran into an issue where the jobs reported missing
- RVLab infrastructure provisioning.
- Deployed: 6 D1 development boards (2 running openEuler, 2 running Debian, and 2 running Fedora).
- Others
- Created an automation script for removing specific packages from specific OBS projects, https://gitee.com/jean9823/automatic-tool/tree/master/obs_delete_pkg
- PLCT's 2022 Roadmap, https://github.com/plctlab/PLCT-Weekly/blob/master/PLCT-Roadmap-2022.md
- Open job positions at the PLCT Lab, https://github.com/plctlab/PLCT-Weekly/blob/master/Jobs.md
- Open intern positions at the PLCT Lab, https://github.com/plctlab/weloveinterns/blob/master/open-internships.md
- PLCT Weekly Reports, https://github.com/isrc-cas/PLCT-Weekly
- PLCT Open Reports (incomplete), https://github.com/isrc-cas/PLCT-Open-Reports