일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- v8 tracing
- uftrace
- v8 optimizing
- Android
- LLVM Obfuscator
- apm
- OSR
- linux thread
- Injection
- TLS
- on-stack replacement
- so inject
- linux debugging
- pthread
- Linux packer
- 난독화
- on stack replacement
- LLVM
- tracing
- thread local storage
- android inject
- LLVM 난독화
- tracerpid
- pinpoint
- anti debugging
- initial-exec
- Linux custom packer
- custom packer
- 안티디버깅
- Obfuscator
- Today
- Total
목록LLVM-STUDY/PATCH (8)
Why should I know this?
https://github.com/llvm/llvm-project/pull/91762 (기억을 보존하기 위한) 패치 내용 정리.패치 동기LLVM에서는 AND/OR/XOR 연산을 BitwiseLogic 이라고 부른다. 해당 로직들은 특정 상황에서 최적화 될 수 있다.다음의 경우를 보자.define i32 @src_no_trans_select_or_eq0_and_or(i32 %x, i32 %y) {; CHECK-LABEL: @src_no_trans_select_or_eq0_and_or(; CHECK-NEXT: [[OR:%.*]] = or i32 [[X:%.*]], [[Y:%.*]]; CHECK-NEXT: ret i32 [[OR]]; %or = or i32 %x, %y %or0 = icmp eq..
https://github.com/llvm/llvm-project/issues/33874 Improve bitfield arithmetic · Issue #33874 · llvm/llvm-project Bugzilla Link 34526 Version trunk OS Windows NT CC @alexey-bataev,@legrosbuffle,@rotateright Extended Description We could improve math ops on irregular bitfields with the relevant SWAR style patte... github.com 패치목적 // 기존에 생성되던 IR define dso_local i8 @AddCounters(Counters, Counters)(..
https://github.com/llvm/llvm-project/pull/74317 [InstCombine] Generalize folds for inversion of icmp operands by nikic · Pull Request #74317 · llvm/llvm-project We have a bunch of folds that basically perform X pred Y to ~Y pred ~X for various special cases where this saves an instruction. Generalize these folds to use isFreeToInvert(). We have to make sur... github.com // Transform (~X ^ Y) s< ..
이번에 살펴볼 이슈는 이겁니다. https://github.com/llvm/llvm-project/issues/71792 Simplification Comparison for `(a | b) ? (a ^ b) : (a & b)` etc. (Clang13 vs Clang trunk) · Issue #71792 · llvm/llvm-project Consider the following six functions. https://godbolt.org/z/cTsd43jhh bool test1(bool a, bool b) { return (a | b) ? (a ^ b) : (a & b); } bool test2(bool a, bool b) { return (a | b) ? (a & b) : (a ^... gith..
패치 링크 : https://github.com/llvm/llvm-project/issues/70578 [MemCpyOpt] The store instruction should not be removed by DSE. · Issue #70578 · llvm/llvm-project This IR is reduced from rust-lang/rust#116976. declare void @f_byval(ptr byval(i32)) declare void @llvm.memcpy.p0.p0.i64(ptr, ptr, i64, i1) define void @byval_param_noalias_metadata(ptr align 4 byv... github.com 문제 IR https://llvm.godbolt.or..
1. 당면한 문제에 `몰입`도 중요하지만 더 큰 구조를 생각하는 것도 중요하다. 제가 경험했던 패치 https://reviews.llvm.org/D153752 ⚙ D153752 [InstSimplify] Fold icmp comparing GEPs with local allocation This revision is now accepted and ready to land. reviews.llvm.org 최근에 살펴본 패치 https://die4taoam.tistory.com/136 [InstSimplify] Fold (a != 0) ? abs(a) : 0 https://github.com/llvm/llvm-project/pull/70305 [InstSimplify] Fold (a != 0) ? abs(a..
이번에 살펴볼 패치는 매우 짧아서 좋은 패치 입니다. 패치의 링크 https://github.com/llvm/llvm-project/issues/71183 Memcpyopt crashes with simple IR · Issue #71183 · llvm/llvm-project target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:10:11:12:13" target triple = "x86_64-unknown-linux-gnu" define void @"julia_#36#f_439"() { top: call v... github.com 최초에 문제가 발생하는 IR 은 다음과 같습니다. def..
https://github.com/llvm/llvm-project/pull/70305 [InstSimplify] Fold (a != 0) ? abs(a) : 0 by Pierre-vh · Pull Request #70305 · llvm/llvm-project Solves #70204 github.com 문제가 발생하는 경우를 추적해 봅시다. # cat pp.c int f(int a) { if (a) return a > 0 ? a : -a; return 0; } # opt -O2 -S f.ll -print-after-all > log 2>&1 1회차 ; *** IR Dump After InstCombinePass on f *** ; Function Attrs: nounwind uwtable define d..