CohenArthur

@RebJtN4VQzOcP4MsOf8inA

Joined on May 5, 2020

  • Goals of the project Reduce time spent in the LLVM backend The Bachmann team finds that their compiler is quite quick in the frontend, but spends a huge amount of time in the backend - this isn't just an impression, they have metrics to support this. They would like us to investigate the time spent there, and how they could help the backend (both in terms of improving the quality of generated code, and reducing compilation time) by generating different LLVM IR from their frontend. The compilation time is the most important piece of the project that we can help them with, and the most pressing. They are competing against their old in-house ST compiler, which is not an optimizing compiler and is extremely fast. They would also like to understand why the time spent in the backend is different when compiling for x86 vs compiling for Arm. Look into LLVM metadata nodes and if they could help Profile the compiler to figure out the various slowdowns Research how to improve the generated IR for this
     Like  Bookmark
  • flowchart TD; pr_is_merged[Pull request is merged with bors or bors-like] --> commit_to_gcc_patch_dev; subgraph commit_to_gcc_patch_dev[Commit to `gcc-patch-dev`]; commit[For each commit]; commit --> prefix[Prefix with 'gccrs: '] prefix --> push[Push to `gcc-patch-dev`] end; pr_approved[Pull request is approved] --> bootstrapchecks; subgraph bootstrapchecks[Bootstrap checks]; eachcommit[For each commit];
     Like  Bookmark
  • Rust and C glue Weird unwind requirements After hacking a small rust module together, modpost decided to hit us with the following error: ERROR: modpost: "__aeabi_unwind_cpp_pr1" [/home/kagounard/Git/ks0n/mfrc522-linux/rust-module/mfrc522.ko] undefined! ERROR: modpost: "__aeabi_unwind_cpp_pr0" [/home/kagounard/Git/ks0n/mfrc522-linux/rust-module/mfrc522.ko] undefined! Despite us not using anything unwind related (panic = abort, #[unwind(aborts)], etc...). This was very hard to try and solve, as not many people are using rustc with modpost yet. Furthermore, this was without the use of Rust-for-Linux, so we didn't have anyone to ask. It seems that this error is quite present in the Android dev community, as they often cross-compile for ARM devices. Some online searches lead toward a lack of linking with libgcc, and despite our best efforts towards that goal, we didn't manage to fix the missing symbols. An alternative was then to define them ourselves! We wrote some glue code in order to shut modpost up and link properly:
     Like  Bookmark
  • # TELE - Dead reckoning with a vehicle
     Like  Bookmark