일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TLS
- anti debugging
- thread local storage
- so inject
- apm
- on-stack replacement
- android inject
- v8 tracing
- tracerpid
- Linux packer
- pthread
- OSR
- v8 optimizing
- 난독화
- Linux custom packer
- linux thread
- initial-exec
- Android
- LLVM
- Injection
- LLVM 난독화
- pinpoint
- Obfuscator
- on stack replacement
- linux debugging
- custom packer
- 안티디버깅
- LLVM Obfuscator
- tracing
- uftrace
- Today
- Total
목록LLVM-STUDY (65)
Why should I know this?
https://github.com/llvm/llvm-project/issues/51483 [AArch64] Generate stp for complex repeating constansts · Issue #51483 · llvm/llvm-project Bugzilla Link 52141 Version trunk OS Windows NT Reporter LLVM Bugzilla Contributor CC @Arnaud-de-Grandmaison-ARM,@DMG862,@smithp35 Extended Description For complex repeating constants like: void fo... github.com 유사한 최적화 제의와 성능 리포트. https://github.com/dotnet..
SmallVector WorkList; WorkList.push_back(RetagReg); while (!WorkList.empty()) { Register UseReg = WorkList.pop_back_val(); for (auto &UseI : MRI->use_instructions(UseReg)) { unsigned Opcode = UseI.getOpcode(); if (Opcode == AArch64::STGi || Opcode == AArch64::ST2Gi || Opcode == AArch64::STZGi || Opcode == AArch64::STZ2Gi || Opcode == AArch64::STGPi || Opcode == AArch64::STGloop || Opcode == AArc..
원문 출처 : https://developer.arm.com/documentation/ddi0602/2023-12/Base-Instructions/STP--Store-Pair-of-Registers-?lang=en#iclass_post_index Documentation – Arm Developer developer.arm.com // FIXME: Use dedicated range-checked addressing mode operand here.defm STPW : StorePairOffset;defm STPX : StorePairOffset; multiclass StorePairOffset opc, bit V, RegisterOperand regtype, ..
* 유관 패치를 작성하게 되면 반영하기 위해 남겨놓는 목적 * * 다른 패치 작성자 분들이 혹시 보게 되면 활용해주세요. * AArch64MIPeepholeOpt.cpp::555 // replaceRegWith changes MIs definition register. Keep it for SSA form until // deleting MI. Only if we made a new destination register. if (DstReg != NewDstReg) { MRI->replaceRegWith(DstReg, NewDstReg); MI.getOperand(0).setReg(DstReg); //
https://die4taoam.tistory.com/122 LLVM 에 패치 보내기 튜토리얼 https://youtu.be/C5Y977rLqpw?si=JXvJ7RsQ-26XSW4i 패치 만들고 LLVM 에 보내기 코드를 수정한 뒤 LLVM 에 기여하는 방식은 code-review 과정을 별도의 플랫폼에서 거친다는 차이가 있습니다. 이에 대한 자세한 과정 die4taoam.tistory.com LLVM에 패치 보내는 튜터리얼은, Nikita Popov 가 작성한 글을 기반으로 작성됐습니다. 현재는 이 글에 포함되어 있는 리뷰과정은 모두 완전 github로 옮겨간 점 등이 달라졌으며, github 환경에 익숙한 사람들에게는 오히려 더 쉽게 LLVM에 기여할 수 있는 기회가 될 수 있을 것 같습니다. 이런저..
https://youtu.be/iV5jBtE35r4?si=DrrIq7UaO-bJSlZb 이걸 왜 못봤어나 싶다.
https://youtu.be/y4b-sgp6VYA?si=FBwXN-abkikLJwx0 cmake .. -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_LLD=ON \ -DLLVM_ENABLE_PROJECTS="clang;lld;compiler-rt" \ -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86" \ -DLLVM_ENABLE_ASSERTION=OFF -E : Stop before compiling -S : Stop before assembling -c : Stop before linking Dumping LEXER Tokens clang -Xclang -dump-tokens -E foo.cpp clang -Xclang -hel..
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< ..
~X NOT X A + B NOT -1 -B - A B - A NOT A + (-1 - B) A - B NOT B + (-1 - A) A ^ B NOT A ^ ~B A ^ ~B NOT A ^ B A s>> B NOT ~A s>>B 부연설명 A+B -> -1 -B -A (양->음전) 100+100 이라고 하면, 결과는 200, NOT은 -201이 나와야 함. -100 -100 -1 = -201 A-B -> B + (-A - 1(양>음전)) A^B -> A^~B ; A^B는 A를 -1로 생각하면 -1^B -> ~B가 됨. 이의 NOT은 B. -1^~B = B A s>> B -> ~A s>> B ; (몰?루?)