Skip to content

Instantly share code, notes, and snippets.

View michaelwoerister's full-sized avatar

Michael Woerister michaelwoerister

  • Microsoft
  • Berlin, Germany
View GitHub Profile
@michaelwoerister
michaelwoerister / unordered_items.rs
Created April 4, 2022 15:16
Sketch of collection API that does not expose internal ordering of items
use std::collections::HashMap;
use std::hash::Hash;
#[derive(Default)]
pub struct StableMap<K, V> {
inner: HashMap<K, V>,
}
// Basically the same as Iterator<T>, but does not expose the order of the items in it.
pub struct UnorderedItems<T, I: Iterator<Item = T>>(I);
@michaelwoerister
michaelwoerister / snap0.ll
Created November 26, 2019 13:55
Incr. ThinLTO bug
; ModuleID = './rubble.rubble.7rcbfp3g-ble.volatile.rcgu.thin-lto-after-import.bc'
source_filename = "rubble.7rcbfp3g-ble.volatile"
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "thumbv7em-none-unknown-eabi"
%"core::fmt::Formatter" = type { [0 x i32], i32, [0 x i32], i32, [0 x i32], { i32, i32 }, [0 x i32], { i32, i32 }, [0 x i32], { {}*, [3 x i32]* }, [0 x i32], { i32*, i32* }, [0 x i32], { [0 x { i8*, i8* }]*, i32 }, [0 x i8], i8, [3 x i8] }
; Function Attrs: nounwind optsize
define hidden zeroext i1 @_RNvXsL_NtCseKQf8aCwZVA_4core3fmtRNtNtCs4fqI2P2rA04_6rubble3ble8DurationNtB5_5Debug3fmtBz_(i32** noalias nocapture readonly align 4 dereferenceable(4), %"core::fmt::Formatter"* align 4 dereferenceable(52)) unnamed_addr #0 {
%3 = load i32*, i32** %0, align 4, !nonnull !0
@michaelwoerister
michaelwoerister / main.ll
Created September 10, 2019 14:43
Sample PGO LLVM IR from pgo-use test case in rustc
; ModuleID = 'main.7rcbfp3g-cgu.0'
source_filename = "main.7rcbfp3g-cgu.0"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"std::ffi::os_str::OsString" = type { [0 x i64], %"std::sys_common::os_str_bytes::Buf", [0 x i64] }
%"std::sys_common::os_str_bytes::Buf" = type { [0 x i64], %"alloc::vec::Vec<u8>", [0 x i64] }
%"alloc::vec::Vec<u8>" = type { [0 x i64], { i8*, i64 }, [0 x i64], i64, [0 x i64] }
%"core::iter::adapters::Skip<std::env::Args>" = type { [0 x i64], %"std::env::Args", [0 x i64], i64, [0 x i64] }
%"std::env::Args" = type { [0 x i64], %"std::env::ArgsOs", [0 x i64] }
@michaelwoerister
michaelwoerister / keybase.md
Created September 6, 2019 07:50
keybase.md

Keybase proof

I hereby claim:

  • I am michaelwoerister on github.
  • I am mwoerister (https://keybase.io/mwoerister) on keybase.
  • I have a public key ASAiBOJVyIGLoLANemxgpRUYqC5Zp_S60y2ZO10ToNCkGgo

To claim this, I am signing this object:

@michaelwoerister
michaelwoerister / log.txt
Created April 3, 2019 08:41
FF PGO Linux64 Clang8 nightly rustc compilation works without verbose flag
Config object not found by mach.
0:00.28 Clobber not needed.
0:00.28 Adding make options from /home/mw/gecko-dev/.mozconfig
MOZ_OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
FOUND_MOZCONFIG=/home/mw/gecko-dev/.mozconfig
export FOUND_MOZCONFIG
0:00.29 /usr/bin/gmake -f client.mk -s configure
0:00.31 cd /home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
0:00.31 /home/mw/gecko-dev/configure
@michaelwoerister
michaelwoerister / log.txt
Created April 2, 2019 15:10
build-ff-moz-pgo-clang-8-rustc-nightly-j-1
This file has been truncated, but you can view the full file.
Config object not found by mach.
0:00.30 Clobber not needed.
0:00.30 Adding make options from /home/mw/gecko-dev/.mozconfig
MOZ_OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
FOUND_MOZCONFIG=/home/mw/gecko-dev/.mozconfig
export FOUND_MOZCONFIG
0:00.31 /usr/bin/gmake -f client.mk -s configure
0:00.32 cd /home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
0:00.32 /home/mw/gecko-dev/configure
@michaelwoerister
michaelwoerister / log.txt
Created April 2, 2019 15:10
build-ff-moz-pgo-clang-8-rustc-nightly-j-1
This file has been truncated, but you can view the full file.
Config object not found by mach.
0:00.30 Clobber not needed.
0:00.30 Adding make options from /home/mw/gecko-dev/.mozconfig
MOZ_OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
FOUND_MOZCONFIG=/home/mw/gecko-dev/.mozconfig
export FOUND_MOZCONFIG
0:00.31 /usr/bin/gmake -f client.mk -s configure
0:00.32 cd /home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
0:00.32 /home/mw/gecko-dev/configure
@michaelwoerister
michaelwoerister / log.txt
Created April 2, 2019 13:09
clang-8-nightly-rust-linux failing log
This file has been truncated, but you can view the full file.
0:00.26 Clobber not needed.
0:00.26 Adding make options from /home/mw/gecko-dev/.mozconfig
MOZ_OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
FOUND_MOZCONFIG=/home/mw/gecko-dev/.mozconfig
export FOUND_MOZCONFIG
0:00.27 /usr/bin/gmake -f client.mk BUILD_VERBOSE_LOG=1
0:00.30 /usr/bin/gmake -j20 -C /home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
0:00.30 gmake[1]: Entering directory '/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu'
0:00.34 /usr/bin/gmake default MOZ_PROFILE_GENERATE=1 MOZ_LTO=
@michaelwoerister
michaelwoerister / log.txt
Created March 29, 2019 09:59
log - FF - linux64 - profile-generate / -Zpgo-gen / -Zpgo-use
This file has been truncated, but you can view the full file.
0:00.30 Clobber not needed.
0:00.30 Adding make options from /home/mw/gecko-dev/.mozconfig
MOZ_OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
OBJDIR=/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
FOUND_MOZCONFIG=/home/mw/gecko-dev/.mozconfig
export FOUND_MOZCONFIG
0:00.31 /usr/bin/gmake -f client.mk BUILD_VERBOSE_LOG=1
0:00.34 /usr/bin/gmake -j20 -C /home/mw/gecko-dev/obj-x86_64-pc-linux-gnu
0:00.35 gmake[1]: Entering directory '/home/mw/gecko-dev/obj-x86_64-pc-linux-gnu'
0:00.39 /usr/bin/gmake default MOZ_PROFILE_GENERATE=1 MOZ_LTO=
@michaelwoerister
michaelwoerister / symbols.txt
Created March 14, 2019 09:52
instrumented-encoding_rs.o dumpbin output
Microsoft (R) COFF/PE Dumper Version 14.16.27026.1
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file .\instrumented-encoding_rs.o
File Type: COFF OBJECT
COFF SYMBOL TABLE
000 00000000 SECT1 notype Static | .text