Skip to content

Commit 204b722

Browse files
Apply const folding during inlining.
1 parent 7358777 commit 204b722

33 files changed

+20107
-22770
lines changed

crates/cairo-lang-executable/src/compile_test_data/basic

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ ret;
262262
[ap + 0] = [fp + -7] + 5, ap++;
263263
jmp rel 4;
264264
[ap + 0] = [fp + -7] + 2, ap++;
265-
call rel 89;
265+
call rel 87;
266266
[ap + 0] = [ap + -9], ap++;
267267
[ap + 0] = 1, ap++;
268268
[ap + 0] = [ap + -4], ap++;
@@ -271,7 +271,7 @@ ret;
271271
[ap + 0] = [fp + -7] + 4, ap++;
272272
jmp rel 4;
273273
[ap + 0] = [fp + -7] + 1, ap++;
274-
call rel 80;
274+
call rel 78;
275275
[ap + 0] = [ap + -9], ap++;
276276
[ap + 0] = 1, ap++;
277277
[ap + 0] = [ap + -4], ap++;
@@ -280,14 +280,14 @@ ret;
280280
[ap + 0] = [fp + -7] + 3, ap++;
281281
jmp rel 3;
282282
[ap + 0] = [fp + -7], ap++;
283-
call rel 72;
283+
call rel 70;
284284
[ap + 0] = [ap + -9], ap++;
285285
[ap + 0] = 1, ap++;
286286
[ap + 0] = [ap + -4], ap++;
287287
[ap + 0] = [ap + -4], ap++;
288288
ret;
289289
[ap + 0] = 117999715903629884655797335944760714204113152088920212735095598, ap++;
290-
call rel 67;
290+
call rel 65;
291291
ret;
292292
jmp rel 9 if [fp + -3] != 0;
293293
[ap + 0] = [fp + -6], ap++;
@@ -300,24 +300,22 @@ ret;
300300
jmp rel 7 if [ap + -1] != 0, ap++;
301301
[ap + -1] = [ap + 0] + 340282366920938463463374607431768211456, ap++;
302302
[ap + -1] = [[fp + -6] + 0];
303-
jmp rel 25;
303+
jmp rel 23;
304304
[ap + -1] = [[fp + -6] + 0];
305-
[ap + 0] = [fp + -3], ap++;
306-
call rel 52;
307-
jmp rel 10 if [ap + -2] != 0;
308-
[ap + 0] = [fp + -6] + 1, ap++;
309-
[ap + 0] = [fp + -4], ap++;
310-
[ap + 0] = [ap + -8], ap++;
311-
[ap + 0] = [ap + -4], ap++;
312-
call rel -28;
313-
ret;
314-
call rel 52;
305+
jmp rel 11 if [fp + -3] != 0;
306+
call rel 49;
315307
[ap + 0] = [fp + -6] + 1, ap++;
316308
[ap + 0] = 1, ap++;
317309
[ap + 0] = [ap + -4], ap++;
318310
[ap + 0] = [ap + -4], ap++;
319311
ret;
320-
call rel 48;
312+
[ap + 0] = [fp + -6] + 1, ap++;
313+
[ap + 0] = [fp + -4], ap++;
314+
[ap + 0] = [ap + -3], ap++;
315+
[fp + -3] = [ap + 0] + 1, ap++;
316+
call rel -35;
317+
ret;
318+
call rel 36;
321319
[ap + 0] = [fp + -6] + 1, ap++;
322320
[ap + 0] = 1, ap++;
323321
[ap + 0] = [ap + -4], ap++;
@@ -338,18 +336,11 @@ ap += 1;
338336
[ap + 0] = [ap + -1], ap++;
339337
[ap + 0] = [ap + -2] + 1, ap++;
340338
ret;
341-
jmp rel 7 if [fp + -3] != 0;
342-
[ap + 0] = 1, ap++;
343-
[ap + 0] = 340282366920938463463374607431768211455, ap++;
344-
ret;
345-
[ap + 0] = 0, ap++;
346-
[fp + -3] = [ap + 0] + 1, ap++;
347-
ret;
348339
[ap + 0] = 39878429859763533771555484554338820190071, ap++;
349-
call rel -21;
340+
call rel -9;
350341
ret;
351342
[ap + 0] = 39878429859757942499084499860145094553463, ap++;
352-
call rel -26;
343+
call rel -14;
353344
ret;
354345
// footer
355346
ret;

crates/cairo-lang-filesystem/src/db.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ pub struct ExperimentalFeaturesConfig {
161161
#[serde(default)]
162162
pub coupons: bool,
163163
/// Allows using user defined inline macros.
164+
#[serde(default)]
164165
pub user_defined_inline_macros: bool,
165166
}
166167

0 commit comments

Comments
 (0)