luau/CodeGen/src
Lily Brown 551a43c424
Sync to upstream/release/593 (#1024)
- Updated Roblox copyright to 2023
- Floor division operator `//` (implements #832)
- Autocomplete now shows `end` within `do` blocks
- Restore BraceType when using `Lexer::lookahead` (fixes #1019)

# New typechecker

- Subtyping tests between metatables and tables
- Subtyping tests between string singletons and tables
- Subtyping tests for class types

# Native codegen

- Fixed macOS test failure (wrong spill restore offset)
- Fixed clobbering of non-volatile xmm registers on Windows
- Fixed wrong storage location of SSA reg spills
- Implemented A64 support for add/sub extended
- Eliminated zextReg from A64 lowering
- Remove identical table slot lookups
- Propagate values from predecessor into the linear block
- Disabled reuse slot optimization
- Keep `LuaNode::val` check for nil when optimizing `CHECK_SLOT_MATCH`
- Implemented IR translation of `table.insert` builtin
- Fixed mmap error handling on macOS/Linux

# Tooling

- Used `|` as a column separator instead of `+` in `bench.py`
- Added a `table.sort` micro-benchmark
- Switched `libprotobuf-mutator` to a less problematic version
2023-09-01 10:58:27 -07:00
..
AssemblyBuilderA64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
AssemblyBuilderX64.cpp Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -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/593 (#1024) 2023-09-01 10:58:27 -07:00
CodeBlockUnwind.cpp Sync to upstream/release/584 (#977) 2023-07-14 11:08:53 -07:00
CodeGen.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
CodeGenA64.cpp Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
CodeGenA64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
CodeGenAssembly.cpp Sync to upstream/release/584 (#977) 2023-07-14 11:08:53 -07:00
CodeGenLower.h Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
CodeGenUtils.cpp Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
CodeGenUtils.h Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
CodeGenX64.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
CodeGenX64.h Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
EmitBuiltinsX64.cpp Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07:00
EmitBuiltinsX64.h Sync to upstream/release/574 (#910) 2023-04-28 12:55:13 -07:00
EmitCommon.h Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07:00
EmitCommonA64.h Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
EmitCommonX64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
EmitCommonX64.h Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
EmitInstructionX64.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
EmitInstructionX64.h Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
IrAnalysis.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrBuilder.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrCallWrapperX64.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
IrDump.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrLoweringA64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrLoweringA64.h Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
IrLoweringX64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrLoweringX64.h Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
IrRegAllocA64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrRegAllocA64.h Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
IrRegAllocX64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrTranslateBuiltins.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrTranslateBuiltins.h Sync to upstream/release/584 (#977) 2023-07-14 11:08:53 -07:00
IrTranslation.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrTranslation.h Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
IrUtils.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrValueLocationTracking.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
IrValueLocationTracking.h Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
lcodegen.cpp Add CodeGen C API (#931) 2023-05-18 04:03:29 -07:00
NativeState.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
NativeState.h Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
OptimizeConstProp.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
OptimizeFinalX64.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
UnwindBuilderDwarf2.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
UnwindBuilderWin.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00