- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
function main()
{
assert(false, "defl0");
}
// получаетм MLIR tsc.exe --emit=mlir C:\temp\2.ts
module {
func @main() {
%false = constant false
typescript.assert %false, "defl0"
return
}
}
// или MLIR-LLVM
module {
llvm.mlir.global internal constant @f_7029868395233414505("C:\\temp\\2.ts\00")
llvm.mlir.global internal constant @m_964876063036005986("defl0\00")
llvm.func @_assert(!llvm.ptr<i8>, !llvm.ptr<i8>, i32)
llvm.func @main() {
%0 = llvm.mlir.constant(false) : i1
llvm.cond_br %0, ^bb1, ^bb2
^bb1: // pred: ^bb0
llvm.return
^bb2: // pred: ^bb0
%1 = llvm.mlir.addressof @m_964876063036005986 : !llvm.ptr<array<6 x i8>>
%2 = llvm.mlir.constant(0 : index) : i64
%3 = llvm.getelementptr %1[%2, %2] : (!llvm.ptr<array<6 x i8>>, i64, i64) -> !llvm.ptr<i8>
%4 = llvm.mlir.addressof @f_7029868395233414505 : !llvm.ptr<array<13 x i8>>
%5 = llvm.mlir.constant(0 : index) : i64
%6 = llvm.getelementptr %4[%5, %5] : (!llvm.ptr<array<13 x i8>>, i64, i64) -> !llvm.ptr<i8>
%7 = llvm.mlir.constant(5 : i32) : i32
llvm.call @_assert(%3, %6, %7) : (!llvm.ptr<i8>, !llvm.ptr<i8>, i32) -> ()
llvm.unreachable
}
}
// переводим в LLVM mlir-translate.exe --mlir-to-llvmir -o=out.il 1.mlir и получаем полный абзец
; ModuleID = 'LLVMDialectModule'
source_filename = "LLVMDialectModule"
@m_15759024501200700639 = internal constant [6 x i8] c"defl2\00"
@f_7029868395233414505 = internal constant [13 x i8] c"C:\\temp\\2.ts\00"
@m_9918845950589312633 = internal constant [6 x i8] c"defl0\00"
declare i8* @malloc(i64)
declare void @free(i8*)
declare void @_assert(i8*, i8*, i32)
define void @main() !dbg !3 {
br i1 false, label %1, label %3, !dbg !7
1: ; preds = %0
br i1 false, label %2, label %4, !dbg !9
2: ; preds = %1
ret void, !dbg !10
3: ; preds = %0
call void @_assert(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @m_9918845950589312633, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @f_7029868395233414505, i64 0, i64 0), i32 5), !dbg !11
unreachable, !dbg !12
4: ; preds = %1
call void @_assert(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @m_15759024501200700639, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @f_7029868395233414505, i64 0, i64 0), i32 12), !dbg !13
unreachable, !dbg !14
}
// компилим это говно и получаем EXE
// llc.exe --filetype=obj -o=out.o out.il
// lld.exe -flavor link out.o "libcmt.lib" "libvcruntime.lib" "kernel32.lib" "libucrt.lib" "uuid.lib"
// запускаем и вуаля
// Output:
// Assertion failed: defl0, file C:\temp\2.ts, line 5
продолжаем говнокодить. что получается из одной строчки после компиляции когда в TypeScript (компайлером)
ну все сказанно в говнокоде
Fike 02.02.2021 19:45 # 0
guest6 02.02.2021 20:17 # 0
vistefan 03.02.2021 03:20 # 0
vistefan 03.02.2021 04:19 # 0
vistefan 03.02.2021 15:49 # 0
vistefan 03.02.2021 15:49 # 0
guest6 03.02.2021 15:51 # 0
Fike 03.02.2021 10:54 # 0
Fike 03.02.2021 11:08 # 0
vistefan 03.02.2021 15:33 # 0
vistefan 03.02.2021 15:28 # 0
Fike 03.02.2021 16:48 # 0
vistefan 04.02.2021 03:03 # 0
vistefan 04.02.2021 03:04 # 0
CupuucKuu_nemyx 16.05.2024 22:27 # 0
vistefan 16.05.2024 22:29 # 0
vistefan 03.02.2021 15:29 # 0
Fike 03.02.2021 16:47 # 0
OCETuHCKuu_nemyx 03.02.2021 23:09 # 0
Fike 03.02.2021 23:44 # 0
bootcamp_dropout 04.02.2021 01:57 # 0
Desktop 04.02.2021 02:28 # 0
bootcamp_dropout 04.02.2021 12:18 # 0
Desktop 04.02.2021 12:41 # 0
3oJIoTou_xyu 04.02.2021 12:46 # 0
http://lurkmore.so/images/1/14/Aksioma_eskobar.jpg
Desktop 04.02.2021 12:47 # 0
Steve_Brown 03.02.2021 11:41 # +1
Fike 03.02.2021 14:18 # 0
и еще соединить их последовательно! блокопитаниевая многоножка
vistefan 03.02.2021 15:33 # 0
vistefan 03.02.2021 15:30 # 0
Fike 03.02.2021 22:42 # 0
https://nfc-systems.com/s4-mini/
guest6 03.02.2021 22:43 # 0
Fike 03.02.2021 22:53 # +1
vistefan 04.02.2021 03:00 # 0
guest6 04.02.2021 13:14 # 0
мама вроде это и делает
vistefan 04.02.2021 15:18 # +1
bormand 05.02.2021 17:36 # 0
Главное не промахнуться ;)
vistefan 05.02.2021 20:55 # 0
bormand 05.02.2021 23:12 # 0
ASD_77 02.02.2021 20:43 # 0
Fike 02.02.2021 20:58 # 0
guest6 02.02.2021 20:31 # +1
— А можно без мата?!
— Шах и блядь!
Fike 02.02.2021 20:36 # 0
ASD_77 02.02.2021 20:44 # 0
MAPTbIwKA 03.02.2021 17:51 # 0
https://soundcloud.com/ithueti/sets/ithueti
MAPTbIwKA 03.02.2021 18:02 # 0
Я ошибся! Подкаст тупой
bootcamp_dropout 03.02.2021 19:58 # 0
guest6 03.02.2021 23:36 # +1
пиздение голосом говно и не нужно by design
OCETuHCKuu_nemyx 03.02.2021 20:54 # 0
OCETuHCKuu_nemyx 03.02.2021 20:57 # 0
Fike 03.02.2021 22:56 # 0
ASD_77 03.02.2021 22:02 # 0
OCETuHCKuu_nemyx 03.02.2021 22:11 # 0
ASD_77 03.02.2021 22:03 # 0
Rooster 03.02.2021 23:10 # 0
OCETuHCKuu_nemyx 03.02.2021 23:14 # 0
Rooster 03.02.2021 23:32 # 0
Rooster 03.02.2021 23:33 # +1
ASD_77 04.02.2021 02:31 # 0