-
Notifications
You must be signed in to change notification settings - Fork 11.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mlir] flattener.walkPostOrder exceeds stack #100059
Comments
@llvm/issue-subscribers-mlir-affine Author: Jacques Pienaar (jpienaar)
[https://github.com/llvm/llvm-project/blame/main/mlir/lib/IR/AffineExpr.cpp#L1561](https://github.com/llvm/llvm-project/blame/main/mlir/lib/IR/AffineExpr.cpp#L1561) results in recursing while walking the operation resulting in segfault
Was using something akin to {test = [affine_map<(d0)[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, s51, s52, s53, s54, s55, s56, s57, s58, s59, s60, s61, s62, s63, s64, s65, s66, s67, s68, s69, s70, s71, s72, s73, s74, s75, s76, s77, s78, s79, s80, s81, s82, s83, s84, s85, s86, s87, s88, s89, s90, s91, s92, s93, s94, s95, s96, s97, s98, s99] -> (s0 * 4428 + s1 * 394 - s2 * 5572 - s3 * 9275 + s4 * 4108 + s5 * 6656 + s6 * 7912 - s7 * 1953 - s8 * 7438 - s9 * 7540 - s10 * 131 - s11 * 4508 + s12 * 1560 - s13 * 5586 + s14 * 8159 + s15 * 932 - s16 * 8506 - s17 * 3325 - s18 * 5040 + s19 * 7930 - s20 * 3091 + s21 * 2389 + s22 * 9877 + s23 * 1941 - s24 * 8175 - s25 * 9956 + s26 * 6537 + s27 * 8439 - s28 * 262 - s29 * 8363 - s30 * 34 + s31 * 5919 + s32 * 7510 - s33 * 2022 + s34 * 9986 - s35 * 2417 + s36 * 892 + s37 * 6307 - s38 * 8347 + s39 * 3130 + s40 * 6385 + s41 * 2693 - s42 * 4571 - s43 * 3279 - s44 * 7035 + s45 * 5372 - s46 * 3948 - s47 * 5548 - s48 * 2615 - s49 * 1547 + s50 * 8 - s51 * 4483 - s52 * 9041 + s53 * 2074 + s54 * 6123 + s55 * 9648 - s56 * 4958 - s57 * 8982 + s58 * 8436 - s59 * 7755 - s60 * 3659 + s61 * 3272 + s62 * 6137 + s63 * 1058 + s64 * 3285 - s65 * 985 + s66 * 1658 + s67 * 8626 - s68 * 7975 - s69 * 9610 - s70 * 8678 - s71 * 768 - s72 * 2846 - s73 * 5229 + s74 * 1065 + s75 * 6757 + s76 * 8854 - s77 * 7809 - s78 * 2659 - s79 * 592 - s80 * 5537 - s81 * 7616 + s82 * 2033 - s83 * 5121 - s84 * 9005 - s85 * 8493 + s86 * 4449 - s87 * 5269 - s88 * 8447 + s89 * 8878 + s90 * 1967 + s91 * 1938 + s92 * 2483 - s93 * 6314 + s94 * 7379 + s95 * 6090 + s96 * 1264 - s97 * 5371 + s98 * 1766 - s99 * 2218)>]} Is this just not meant to handle larger equations? |
https://github.com/llvm/llvm-project/blame/main/mlir/lib/IR/AffineExpr.cpp#L1561 It's just check fold result if there has posion expression (like divide by zero), I construct below test cases it's work well.Can you provide me with some additional information? For example, the specific numerical values of s0 s1 s2...
|
https://github.com/llvm/llvm-project/blame/main/mlir/lib/IR/AffineExpr.cpp#L1561 results in recursing while walking the operation resulting in segfault
Was using something akin to
{test = [affine_map<(d0)[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37, s38, s39, s40, s41, s42, s43, s44, s45, s46, s47, s48, s49, s50, s51, s52, s53, s54, s55, s56, s57, s58, s59, s60, s61, s62, s63, s64, s65, s66, s67, s68, s69, s70, s71, s72, s73, s74, s75, s76, s77, s78, s79, s80, s81, s82, s83, s84, s85, s86, s87, s88, s89, s90, s91, s92, s93, s94, s95, s96, s97, s98, s99] -> (s0 * 4428 + s1 * 394 - s2 * 5572 - s3 * 9275 + s4 * 4108 + s5 * 6656 + s6 * 7912 - s7 * 1953 - s8 * 7438 - s9 * 7540 - s10 * 131 - s11 * 4508 + s12 * 1560 - s13 * 5586 + s14 * 8159 + s15 * 932 - s16 * 8506 - s17 * 3325 - s18 * 5040 + s19 * 7930 - s20 * 3091 + s21 * 2389 + s22 * 9877 + s23 * 1941 - s24 * 8175 - s25 * 9956 + s26 * 6537 + s27 * 8439 - s28 * 262 - s29 * 8363 - s30 * 34 + s31 * 5919 + s32 * 7510 - s33 * 2022 + s34 * 9986 - s35 * 2417 + s36 * 892 + s37 * 6307 - s38 * 8347 + s39 * 3130 + s40 * 6385 + s41 * 2693 - s42 * 4571 - s43 * 3279 - s44 * 7035 + s45 * 5372 - s46 * 3948 - s47 * 5548 - s48 * 2615 - s49 * 1547 + s50 * 8 - s51 * 4483 - s52 * 9041 + s53 * 2074 + s54 * 6123 + s55 * 9648 - s56 * 4958 - s57 * 8982 + s58 * 8436 - s59 * 7755 - s60 * 3659 + s61 * 3272 + s62 * 6137 + s63 * 1058 + s64 * 3285 - s65 * 985 + s66 * 1658 + s67 * 8626 - s68 * 7975 - s69 * 9610 - s70 * 8678 - s71 * 768 - s72 * 2846 - s73 * 5229 + s74 * 1065 + s75 * 6757 + s76 * 8854 - s77 * 7809 - s78 * 2659 - s79 * 592 - s80 * 5537 - s81 * 7616 + s82 * 2033 - s83 * 5121 - s84 * 9005 - s85 * 8493 + s86 * 4449 - s87 * 5269 - s88 * 8447 + s89 * 8878 + s90 * 1967 + s91 * 1938 + s92 * 2483 - s93 * 6314 + s94 * 7379 + s95 * 6090 + s96 * 1264 - s97 * 5371 + s98 * 1766 - s99 * 2218)>]}
Is this just not meant to handle larger equations?
The text was updated successfully, but these errors were encountered: