lean4-htt/tests/compiler
Cameron Zwarich 24cbd4efbe
fix: correctly handle never_extract attribute in LCNF CSE (#8952)
This PR fixes the handling of the `never_extract` attribute in the
compiler's CSE pass. There is an interesting debate to be had about
exactly how hard the compiler should try to avoid duplicating anything
that transitively uses `never_extract`, but this is the simplest form
and roughly matches the check in the old compiler (although due to
different handling of local function decls in the two compilers, the
consequences might be slightly different).

This gets half of the way to #8944.
2025-06-23 23:03:10 +00:00
..
foreign fix: split libleanshared on Windows to avoid symbol limit 2024-08-12 14:14:42 +02:00
.gitignore chore: add .dSYM files (Mac debug symbols) to tests .gitignore files (#8771) 2025-06-13 15:27:46 +00:00
534.lean feat: cleanup of get and back functions on List/Array (#7059) 2025-02-17 01:43:45 +00:00
534.lean.expected.out fix: disable panic messages during initialization 2021-06-29 14:48:48 -07:00
append.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
append.lean.expected.out
array.lean chore: rename Array.data to Array.toList 2024-09-10 15:24:23 +10:00
array.lean.expected.out fix: elim_array_cases 2021-01-04 16:10:49 -08:00
array_test.lean refactor: use Lists for Array reference implementation 2020-11-17 17:05:53 -08:00
array_test.lean.expected.out feat: add Subarray 2020-10-09 16:06:24 -07:00
array_test2.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
array_test2.lean.expected.out
arrayMk.lean fix: Array.mk and Array.data externs 2020-12-13 11:10:01 -08:00
arrayMk.lean.expected.out fix: Array.mk and Array.data externs 2020-12-13 11:10:01 -08:00
bigctor.lean chore: disable injectivity theorems generation for big structure tests 2021-05-15 21:30:40 -07:00
bigctor.lean.expected.out fix: allow bigger ctor objects 2021-01-29 18:23:38 -08:00
bytearray_bug.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
bytearray_bug.lean.expected.out
closure_bug1.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug1.lean.expected.out
closure_bug2.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug2.lean.expected.out
closure_bug3.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug3.lean.expected.out
closure_bug4.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug4.lean.expected.out
closure_bug5.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug5.lean.expected.out
closure_bug6.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug6.lean.expected.out
closure_bug7.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug7.lean.expected.out
closure_bug8.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
closure_bug8.lean.expected.out
computedFieldsExtern.lean.no_interpreter feat: support extern computed fields 2022-07-11 12:26:53 -07:00
escape.lean fix: quoteString at EmitC.lean 2021-10-11 06:16:56 -07:00
escape.lean.expected.out fix: quoteString at EmitC.lean 2021-10-11 06:16:56 -07:00
expr.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
expr.lean.expected.out chore: fix tests after hash change 2022-12-01 20:18:14 -08:00
extractClosedMutualBlock.lean fix: do not extract closed terms containing constants being defined 2021-09-30 12:46:38 -07:00
extractClosedMutualBlock.lean.expected.out fix: do not extract closed terms containing constants being defined 2021-09-30 12:46:38 -07:00
float.lean fix: Inhabited Float produced a bogus run-time value (#6136) 2024-11-20 10:43:59 +00:00
float.lean.expected.out fix: Inhabited Float produced a bogus run-time value (#6136) 2024-11-20 10:43:59 +00:00
float_cases_bug.lean chore: HasToString => ToString 2020-10-27 16:11:48 -07:00
float_cases_bug.lean.expected.out
init.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
init.lean.expected.out feat: expand initialize macro 2020-10-10 08:23:49 -07:00
init.lean.no_interpreter feat: expand initialize macro 2020-10-10 08:23:49 -07:00
initUnboxed.lean fix: codegen initUnboxed correctly in LLVM backend (#2015) 2023-01-07 16:26:53 +01:00
initUnboxed.lean.expected.out fix: fixes #1998 2023-01-03 16:01:27 -08:00
initUnboxed.lean.no_interpreter fix: fixes #1998 2023-01-03 16:01:27 -08:00
lazylist.lean feat: LLVM backend (#1837) 2022-12-30 12:45:30 +01:00
lazylist.lean.expected.out
lazylist.lean.no_interpreter
link_lake.lean fix: do not dllexport symbols in core static libraries (#3601) 2024-03-15 11:58:34 +00:00
link_lake.lean.expected.out fix: ship libLake.a 2023-07-21 09:19:19 +02:00
map_big.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
map_big.lean.expected.out
map_big.lean.no_interpreter
nat_shiftr.lean feat: optimize lean_nat_shiftr for scalars (#8268) 2025-05-11 01:39:59 +00:00
nat_shiftr.lean.expected.out feat: optimize lean_nat_shiftr for scalars (#8268) 2025-05-11 01:39:59 +00:00
never_extract.lean fix: correctly handle never_extract attribute in LCNF CSE (#8952) 2025-06-23 23:03:10 +00:00
never_extract.lean.expected.out fix: correctly handle never_extract attribute in LCNF CSE (#8952) 2025-06-23 23:03:10 +00:00
overflow1.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow1.lean.expected.out fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow2.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow2.lean.expected.out fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow3.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow3.lean.expected.out fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
partial.lean refactor: make String.Pos opaque 2022-03-20 10:47:13 -07:00
partial.lean.expected.out
phashmap.lean feat: Nat.(fold|foldRev|any|all)M? take a function which sees the upper bound (#6139) 2024-11-22 03:05:51 +00:00
phashmap.lean.expected.out chore: fix tests 2024-06-19 20:21:34 +02:00
phashmap2.lean feat: Nat.(fold|foldRev|any|all)M? take a function which sees the upper bound (#6139) 2024-11-22 03:05:51 +00:00
phashmap2.lean.expected.out
phashmap3.lean feat: Nat.(fold|foldRev|any|all)M? take a function which sees the upper bound (#6139) 2024-11-22 03:05:51 +00:00
phashmap3.lean.expected.out
print_error.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
print_error.lean.expected.out chore: remove test special case 2020-05-04 11:11:11 +02:00
print_error.lean.expected.ret chore: remove test special case 2020-05-04 11:11:11 +02:00
qsortBadLt.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
qsortBadLt.lean.expected.out
rbmap_library.lean feat: Nat.(fold|foldRev|any|all)M? take a function which sees the upper bound (#6139) 2024-11-22 03:05:51 +00:00
rbmap_library.lean.expected.out
reusebug.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
reusebug.lean.expected.out
StackOverflow.lean chore: snake-case attributes (part 1) 2022-10-19 09:28:08 -07:00
StackOverflow.lean.expected.out feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflow.lean.expected.ret feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflow.lean.no_interpreter feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflowTask.lean chore: snake-case attributes (part 1) 2022-10-19 09:28:08 -07:00
StackOverflowTask.lean.expected.out feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflowTask.lean.expected.ret feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflowTask.lean.no_interpreter feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
str.lean fix: compiled string literals containing null bytes 2022-05-17 09:24:34 -07:00
str.lean.expected.out fix: compiled string literals containing null bytes 2022-05-17 09:24:34 -07:00
strictAndOr.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
strictAndOr.lean.expected.out
strictOrSimp.lean.expected.out
t1.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
t1.lean.expected.out
t2.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
t2.lean.expected.out test: do not ignore whitespace in diff 2020-08-06 09:26:48 -07:00
t4.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
t4.lean.expected.out
test_single.sh feat: LLVM backend (#1837) 2022-12-30 12:45:30 +01:00
test_single_interpret.sh fix: unused variables linter review comments 2022-06-03 13:03:52 +02:00
thunk.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
thunk.lean.expected.out
trie.lean chore: fix spelling mistakes in tests (#5439) 2024-09-24 03:22:53 +00:00
trie.lean.expected.out perf: Use flat ByteArrays in Trie (#2529) 2023-09-20 13:22:37 +02:00
trigraphs.lean test: C trigraph 2023-11-06 16:31:05 +01:00
trigraphs.lean.expected.out test: C trigraph 2023-11-06 16:31:05 +01:00
tuple.lean feat: allow trailing comma in tuples, lists, and tactics (#2643) 2023-11-17 13:31:41 +01:00
tuple.lean.expected.out feat: allow trailing comma in tuples, lists, and tactics (#2643) 2023-11-17 13:31:41 +01:00
uint_fold.lean chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
uint_fold.lean.expected.out
unreachable.lean feat: implement unreachable codegen for LLVM 2023-01-12 09:17:41 +01:00
unreachable.lean.expected.out feat: implement unreachable codegen for LLVM 2023-01-12 09:17:41 +01:00
uset.lean feat: Simp.Config.implicitDefEqProofs (#4595) 2024-11-29 22:29:27 +00:00
uset.lean.expected.out feat: implement uset for LLVM (#2025) 2023-01-09 12:25:37 +00:00
wait_dedicated.lean feat: wait on dedicated tasks after main is finished (#7958) 2025-04-14 11:53:54 +00:00
wait_dedicated.lean.expected.out feat: wait on dedicated tasks after main is finished (#7958) 2025-04-14 11:53:54 +00:00