luau/CodeGen/src
Andy Friesen 8453570658
Sync to upstream/release/575 (#919)
* `Luau.Analyze.CLI` now has experimental support for concurrent type
checking. Use the option `-jN` where `N` is the number of threads to
spawn.
* Improve typechecking performance by ~17% by making the function
`Luau::follow` much more efficient.
* Tighten up the type of `os.date`
* Removed `ParseOptions::allowTypeAnnotations` and
`ParseOptions::supportContinueStatement`

New solver

* Improve the reliability of function overload resolution
* More work toward supporting parallel type checking
* Fix a bug in inference of `==` and `~=` which would erroneously infer
that the operands were `boolean`
* Better error reporting when `for...in` loops are used incorrectly.

CodeGen

* Fix unwind registration when libunwind is used on Linux
* Fixed replaced IR instruction use count
* Convert X64 unwind info generation to standard prologue
* Implement A64 unwind info support for Dwarf2
* Live in/out data for linear blocks is now created
* Add side-exit VM register requirements to the IR dump
* Reuse ConstPropState between block chains 
* Remove redundant base update

---------

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
2023-05-05 14:52:49 -07:00
..
AssemblyBuilderA64.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
AssemblyBuilderX64.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
BitUtils.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
ByteUtils.h Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
CodeAllocator.cpp Sync to upstream/release/568 (#865) 2023-03-17 12:20:37 -07:00
CodeBlockUnwind.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
CodeGen.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
CodeGenA64.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
CodeGenA64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
CodeGenUtils.cpp Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
CodeGenUtils.h Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
CodeGenX64.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
CodeGenX64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
CustomExecUtils.h Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
EmitBuiltinsX64.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
EmitBuiltinsX64.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
EmitCommon.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
EmitCommonA64.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
EmitCommonX64.cpp Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
EmitCommonX64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
EmitInstructionX64.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
EmitInstructionX64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
Fallbacks.cpp Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
Fallbacks.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
FallbacksProlog.h Sync to upstream/release/546 (#681) 2022-09-23 12:17:25 -07:00
IrAnalysis.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
IrBuilder.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
IrCallWrapperX64.cpp Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
IrDump.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
IrLoweringA64.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
IrLoweringA64.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
IrLoweringX64.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
IrLoweringX64.h Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
IrRegAllocA64.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
IrRegAllocA64.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
IrRegAllocX64.cpp Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
IrTranslateBuiltins.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
IrTranslateBuiltins.h Sync to upstream/release/565 (#845) 2023-02-24 13:49:38 -08:00
IrTranslation.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
IrTranslation.h Sync to upstream/release/571 (#895) 2023-04-07 14:01:29 -07:00
IrUtils.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
IrValueLocationTracking.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
IrValueLocationTracking.h Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
NativeState.cpp Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
NativeState.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
OptimizeConstProp.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
OptimizeFinalX64.cpp Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
UnwindBuilderDwarf2.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
UnwindBuilderWin.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00