Skip to content

Instantly share code, notes, and snippets.

@jeshan
Created May 27, 2021 21:14
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 jeshan/b8eb3cc7d7c12babedb1884b39b5e5b1 to your computer and use it in GitHub Desktop.
Save jeshan/b8eb3cc7d7c12babedb1884b39b5e5b1 to your computer and use it in GitHub Desktop.
towctrans from musl libc in LLVM IR assembly format
; ModuleID = 'towctrans.lo'
source_filename = "src/ctype/towctrans.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-alpine-linux-musl"
%struct.__locale_struct = type opaque
@casemap.mt = internal constant [3 x i32] [i32 2048, i32 342, i32 57], align 4, !dbg !0
@rules = internal constant [240 x i32] [i32 0, i32 8193, i32 -8192, i32 1949440, i32 190208, i32 30976, i32 9218, i32 257, i32 -256, i32 0, i32 513, i32 -512, i32 -50943, i32 -59392, i32 -30975, i32 -76800, i32 49920, i32 53761, i32 52737, i32 52481, i32 20225, i32 51713, i32 51969, i32 52993, i32 24832, i32 54017, i32 53505, i32 41728, i32 54529, i32 33280, i32 54785, i32 55809, i32 55553, i32 56065, i32 14336, i32 3, i32 -20224, i32 -24831, i32 -14335, i32 2369538, i32 0, i32 257, i32 -256, i32 -52480, i32 -55808, i32 -33279, i32 2763521, i32 -41727, i32 2762753, i32 2768640, i32 -49919, i32 17665, i32 18177, i32 2760448, i32 2759680, i32 2760192, i32 -53760, i32 -52736, i32 -51712, i32 -51968, i32 10833664, i32 10832640, i32 -52992, i32 10823680, i32 10830848, i32 -53504, i32 -54016, i32 2750208, i32 10830080, i32 2751744, i32 -54528, i32 -54784, i32 2746112, i32 10830592, i32 10824192, i32 -17664, i32 -55552, i32 -18176, i32 -56064, i32 10818816, i32 10818048, i32 4989954, i32 0, i32 8193, i32 -8192, i32 257, i32 -256, i32 21504, i32 29697, i32 9729, i32 9473, i32 16385, i32 16129, i32 -9728, i32 -9472, i32 -7936, i32 -16384, i32 -16128, i32 2049, i32 -15872, i32 -14592, i32 -12032, i32 -13824, i32 -2048, i32 -22016, i32 -20480, i32 1792, i32 -29696, i32 -15359, i32 -24576, i32 -1791, i32 7346690, i32 257, i32 -256, i32 8193, i32 -8192, i32 20481, i32 3841, i32 -3840, i32 0, i32 12289, i32 -12288, i32 257, i32 -256, i32 0, i32 770048, i32 1859585, i32 0, i32 9949185, i32 2049, i32 -2048, i32 9045250, i32 0, i32 -770047, i32 -1597952, i32 9028096, i32 -1582336, i32 -1601024, i32 -1600768, i32 -1598464, i32 -1598208, i32 -1596416, i32 0, i32 9058304, i32 9044992, i32 976384, i32 257, i32 -256, i32 0, i32 -15104, i32 -1949439, i32 9379074, i32 2048, i32 -2047, i32 0, i32 22016, i32 -22015, i32 18944, i32 25600, i32 32768, i32 28672, i32 32256, i32 2304, i32 -18943, i32 -2303, i32 -1844480, i32 -25599, i32 -28671, i32 -32767, i32 -32255, i32 11273474, i32 0, i32 4097, i32 -4096, i32 7169, i32 257, i32 -1924351, i32 -2146047, i32 -2115071, i32 -7168, i32 11602690, i32 257, i32 -256, i32 12289, i32 -12288, i32 0, i32 -2750207, i32 -976383, i32 -2746111, i32 -2763520, i32 -2762752, i32 -2759679, i32 -2751743, i32 -2760447, i32 -2760191, i32 -2768639, i32 0, i32 -1859584, i32 0, i32 257, i32 -256, i32 12323842, i32 0, i32 257, i32 -256, i32 -10830847, i32 237569, i32 -9044991, i32 -10823679, i32 12288, i32 -10833663, i32 -10832639, i32 -10830079, i32 -10818047, i32 -10824191, i32 -10818815, i32 -12287, i32 -10830591, i32 -9058303, i32 0, i32 -9949184, i32 -237568, i32 0, i32 8193, i32 -8192, i32 0, i32 10241, i32 -10240, i32 0, i32 16385, i32 -16384, i32 0, i32 8193, i32 -8192, i32 0, i32 8193, i32 -8192, i32 0, i32 8705, i32 -8704], align 16, !dbg !20
@exceptions = internal constant [200 x [2 x i8]] [[2 x i8] c"0\0C", [2 x i8] c"1\0D", [2 x i8] c"x\0E", [2 x i8] c"\7F\0F", [2 x i8] c"\80\10", [2 x i8] c"\81\11", [2 x i8] c"\86\12", [2 x i8] c"\89\13", [2 x i8] c"\8A\13", [2 x i8] c"\8E\14", [2 x i8] c"\8F\15", [2 x i8] c"\90\16", [2 x i8] c"\93\13", [2 x i8] c"\94\17", [2 x i8] c"\95\18", [2 x i8] c"\96\19", [2 x i8] c"\97\1A", [2 x i8] c"\9A\1B", [2 x i8] c"\9C\19", [2 x i8] c"\9D\1C", [2 x i8] c"\9E\1D", [2 x i8] c"\9F\1E", [2 x i8] c"\A6\1F", [2 x i8] c"\A9\1F", [2 x i8] c"\AE\1F", [2 x i8] c"\B1 ", [2 x i8] c"\B2 ", [2 x i8] c"\B7!", [2 x i8] c"\BF\22", [2 x i8] c"\C5#", [2 x i8] c"\C8#", [2 x i8] c"\CB#", [2 x i8] c"\DD$", [2 x i8] c"\F2#", [2 x i8] c"\F6%", [2 x i8] c"\F7&", [2 x i8] c" -", [2 x i8] c":.", [2 x i8] c"=/", [2 x i8] c">0", [2 x i8] c"?1", [2 x i8] c"@1", [2 x i8] c"C2", [2 x i8] c"D3", [2 x i8] c"E4", [2 x i8] c"P5", [2 x i8] c"Q6", [2 x i8] c"R7", [2 x i8] c"S8", [2 x i8] c"T9", [2 x i8] c"Y:", [2 x i8] c"[;", [2 x i8] c"\\<", [2 x i8] c"a=", [2 x i8] c"c>", [2 x i8] c"e?", [2 x i8] c"f@", [2 x i8] c"hA", [2 x i8] c"iB", [2 x i8] c"j@", [2 x i8] c"kC", [2 x i8] c"lD", [2 x i8] c"oB", [2 x i8] c"qE", [2 x i8] c"rF", [2 x i8] c"uG", [2 x i8] c"}H", [2 x i8] c"\82I", [2 x i8] c"\87J", [2 x i8] c"\89K", [2 x i8] c"\8AL", [2 x i8] c"\8BL", [2 x i8] c"\8CM", [2 x i8] c"\92N", [2 x i8] c"\9DO", [2 x i8] c"\9EP", [2 x i8] c"EW", [2 x i8] c"{\1D", [2 x i8] c"|\1D", [2 x i8] c"}\1D", [2 x i8] c"\7FX", [2 x i8] c"\86Y", [2 x i8] c"\88Z", [2 x i8] c"\89Z", [2 x i8] c"\8AZ", [2 x i8] c"\8C[", [2 x i8] c"\8E\\", [2 x i8] c"\8F\\", [2 x i8] c"\AC]", [2 x i8] c"\AD^", [2 x i8] c"\AE^", [2 x i8] c"\AF^", [2 x i8] c"\C2_", [2 x i8] c"\CC`", [2 x i8] c"\CDa", [2 x i8] c"\CEa", [2 x i8] c"\CFb", [2 x i8] c"\D0c", [2 x i8] c"\D1d", [2 x i8] c"\D5e", [2 x i8] c"\D6f", [2 x i8] c"\D7g", [2 x i8] c"\F0h", [2 x i8] c"\F1i", [2 x i8] c"\F2j", [2 x i8] c"\F3k", [2 x i8] c"\F4l", [2 x i8] c"\F5m", [2 x i8] c"\F9n", [2 x i8] c"\FD-", [2 x i8] c"\FE-", [2 x i8] c"\FF-", [2 x i8] c"Pi", [2 x i8] c"Qi", [2 x i8] c"Ri", [2 x i8] c"Si", [2 x i8] c"Ti", [2 x i8] c"Ui", [2 x i8] c"Vi", [2 x i8] c"Wi", [2 x i8] c"Xi", [2 x i8] c"Yi", [2 x i8] c"Zi", [2 x i8] c"[i", [2 x i8] c"\\i", [2 x i8] c"]i", [2 x i8] c"^i", [2 x i8] c"_i", [2 x i8] c"\82\00", [2 x i8] c"\83\00", [2 x i8] c"\84\00", [2 x i8] c"\85\00", [2 x i8] c"\86\00", [2 x i8] c"\87\00", [2 x i8] c"\88\00", [2 x i8] c"\89\00", [2 x i8] c"\C0u", [2 x i8] c"\CFv", [2 x i8] c"\80\89", [2 x i8] c"\81\8A", [2 x i8] c"\82\8B", [2 x i8] c"\85\8C", [2 x i8] c"\86\8D", [2 x i8] c"p\9D", [2 x i8] c"q\9D", [2 x i8] c"v\9E", [2 x i8] c"w\9E", [2 x i8] c"x\9F", [2 x i8] c"y\9F", [2 x i8] c"z\A0", [2 x i8] c"{\A0", [2 x i8] c"|\A1", [2 x i8] c"}\A1", [2 x i8] c"\B3\A2", [2 x i8] c"\BA\A3", [2 x i8] c"\BB\A3", [2 x i8] c"\BC\A4", [2 x i8] c"\BE\A5", [2 x i8] c"\C3\A2", [2 x i8] c"\CC\A4", [2 x i8] c"\DA\A6", [2 x i8] c"\DB\A6", [2 x i8] c"\E5j", [2 x i8] c"\EA\A7", [2 x i8] c"\EB\A7", [2 x i8] c"\ECn", [2 x i8] c"\F3\A2", [2 x i8] c"\F8\A8", [2 x i8] c"\F9\A8", [2 x i8] c"\FA\A9", [2 x i8] c"\FB\A9", [2 x i8] c"\FC\A4", [2 x i8] c"&\B0", [2 x i8] c"*\B1", [2 x i8] c"+\B2", [2 x i8] c"N\B3", [2 x i8] c"\84\08", [2 x i8] c"b\BA", [2 x i8] c"c\BB", [2 x i8] c"d\BC", [2 x i8] c"e\BD", [2 x i8] c"f\BE", [2 x i8] c"m\BF", [2 x i8] c"n\C0", [2 x i8] c"o\C1", [2 x i8] c"p\C2", [2 x i8] c"~\C3", [2 x i8] c"\7F\C3", [2 x i8] c"}\CF", [2 x i8] c"\8D\D0", [2 x i8] c"\94\D1", [2 x i8] c"\AB\D2", [2 x i8] c"\AC\D3", [2 x i8] c"\AD\D4", [2 x i8] c"\B0\D5", [2 x i8] c"\B1\D6", [2 x i8] c"\B2\D7", [2 x i8] c"\C4\D8", [2 x i8] c"\C5\D9", [2 x i8] c"\C6\DA"], align 16, !dbg !31
@tab = internal constant <{ [2603 x i8], [63 x i8] }> <{ [2603 x i8] c"\07\08\09\0A\0B\0C\06\06\06\06\06\06\06\06\06\06\0D\06\06\0E\06\06\06\06\06\06\06\06\0F\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1A\06\06\06\06\06\06\06\1B\06\06\06\06\06\06\06\06\06\06\06\1C\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1D\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1E\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++\01\00TVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\0D\0DN\03N\00$n\00N1&nQN$PN9\14\81\1B\1D\1DS1P1P\0D1P1P1P\1BS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\0A\01+(\06\06\00*\06**+\07\BB\B5+\1E\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\CDF\CD+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\B2\D1\B2\D1\B2\D1\B2\D1\00\00\CD\CC\01\00\D7\D7\D7\D7\D7\83\81\81\81\81\81\81\81\81\81\81\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\1C\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\A6\87\A6\87\A6\87\A6\87\A6\87\A6\87\A6\87\A6*++++++++++++\00\00\00TVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00TVVVVVVVVVVVV\0C\00\0C*+++++++++++++\07*\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0Cl\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9E&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7FVV9++UVV++OVV,+\7FVV\817u[{\\++OVV\02\AC\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\C9\D7~-\81\81\0E~9\7FoW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\BB*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\C9\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\AC\D0\0D\00N1\02\B4\C1\C1\D7\D7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\D7\D7S\C1G\D4\D7\D7\D7\05++++++++++++\07\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00N1P1P1P1P1P1P1P\0D\00\00\00\00\00$P1P1P1P1P\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\'\\{\\{\\{\A4\00\0A\B4\\{\\{O\03*++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00++++++++\07\00HVVVVVVVV\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++++UVVVVVVVVVVVV\0E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$+++++++++++\07\00VVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++UVVVVVVVVVV\0E", [63 x i8] zeroinitializer }>, align 16, !dbg !12
@rulebases = internal constant <{ [490 x i8], [22 x i8] }> <{ [490 x i8] c"\00\06'Qow\00\00\00\00\00\00\00\00\00\00|\00\00\7F\00\00\00\00\00\00\00\00\83\8E\92\97\00\AA\00\00\00\00\00\00\00\00\00\00\B4\C4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\C6\C9\00\00\00\DB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\00\00\00\00\E1\00\00\00\00\00\00\00\E4\00\00\00\00\00\00\00\00\00\00\00\E7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\EA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ED", [22 x i8] zeroinitializer }>, align 16, !dbg !26
@towupper_l = weak alias i32 (i32, %struct.__locale_struct*), i32 (i32, %struct.__locale_struct*)* @__towupper_l
@towlower_l = weak alias i32 (i32, %struct.__locale_struct*), i32 (i32, %struct.__locale_struct*)* @__towlower_l
; Function Attrs: noinline nounwind optnone sspstrong
define i32 @towlower(i32 %0) #0 !dbg !47 {
%2 = alloca i32, align 4
store i32 %0, i32* %2, align 4
call void @llvm.dbg.declare(metadata i32* %2, metadata !52, metadata !DIExpression()), !dbg !53
%3 = load i32, i32* %2, align 4, !dbg !54
%4 = call i32 @casemap(i32 %3, i32 0) #2, !dbg !55
ret i32 %4, !dbg !56
}
; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: noinline nounwind optnone sspstrong
define internal i32 @casemap(i32 %0, i32 %1) #0 !dbg !2 {
%3 = alloca i32, align 4
%4 = alloca i32, align 4
%5 = alloca i32, align 4
%6 = alloca i32, align 4
%7 = alloca i32, align 4
%8 = alloca i32, align 4
%9 = alloca i32, align 4
%10 = alloca i32, align 4
%11 = alloca i32, align 4
%12 = alloca i32, align 4
%13 = alloca i32, align 4
%14 = alloca i32, align 4
%15 = alloca i32, align 4
%16 = alloca i32, align 4
store i32 %0, i32* %4, align 4
call void @llvm.dbg.declare(metadata i32* %4, metadata !57, metadata !DIExpression()), !dbg !58
store i32 %1, i32* %5, align 4
call void @llvm.dbg.declare(metadata i32* %5, metadata !59, metadata !DIExpression()), !dbg !60
call void @llvm.dbg.declare(metadata i32* %6, metadata !61, metadata !DIExpression()), !dbg !62
call void @llvm.dbg.declare(metadata i32* %7, metadata !63, metadata !DIExpression()), !dbg !64
call void @llvm.dbg.declare(metadata i32* %8, metadata !65, metadata !DIExpression()), !dbg !66
call void @llvm.dbg.declare(metadata i32* %9, metadata !67, metadata !DIExpression()), !dbg !68
call void @llvm.dbg.declare(metadata i32* %10, metadata !69, metadata !DIExpression()), !dbg !70
call void @llvm.dbg.declare(metadata i32* %11, metadata !71, metadata !DIExpression()), !dbg !72
call void @llvm.dbg.declare(metadata i32* %12, metadata !73, metadata !DIExpression()), !dbg !74
call void @llvm.dbg.declare(metadata i32* %13, metadata !75, metadata !DIExpression()), !dbg !76
call void @llvm.dbg.declare(metadata i32* %14, metadata !77, metadata !DIExpression()), !dbg !78
call void @llvm.dbg.declare(metadata i32* %15, metadata !79, metadata !DIExpression()), !dbg !80
%17 = load i32, i32* %4, align 4, !dbg !81
store i32 %17, i32* %15, align 4, !dbg !80
%18 = load i32, i32* %4, align 4, !dbg !82
%19 = icmp uge i32 %18, 131072, !dbg !84
br i1 %19, label %20, label %22, !dbg !85
20: ; preds = %2
%21 = load i32, i32* %4, align 4, !dbg !86
store i32 %21, i32* %3, align 4, !dbg !87
br label %151, !dbg !87
22: ; preds = %2
%23 = load i32, i32* %4, align 4, !dbg !88
%24 = lshr i32 %23, 8, !dbg !89
store i32 %24, i32* %6, align 4, !dbg !90
%25 = load i32, i32* %4, align 4, !dbg !91
%26 = and i32 %25, 255, !dbg !91
store i32 %26, i32* %4, align 4, !dbg !91
%27 = load i32, i32* %4, align 4, !dbg !92
%28 = udiv i32 %27, 3, !dbg !93
store i32 %28, i32* %7, align 4, !dbg !94
%29 = load i32, i32* %4, align 4, !dbg !95
%30 = urem i32 %29, 3, !dbg !96
store i32 %30, i32* %8, align 4, !dbg !97
%31 = load i32, i32* %6, align 4, !dbg !98
%32 = zext i32 %31 to i64, !dbg !99
%33 = getelementptr inbounds [2666 x i8], [2666 x i8]* bitcast (<{ [2603 x i8], [63 x i8] }>* @tab to [2666 x i8]*), i64 0, i64 %32, !dbg !99
%34 = load i8, i8* %33, align 1, !dbg !99
%35 = zext i8 %34 to i32, !dbg !99
%36 = mul nsw i32 %35, 86, !dbg !100
%37 = load i32, i32* %7, align 4, !dbg !101
%38 = add i32 %36, %37, !dbg !102
%39 = zext i32 %38 to i64, !dbg !103
%40 = getelementptr inbounds [2666 x i8], [2666 x i8]* bitcast (<{ [2603 x i8], [63 x i8] }>* @tab to [2666 x i8]*), i64 0, i64 %39, !dbg !103
%41 = load i8, i8* %40, align 1, !dbg !103
%42 = zext i8 %41 to i32, !dbg !103
store i32 %42, i32* %9, align 4, !dbg !104
%43 = load i32, i32* %9, align 4, !dbg !105
%44 = load i32, i32* %8, align 4, !dbg !106
%45 = zext i32 %44 to i64, !dbg !107
%46 = getelementptr inbounds [3 x i32], [3 x i32]* @casemap.mt, i64 0, i64 %45, !dbg !107
%47 = load i32, i32* %46, align 4, !dbg !107
%48 = mul i32 %43, %47, !dbg !108
%49 = lshr i32 %48, 11, !dbg !109
%50 = urem i32 %49, 6, !dbg !110
store i32 %50, i32* %9, align 4, !dbg !111
%51 = load i32, i32* %6, align 4, !dbg !112
%52 = zext i32 %51 to i64, !dbg !113
%53 = getelementptr inbounds [512 x i8], [512 x i8]* bitcast (<{ [490 x i8], [22 x i8] }>* @rulebases to [512 x i8]*), i64 0, i64 %52, !dbg !113
%54 = load i8, i8* %53, align 1, !dbg !113
%55 = zext i8 %54 to i32, !dbg !113
%56 = load i32, i32* %9, align 4, !dbg !114
%57 = add i32 %55, %56, !dbg !115
%58 = zext i32 %57 to i64, !dbg !116
%59 = getelementptr inbounds [240 x i32], [240 x i32]* @rules, i64 0, i64 %58, !dbg !116
%60 = load i32, i32* %59, align 4, !dbg !116
store i32 %60, i32* %13, align 4, !dbg !117
%61 = load i32, i32* %13, align 4, !dbg !118
%62 = and i32 %61, 255, !dbg !119
store i32 %62, i32* %10, align 4, !dbg !120
%63 = load i32, i32* %13, align 4, !dbg !121
%64 = ashr i32 %63, 8, !dbg !122
store i32 %64, i32* %14, align 4, !dbg !123
%65 = load i32, i32* %10, align 4, !dbg !124
%66 = icmp ult i32 %65, 2, !dbg !126
br i1 %66, label %67, label %76, !dbg !127
67: ; preds = %22
%68 = load i32, i32* %15, align 4, !dbg !128
%69 = load i32, i32* %14, align 4, !dbg !129
%70 = load i32, i32* %10, align 4, !dbg !130
%71 = load i32, i32* %5, align 4, !dbg !131
%72 = xor i32 %70, %71, !dbg !132
%73 = sub i32 0, %72, !dbg !133
%74 = and i32 %69, %73, !dbg !134
%75 = add i32 %68, %74, !dbg !135
store i32 %75, i32* %3, align 4, !dbg !136
br label %151, !dbg !136
76: ; preds = %22
%77 = load i32, i32* %14, align 4, !dbg !137
%78 = and i32 %77, 255, !dbg !138
store i32 %78, i32* %12, align 4, !dbg !139
%79 = load i32, i32* %14, align 4, !dbg !140
%80 = lshr i32 %79, 8, !dbg !141
store i32 %80, i32* %11, align 4, !dbg !142
br label %81, !dbg !143
81: ; preds = %148, %76
%82 = load i32, i32* %12, align 4, !dbg !144
%83 = icmp ne i32 %82, 0, !dbg !143
br i1 %83, label %84, label %149, !dbg !143
84: ; preds = %81
call void @llvm.dbg.declare(metadata i32* %16, metadata !145, metadata !DIExpression()), !dbg !147
%85 = load i32, i32* %11, align 4, !dbg !148
%86 = load i32, i32* %12, align 4, !dbg !149
%87 = udiv i32 %86, 2, !dbg !150
%88 = add i32 %85, %87, !dbg !151
%89 = zext i32 %88 to i64, !dbg !152
%90 = getelementptr inbounds [200 x [2 x i8]], [200 x [2 x i8]]* @exceptions, i64 0, i64 %89, !dbg !152
%91 = getelementptr inbounds [2 x i8], [2 x i8]* %90, i64 0, i64 0, !dbg !152
%92 = load i8, i8* %91, align 2, !dbg !152
%93 = zext i8 %92 to i32, !dbg !152
store i32 %93, i32* %16, align 4, !dbg !147
%94 = load i32, i32* %16, align 4, !dbg !153
%95 = load i32, i32* %4, align 4, !dbg !155
%96 = icmp eq i32 %94, %95, !dbg !156
br i1 %96, label %97, label %131, !dbg !157
97: ; preds = %84
%98 = load i32, i32* %11, align 4, !dbg !158
%99 = load i32, i32* %12, align 4, !dbg !160
%100 = udiv i32 %99, 2, !dbg !161
%101 = add i32 %98, %100, !dbg !162
%102 = zext i32 %101 to i64, !dbg !163
%103 = getelementptr inbounds [200 x [2 x i8]], [200 x [2 x i8]]* @exceptions, i64 0, i64 %102, !dbg !163
%104 = getelementptr inbounds [2 x i8], [2 x i8]* %103, i64 0, i64 1, !dbg !163
%105 = load i8, i8* %104, align 1, !dbg !163
%106 = zext i8 %105 to i64, !dbg !164
%107 = getelementptr inbounds [240 x i32], [240 x i32]* @rules, i64 0, i64 %106, !dbg !164
%108 = load i32, i32* %107, align 4, !dbg !164
store i32 %108, i32* %13, align 4, !dbg !165
%109 = load i32, i32* %13, align 4, !dbg !166
%110 = and i32 %109, 255, !dbg !167
store i32 %110, i32* %10, align 4, !dbg !168
%111 = load i32, i32* %13, align 4, !dbg !169
%112 = ashr i32 %111, 8, !dbg !170
store i32 %112, i32* %14, align 4, !dbg !171
%113 = load i32, i32* %10, align 4, !dbg !172
%114 = icmp ult i32 %113, 2, !dbg !174
br i1 %114, label %115, label %124, !dbg !175
115: ; preds = %97
%116 = load i32, i32* %15, align 4, !dbg !176
%117 = load i32, i32* %14, align 4, !dbg !177
%118 = load i32, i32* %10, align 4, !dbg !178
%119 = load i32, i32* %5, align 4, !dbg !179
%120 = xor i32 %118, %119, !dbg !180
%121 = sub i32 0, %120, !dbg !181
%122 = and i32 %117, %121, !dbg !182
%123 = add i32 %116, %122, !dbg !183
store i32 %123, i32* %3, align 4, !dbg !184
br label %151, !dbg !184
124: ; preds = %97
%125 = load i32, i32* %15, align 4, !dbg !185
%126 = load i32, i32* %5, align 4, !dbg !186
%127 = icmp ne i32 %126, 0, !dbg !186
%128 = zext i1 %127 to i64, !dbg !186
%129 = select i1 %127, i32 -1, i32 1, !dbg !186
%130 = add nsw i32 %125, %129, !dbg !187
store i32 %130, i32* %3, align 4, !dbg !188
br label %151, !dbg !188
131: ; preds = %84
%132 = load i32, i32* %16, align 4, !dbg !189
%133 = load i32, i32* %4, align 4, !dbg !191
%134 = icmp ugt i32 %132, %133, !dbg !192
br i1 %134, label %135, label %138, !dbg !193
135: ; preds = %131
%136 = load i32, i32* %12, align 4, !dbg !194
%137 = udiv i32 %136, 2, !dbg !194
store i32 %137, i32* %12, align 4, !dbg !194
br label %147, !dbg !196
138: ; preds = %131
%139 = load i32, i32* %12, align 4, !dbg !197
%140 = udiv i32 %139, 2, !dbg !199
%141 = load i32, i32* %11, align 4, !dbg !200
%142 = add i32 %141, %140, !dbg !200
store i32 %142, i32* %11, align 4, !dbg !200
%143 = load i32, i32* %12, align 4, !dbg !201
%144 = udiv i32 %143, 2, !dbg !202
%145 = load i32, i32* %12, align 4, !dbg !203
%146 = sub i32 %145, %144, !dbg !203
store i32 %146, i32* %12, align 4, !dbg !203
br label %147
147: ; preds = %138, %135
br label %148
148: ; preds = %147
br label %81, !dbg !143, !llvm.loop !204
149: ; preds = %81
%150 = load i32, i32* %15, align 4, !dbg !206
store i32 %150, i32* %3, align 4, !dbg !207
br label %151, !dbg !207
151: ; preds = %149, %124, %115, %67, %20
%152 = load i32, i32* %3, align 4, !dbg !208
ret i32 %152, !dbg !208
}
; Function Attrs: noinline nounwind optnone sspstrong
define i32 @towupper(i32 %0) #0 !dbg !209 {
%2 = alloca i32, align 4
store i32 %0, i32* %2, align 4
call void @llvm.dbg.declare(metadata i32* %2, metadata !210, metadata !DIExpression()), !dbg !211
%3 = load i32, i32* %2, align 4, !dbg !212
%4 = call i32 @casemap(i32 %3, i32 1) #2, !dbg !213
ret i32 %4, !dbg !214
}
; Function Attrs: noinline nounwind optnone sspstrong
define i32 @__towupper_l(i32 %0, %struct.__locale_struct* %1) #0 !dbg !215 {
%3 = alloca i32, align 4
%4 = alloca %struct.__locale_struct*, align 8
store i32 %0, i32* %3, align 4
call void @llvm.dbg.declare(metadata i32* %3, metadata !221, metadata !DIExpression()), !dbg !222
store %struct.__locale_struct* %1, %struct.__locale_struct** %4, align 8
call void @llvm.dbg.declare(metadata %struct.__locale_struct** %4, metadata !223, metadata !DIExpression()), !dbg !224
%5 = load i32, i32* %3, align 4, !dbg !225
%6 = call i32 @towupper(i32 %5) #2, !dbg !226
ret i32 %6, !dbg !227
}
; Function Attrs: noinline nounwind optnone sspstrong
define i32 @__towlower_l(i32 %0, %struct.__locale_struct* %1) #0 !dbg !228 {
%3 = alloca i32, align 4
%4 = alloca %struct.__locale_struct*, align 8
store i32 %0, i32* %3, align 4
call void @llvm.dbg.declare(metadata i32* %3, metadata !229, metadata !DIExpression()), !dbg !230
store %struct.__locale_struct* %1, %struct.__locale_struct** %4, align 8
call void @llvm.dbg.declare(metadata %struct.__locale_struct** %4, metadata !231, metadata !DIExpression()), !dbg !232
%5 = load i32, i32* %3, align 4, !dbg !233
%6 = call i32 @towlower(i32 %5) #2, !dbg !234
ret i32 %6, !dbg !235
}
attributes #0 = { noinline nounwind optnone sspstrong "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone speculatable willreturn }
attributes #2 = { nobuiltin "no-builtins" }
!llvm.dbg.cu = !{!8}
!llvm.module.flags = !{!40, !41, !42, !43, !44, !45}
!llvm.ident = !{!46}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "mt", scope: !2, file: !3, line: 26, type: !37, isLocal: true, isDefinition: true)
!2 = distinct !DISubprogram(name: "casemap", scope: !3, file: !3, line: 12, type: !4, scopeLine: 13, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !8, retainedNodes: !9)
!3 = !DIFile(filename: "src/ctype/towctrans.c", directory: "/app/aports-3.13-stable/main/musl/src/v1.2.2")
!4 = !DISubroutineType(types: !5)
!5 = !{!6, !7, !6}
!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!7 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!8 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "Alpine clang version 10.0.1 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !9, retainedTypes: !10, globals: !11, splitDebugInlining: false, nameTableKind: None)
!9 = !{}
!10 = !{!7}
!11 = !{!0, !12, !20, !26, !31}
!12 = !DIGlobalVariableExpression(var: !13, expr: !DIExpression())
!13 = distinct !DIGlobalVariable(name: "tab", scope: !8, file: !14, line: 1, type: !15, isLocal: true, isDefinition: true)
!14 = !DIFile(filename: "src/ctype/casemap.h", directory: "/app/aports-3.13-stable/main/musl/src/v1.2.2")
!15 = !DICompositeType(tag: DW_TAG_array_type, baseType: !16, size: 21328, elements: !18)
!16 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !17)
!17 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!18 = !{!19}
!19 = !DISubrange(count: 2666)
!20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression())
!21 = distinct !DIGlobalVariable(name: "rules", scope: !8, file: !14, line: 170, type: !22, isLocal: true, isDefinition: true)
!22 = !DICompositeType(tag: DW_TAG_array_type, baseType: !23, size: 7680, elements: !24)
!23 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !6)
!24 = !{!25}
!25 = !DISubrange(count: 240)
!26 = !DIGlobalVariableExpression(var: !27, expr: !DIExpression())
!27 = distinct !DIGlobalVariable(name: "rulebases", scope: !8, file: !14, line: 212, type: !28, isLocal: true, isDefinition: true)
!28 = !DICompositeType(tag: DW_TAG_array_type, baseType: !16, size: 4096, elements: !29)
!29 = !{!30}
!30 = !DISubrange(count: 512)
!31 = !DIGlobalVariableExpression(var: !32, expr: !DIExpression())
!32 = distinct !DIGlobalVariable(name: "exceptions", scope: !8, file: !14, line: 246, type: !33, isLocal: true, isDefinition: true)
!33 = !DICompositeType(tag: DW_TAG_array_type, baseType: !16, size: 3200, elements: !34)
!34 = !{!35, !36}
!35 = !DISubrange(count: 200)
!36 = !DISubrange(count: 2)
!37 = !DICompositeType(tag: DW_TAG_array_type, baseType: !23, size: 96, elements: !38)
!38 = !{!39}
!39 = !DISubrange(count: 3)
!40 = !{i32 7, !"Dwarf Version", i32 4}
!41 = !{i32 2, !"Debug Info Version", i32 3}
!42 = !{i32 1, !"wchar_size", i32 4}
!43 = !{i32 7, !"PIC Level", i32 2}
!44 = !{i32 1, !"ThinLTO", i32 0}
!45 = !{i32 1, !"EnableSplitLTOUnit", i32 1}
!46 = !{!"Alpine clang version 10.0.1 "}
!47 = distinct !DISubprogram(name: "towlower", scope: !3, file: !3, line: 63, type: !48, scopeLine: 64, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !9)
!48 = !DISubroutineType(types: !49)
!49 = !{!50, !50}
!50 = !DIDerivedType(tag: DW_TAG_typedef, name: "wint_t", file: !51, line: 198, baseType: !7)
!51 = !DIFile(filename: "obj/include/bits/alltypes.h", directory: "/app/aports-3.13-stable/main/musl/src/v1.2.2")
!52 = !DILocalVariable(name: "wc", arg: 1, scope: !47, file: !3, line: 63, type: !50)
!53 = !DILocation(line: 63, column: 24, scope: !47)
!54 = !DILocation(line: 65, column: 17, scope: !47)
!55 = !DILocation(line: 65, column: 9, scope: !47)
!56 = !DILocation(line: 65, column: 2, scope: !47)
!57 = !DILocalVariable(name: "c", arg: 1, scope: !2, file: !3, line: 12, type: !7)
!58 = !DILocation(line: 12, column: 29, scope: !2)
!59 = !DILocalVariable(name: "dir", arg: 2, scope: !2, file: !3, line: 12, type: !6)
!60 = !DILocation(line: 12, column: 36, scope: !2)
!61 = !DILocalVariable(name: "b", scope: !2, file: !3, line: 14, type: !7)
!62 = !DILocation(line: 14, column: 11, scope: !2)
!63 = !DILocalVariable(name: "x", scope: !2, file: !3, line: 14, type: !7)
!64 = !DILocation(line: 14, column: 14, scope: !2)
!65 = !DILocalVariable(name: "y", scope: !2, file: !3, line: 14, type: !7)
!66 = !DILocation(line: 14, column: 17, scope: !2)
!67 = !DILocalVariable(name: "v", scope: !2, file: !3, line: 14, type: !7)
!68 = !DILocation(line: 14, column: 20, scope: !2)
!69 = !DILocalVariable(name: "rt", scope: !2, file: !3, line: 14, type: !7)
!70 = !DILocation(line: 14, column: 23, scope: !2)
!71 = !DILocalVariable(name: "xb", scope: !2, file: !3, line: 14, type: !7)
!72 = !DILocation(line: 14, column: 27, scope: !2)
!73 = !DILocalVariable(name: "xn", scope: !2, file: !3, line: 14, type: !7)
!74 = !DILocation(line: 14, column: 31, scope: !2)
!75 = !DILocalVariable(name: "r", scope: !2, file: !3, line: 15, type: !6)
!76 = !DILocation(line: 15, column: 6, scope: !2)
!77 = !DILocalVariable(name: "rd", scope: !2, file: !3, line: 15, type: !6)
!78 = !DILocation(line: 15, column: 9, scope: !2)
!79 = !DILocalVariable(name: "c0", scope: !2, file: !3, line: 15, type: !6)
!80 = !DILocation(line: 15, column: 13, scope: !2)
!81 = !DILocation(line: 15, column: 18, scope: !2)
!82 = !DILocation(line: 17, column: 6, scope: !83)
!83 = distinct !DILexicalBlock(scope: !2, file: !3, line: 17, column: 6)
!84 = !DILocation(line: 17, column: 8, scope: !83)
!85 = !DILocation(line: 17, column: 6, scope: !2)
!86 = !DILocation(line: 17, column: 27, scope: !83)
!87 = !DILocation(line: 17, column: 20, scope: !83)
!88 = !DILocation(line: 19, column: 6, scope: !2)
!89 = !DILocation(line: 19, column: 7, scope: !2)
!90 = !DILocation(line: 19, column: 4, scope: !2)
!91 = !DILocation(line: 20, column: 4, scope: !2)
!92 = !DILocation(line: 21, column: 6, scope: !2)
!93 = !DILocation(line: 21, column: 7, scope: !2)
!94 = !DILocation(line: 21, column: 4, scope: !2)
!95 = !DILocation(line: 22, column: 6, scope: !2)
!96 = !DILocation(line: 22, column: 7, scope: !2)
!97 = !DILocation(line: 22, column: 4, scope: !2)
!98 = !DILocation(line: 25, column: 14, scope: !2)
!99 = !DILocation(line: 25, column: 10, scope: !2)
!100 = !DILocation(line: 25, column: 16, scope: !2)
!101 = !DILocation(line: 25, column: 20, scope: !2)
!102 = !DILocation(line: 25, column: 19, scope: !2)
!103 = !DILocation(line: 25, column: 6, scope: !2)
!104 = !DILocation(line: 25, column: 4, scope: !2)
!105 = !DILocation(line: 27, column: 7, scope: !2)
!106 = !DILocation(line: 27, column: 12, scope: !2)
!107 = !DILocation(line: 27, column: 9, scope: !2)
!108 = !DILocation(line: 27, column: 8, scope: !2)
!109 = !DILocation(line: 27, column: 14, scope: !2)
!110 = !DILocation(line: 27, column: 19, scope: !2)
!111 = !DILocation(line: 27, column: 4, scope: !2)
!112 = !DILocation(line: 32, column: 22, scope: !2)
!113 = !DILocation(line: 32, column: 12, scope: !2)
!114 = !DILocation(line: 32, column: 25, scope: !2)
!115 = !DILocation(line: 32, column: 24, scope: !2)
!116 = !DILocation(line: 32, column: 6, scope: !2)
!117 = !DILocation(line: 32, column: 4, scope: !2)
!118 = !DILocation(line: 33, column: 7, scope: !2)
!119 = !DILocation(line: 33, column: 9, scope: !2)
!120 = !DILocation(line: 33, column: 5, scope: !2)
!121 = !DILocation(line: 34, column: 7, scope: !2)
!122 = !DILocation(line: 34, column: 9, scope: !2)
!123 = !DILocation(line: 34, column: 5, scope: !2)
!124 = !DILocation(line: 38, column: 6, scope: !125)
!125 = distinct !DILexicalBlock(scope: !2, file: !3, line: 38, column: 6)
!126 = !DILocation(line: 38, column: 9, scope: !125)
!127 = !DILocation(line: 38, column: 6, scope: !2)
!128 = !DILocation(line: 38, column: 21, scope: !125)
!129 = !DILocation(line: 38, column: 27, scope: !125)
!130 = !DILocation(line: 38, column: 34, scope: !125)
!131 = !DILocation(line: 38, column: 37, scope: !125)
!132 = !DILocation(line: 38, column: 36, scope: !125)
!133 = !DILocation(line: 38, column: 32, scope: !125)
!134 = !DILocation(line: 38, column: 30, scope: !125)
!135 = !DILocation(line: 38, column: 24, scope: !125)
!136 = !DILocation(line: 38, column: 14, scope: !125)
!137 = !DILocation(line: 42, column: 7, scope: !2)
!138 = !DILocation(line: 42, column: 10, scope: !2)
!139 = !DILocation(line: 42, column: 5, scope: !2)
!140 = !DILocation(line: 43, column: 17, scope: !2)
!141 = !DILocation(line: 43, column: 20, scope: !2)
!142 = !DILocation(line: 43, column: 5, scope: !2)
!143 = !DILocation(line: 44, column: 2, scope: !2)
!144 = !DILocation(line: 44, column: 9, scope: !2)
!145 = !DILocalVariable(name: "try", scope: !146, file: !3, line: 45, type: !7)
!146 = distinct !DILexicalBlock(scope: !2, file: !3, line: 44, column: 13)
!147 = !DILocation(line: 45, column: 12, scope: !146)
!148 = !DILocation(line: 45, column: 29, scope: !146)
!149 = !DILocation(line: 45, column: 32, scope: !146)
!150 = !DILocation(line: 45, column: 34, scope: !146)
!151 = !DILocation(line: 45, column: 31, scope: !146)
!152 = !DILocation(line: 45, column: 18, scope: !146)
!153 = !DILocation(line: 46, column: 7, scope: !154)
!154 = distinct !DILexicalBlock(scope: !146, file: !3, line: 46, column: 7)
!155 = !DILocation(line: 46, column: 14, scope: !154)
!156 = !DILocation(line: 46, column: 11, scope: !154)
!157 = !DILocation(line: 46, column: 7, scope: !146)
!158 = !DILocation(line: 47, column: 25, scope: !159)
!159 = distinct !DILexicalBlock(scope: !154, file: !3, line: 46, column: 17)
!160 = !DILocation(line: 47, column: 28, scope: !159)
!161 = !DILocation(line: 47, column: 30, scope: !159)
!162 = !DILocation(line: 47, column: 27, scope: !159)
!163 = !DILocation(line: 47, column: 14, scope: !159)
!164 = !DILocation(line: 47, column: 8, scope: !159)
!165 = !DILocation(line: 47, column: 6, scope: !159)
!166 = !DILocation(line: 48, column: 9, scope: !159)
!167 = !DILocation(line: 48, column: 11, scope: !159)
!168 = !DILocation(line: 48, column: 7, scope: !159)
!169 = !DILocation(line: 49, column: 9, scope: !159)
!170 = !DILocation(line: 49, column: 11, scope: !159)
!171 = !DILocation(line: 49, column: 7, scope: !159)
!172 = !DILocation(line: 50, column: 8, scope: !173)
!173 = distinct !DILexicalBlock(scope: !159, file: !3, line: 50, column: 8)
!174 = !DILocation(line: 50, column: 11, scope: !173)
!175 = !DILocation(line: 50, column: 8, scope: !159)
!176 = !DILocation(line: 50, column: 23, scope: !173)
!177 = !DILocation(line: 50, column: 29, scope: !173)
!178 = !DILocation(line: 50, column: 36, scope: !173)
!179 = !DILocation(line: 50, column: 39, scope: !173)
!180 = !DILocation(line: 50, column: 38, scope: !173)
!181 = !DILocation(line: 50, column: 34, scope: !173)
!182 = !DILocation(line: 50, column: 32, scope: !173)
!183 = !DILocation(line: 50, column: 26, scope: !173)
!184 = !DILocation(line: 50, column: 16, scope: !173)
!185 = !DILocation(line: 52, column: 11, scope: !159)
!186 = !DILocation(line: 52, column: 17, scope: !159)
!187 = !DILocation(line: 52, column: 14, scope: !159)
!188 = !DILocation(line: 52, column: 4, scope: !159)
!189 = !DILocation(line: 53, column: 14, scope: !190)
!190 = distinct !DILexicalBlock(scope: !154, file: !3, line: 53, column: 14)
!191 = !DILocation(line: 53, column: 20, scope: !190)
!192 = !DILocation(line: 53, column: 18, scope: !190)
!193 = !DILocation(line: 53, column: 14, scope: !154)
!194 = !DILocation(line: 54, column: 7, scope: !195)
!195 = distinct !DILexicalBlock(scope: !190, file: !3, line: 53, column: 23)
!196 = !DILocation(line: 55, column: 3, scope: !195)
!197 = !DILocation(line: 56, column: 10, scope: !198)
!198 = distinct !DILexicalBlock(scope: !190, file: !3, line: 55, column: 10)
!199 = !DILocation(line: 56, column: 12, scope: !198)
!200 = !DILocation(line: 56, column: 7, scope: !198)
!201 = !DILocation(line: 57, column: 10, scope: !198)
!202 = !DILocation(line: 57, column: 12, scope: !198)
!203 = !DILocation(line: 57, column: 7, scope: !198)
!204 = distinct !{!204, !143, !205}
!205 = !DILocation(line: 59, column: 2, scope: !2)
!206 = !DILocation(line: 60, column: 9, scope: !2)
!207 = !DILocation(line: 60, column: 2, scope: !2)
!208 = !DILocation(line: 61, column: 1, scope: !2)
!209 = distinct !DISubprogram(name: "towupper", scope: !3, file: !3, line: 68, type: !48, scopeLine: 69, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !9)
!210 = !DILocalVariable(name: "wc", arg: 1, scope: !209, file: !3, line: 68, type: !50)
!211 = !DILocation(line: 68, column: 24, scope: !209)
!212 = !DILocation(line: 70, column: 17, scope: !209)
!213 = !DILocation(line: 70, column: 9, scope: !209)
!214 = !DILocation(line: 70, column: 2, scope: !209)
!215 = distinct !DISubprogram(name: "__towupper_l", scope: !3, file: !3, line: 73, type: !216, scopeLine: 74, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !9)
!216 = !DISubroutineType(types: !217)
!217 = !{!50, !50, !218}
!218 = !DIDerivedType(tag: DW_TAG_typedef, name: "locale_t", file: !51, line: 343, baseType: !219)
!219 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !220, size: 64)
!220 = !DICompositeType(tag: DW_TAG_structure_type, name: "__locale_struct", file: !51, line: 343, flags: DIFlagFwdDecl)
!221 = !DILocalVariable(name: "c", arg: 1, scope: !215, file: !3, line: 73, type: !50)
!222 = !DILocation(line: 73, column: 28, scope: !215)
!223 = !DILocalVariable(name: "l", arg: 2, scope: !215, file: !3, line: 73, type: !218)
!224 = !DILocation(line: 73, column: 40, scope: !215)
!225 = !DILocation(line: 75, column: 18, scope: !215)
!226 = !DILocation(line: 75, column: 9, scope: !215)
!227 = !DILocation(line: 75, column: 2, scope: !215)
!228 = distinct !DISubprogram(name: "__towlower_l", scope: !3, file: !3, line: 78, type: !216, scopeLine: 79, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !9)
!229 = !DILocalVariable(name: "c", arg: 1, scope: !228, file: !3, line: 78, type: !50)
!230 = !DILocation(line: 78, column: 28, scope: !228)
!231 = !DILocalVariable(name: "l", arg: 2, scope: !228, file: !3, line: 78, type: !218)
!232 = !DILocation(line: 78, column: 40, scope: !228)
!233 = !DILocation(line: 80, column: 18, scope: !228)
!234 = !DILocation(line: 80, column: 9, scope: !228)
!235 = !DILocation(line: 80, column: 2, scope: !228)
^0 = module: (path: "towctrans.lo", hash: (0, 0, 0, 0, 0))
^1 = gv: (name: "exceptions", summaries: (variable: (module: ^0, flags: (linkage: internal, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), varFlags: (readonly: 1, writeonly: 1)))) ; guid = 86732059878463693
^2 = gv: (name: "casemap", summaries: (function: (module: ^0, flags: (linkage: internal, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), insts: 177, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0), refs: (^3, ^9, ^7, ^6, ^1)))) ; guid = 1801562777319867403
^3 = gv: (name: "tab", summaries: (variable: (module: ^0, flags: (linkage: internal, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), varFlags: (readonly: 1, writeonly: 1)))) ; guid = 3242191788761116127
^4 = gv: (name: "towlower_l", summaries: (alias: (module: ^0, flags: (linkage: weak, notEligibleToImport: 1, live: 0, dsoLocal: 0, canAutoHide: 0), aliasee: ^10))) ; guid = 4742645945087594078
^5 = gv: (name: "towlower", summaries: (function: (module: ^0, flags: (linkage: external, notEligibleToImport: 1, live: 0, dsoLocal: 0, canAutoHide: 0), insts: 5, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0), calls: ((callee: ^2))))) ; guid = 5586237075964028068
^6 = gv: (name: "rules", summaries: (variable: (module: ^0, flags: (linkage: internal, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), varFlags: (readonly: 1, writeonly: 1)))) ; guid = 8267841287748741871
^7 = gv: (name: "rulebases", summaries: (variable: (module: ^0, flags: (linkage: internal, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), varFlags: (readonly: 1, writeonly: 1)))) ; guid = 10601644964188282356
^8 = gv: (name: "__towupper_l", summaries: (function: (module: ^0, flags: (linkage: external, notEligibleToImport: 1, live: 0, dsoLocal: 0, canAutoHide: 0), insts: 7, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0), calls: ((callee: ^13))))) ; guid = 10994762263732014571
^9 = gv: (name: "casemap.mt", summaries: (variable: (module: ^0, flags: (linkage: internal, notEligibleToImport: 1, live: 0, dsoLocal: 1, canAutoHide: 0), varFlags: (readonly: 1, writeonly: 1)))) ; guid = 11594124509780799275
^10 = gv: (name: "__towlower_l", summaries: (function: (module: ^0, flags: (linkage: external, notEligibleToImport: 1, live: 0, dsoLocal: 0, canAutoHide: 0), insts: 7, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0), calls: ((callee: ^5))))) ; guid = 12394728591314337204
^11 = gv: (name: "llvm.dbg.declare") ; guid = 13513223491971101989
^12 = gv: (name: "towupper_l", summaries: (alias: (module: ^0, flags: (linkage: weak, notEligibleToImport: 1, live: 0, dsoLocal: 0, canAutoHide: 0), aliasee: ^8))) ; guid = 13980957050624971669
^13 = gv: (name: "towupper", summaries: (function: (module: ^0, flags: (linkage: external, notEligibleToImport: 1, live: 0, dsoLocal: 0, canAutoHide: 0), insts: 5, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0), calls: ((callee: ^2))))) ; guid = 14625676365288684025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment