luau/CodeGen/include/Luau
Hunter Goldstein c759cd5581
Some checks failed
benchmark / callgrind (map[branch:main name:luau-lang/benchmark-data], ubuntu-22.04) (push) Has been cancelled
build / macos (push) Has been cancelled
build / macos-arm (push) Has been cancelled
build / ubuntu (push) Has been cancelled
build / windows (Win32) (push) Has been cancelled
build / windows (x64) (push) Has been cancelled
build / coverage (push) Has been cancelled
build / web (push) Has been cancelled
release / macos (push) Has been cancelled
release / ubuntu (push) Has been cancelled
release / windows (push) Has been cancelled
release / web (push) Has been cancelled
Sync to upstream/release/656 (#1612)
# General

All code has been re-formatted by `clang-format`; this is not
mechanically enforced, so Luau may go out-of-sync over the course of the
year.

# New Solver

* Track free types interior to a block of code on `Scope`, which should
reduce the number of free types that remain un-generalized after type
checking is complete (e.g.: less errors like `'a <: number is
incompatible with number`).

# Autocomplete

* Fragment autocomplete now does *not* provide suggestions within
comments (matching non-fragment autocomplete behavior).
* Autocomplete now respects iteration and recursion limits (some hangs
will now early exit with a "unification too complex error," some crashes
will now become internal complier exceptions).

# Runtime

* Add a limit to how many Luau codegen slot nodes addresses can be in
use at the same time (fixes #1605, fixes #1558).
* Added constant folding for vector arithmetic (fixes #1553).
* Added support for `buffer.readbits` and `buffer.writebits` (see:
https://github.com/luau-lang/rfcs/pull/18).

---

Co-authored-by: Aaron Weiss <aaronweiss@roblox.com>
Co-authored-by: David Cope <dcope@roblox.com>
Co-authored-by: Hunter Goldstein <hgoldstein@roblox.com>
Co-authored-by: Vighnesh Vijay <vvijay@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
2025-01-10 11:34:39 -08:00
..
AddressA64.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
AssemblyBuilderA64.h CodeGen: Rewrite dot product lowering using a dedicated IR instruction (#1512) 2024-11-08 16:23:09 -08:00
AssemblyBuilderX64.h CodeGen: Rewrite dot product lowering using a dedicated IR instruction (#1512) 2024-11-08 16:23:09 -08:00
BytecodeAnalysis.h Sync to upstream/release/625 (#1252) 2024-05-10 11:21:45 -07:00
BytecodeSummary.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
CodeAllocator.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
CodeBlockUnwind.h Sync to upstream/release/576 (#928) 2023-05-12 10:50:47 -07:00
CodeGen.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
CodeGenCommon.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
ConditionA64.h Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
ConditionX64.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
IrAnalysis.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
IrBuilder.h Sync to upstream/release/630 (#1295) 2024-06-14 13:21:20 -07:00
IrCallWrapperX64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
IrData.h Sync to upstream/release/654 (#1552) 2024-12-02 16:16:33 -08:00
IrDump.h Sync to upstream/release/656 (#1612) 2025-01-10 11:34:39 -08:00
IrRegAllocX64.h Sync to upstream/release/596 (#1050) 2023-09-22 12:12:15 -07:00
IrUtils.h Sync to upstream/release/653 (#1541) 2024-11-22 13:00:51 -08:00
IrVisitUseDef.h Sync to upstream/release/640 (#1374) 2024-08-23 09:35:30 -07:00
Label.h Sync to upstream/release/529 (#505) 2022-05-26 15:08:16 -07:00
NativeProtoExecData.h Sync to upstream/release/620 (#1223) 2024-04-05 13:45:09 -07:00
OperandX64.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
OptimizeConstProp.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
OptimizeDeadStore.h Sync to upstream/release/616 (#1184) 2024-03-08 16:47:53 -08:00
OptimizeFinalX64.h Sync to upstream/release/563 (#833) 2023-02-10 11:40:38 -08:00
RegisterA64.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
RegisterX64.h Sync to upstream/release/613 (#1167) 2024-02-15 18:04:39 -08:00
SharedCodeAllocator.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
UnwindBuilder.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
UnwindBuilderDwarf2.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
UnwindBuilderWin.h Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00