Skip to content

Instantly share code, notes, and snippets.

@TimNN

TimNN/run0b.ll Secret

Created October 8, 2018 20:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TimNN/149b9e5b1967eb0a4d004c34ff73f728 to your computer and use it in GitHub Desktop.
Save TimNN/149b9e5b1967eb0a4d004c34ff73f728 to your computer and use it in GitHub Desktop.
; ModuleID = 'bugpoint-reduced-simplified.bc'
source_filename = "core.3a1fbbbh-cgu.0"
target datalayout = "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8"
target triple = "avr-unknown-unknown"
%"num::bignum::Big32x40.41.177.449.721.1129.1265.1401.1673.2353.2489.4121.4393.5440" = type { [0 x i8], i16, [0 x i8], [40 x i32], [0 x i8] }
; Function Attrs: uwtable
define void @_ZN4core3num7dec2flt3num13digits_to_big17h031da338f3e8f164E() unnamed_addr addrspace(0) #0 personality i32 (...) addrspace(1)* @rust_eh_personality {
start:
%_7.sroa.0.0..sroa_idx.i = getelementptr inbounds %"num::bignum::Big32x40.41.177.449.721.1129.1265.1401.1673.2353.2489.4121.4393.5440", %"num::bignum::Big32x40.41.177.449.721.1129.1265.1401.1673.2353.2489.4121.4393.5440"* undef, i16 0, i32 3, i16 0
switch i2 undef, label %bb5.i2 [
i2 0, label %bb2.i
i2 1, label %bb3.i
i2 -2, label %bb4.i
]
bb2.i: ; preds = %start
unreachable
bb3.i: ; preds = %start
unreachable
bb4.i: ; preds = %start
br i1 undef, label %bb7, label %bb9.i5.i
bb9.i5.i: ; preds = %bb4.i
%0 = call addrspace(1) { i8, i1 } @llvm.usub.with.overflow.i8(i8 0, i8 48)
%1 = extractvalue { i8, i1 } %0, 0
%2 = zext i8 %1 to i32
%3 = load i32, i32* %_7.sroa.0.0..sroa_idx.i, align 1
%4 = call addrspace(1) { i32, i1 } @llvm.uadd.with.overflow.i32(i32 %3, i32 %2) #3
%5 = extractvalue { i32, i1 } %4, 0
store i32 %5, i32* %_7.sroa.0.0..sroa_idx.i, align 1
unreachable
bb5.i2: ; preds = %start
unreachable
bb7: ; preds = %bb4.i
ret void
}
; Function Attrs: nounwind readnone speculatable
declare { i8, i1 } @llvm.usub.with.overflow.i8(i8, i8) addrspace(1) #1
declare i32 @rust_eh_personality(...) unnamed_addr addrspace(1) #2
; Function Attrs: nounwind readnone speculatable
declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32) addrspace(1) #1
attributes #0 = { uwtable }
attributes #1 = { nounwind readnone speculatable }
attributes #2 = { "target-cpu"="atmega32u4" }
attributes #3 = { nounwind }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment