tinygo/compiler
Jaden Weiss 5cc130bb6e
compiler: implement spec-compliant shifts
Previously, the compiler used LLVM's shift instructions directly, which have UB whenever the shifts are large or negative.
This commit adds runtime checks for negative shifts, and handles oversized shifts.
2020-03-28 17:35:19 +01:00
..
ircheck compiler: move IR checker to separate package 2020-03-21 15:45:25 +01:00
llvmutil compiler/llvmutil: move constant pointer packs into constant globals 2020-02-24 23:27:04 +01:00
asserts.go compiler: implement spec-compliant shifts 2020-03-28 17:35:19 +01:00
calls.go compiler: add dereferenceable_or_null attribute where possible 2020-03-27 07:38:16 +01:00
channel.go compiler: refactor creating of channel operations 2020-03-25 20:17:46 +01:00
compiler.go compiler: implement spec-compliant shifts 2020-03-28 17:35:19 +01:00
defer.go compiler: refactor defer operations 2020-03-25 20:17:46 +01:00
errors.go compiler: rename Compiler.getValue -> builder.getValue 2020-03-25 20:17:46 +01:00
func.go compiler: add dereferenceable_or_null attribute where possible 2020-03-27 07:38:16 +01:00
gc.go compiler: remove leftover code after refactor 2020-03-25 20:17:46 +01:00
goroutine.go compiler: refactor starting new goroutines 2020-03-25 20:17:46 +01:00
inlineasm.go compiler: refactor function calling 2020-03-25 20:17:46 +01:00
interface.go compiler: add dereferenceable_or_null attribute where possible 2020-03-27 07:38:16 +01:00
interrupt.go compiler: refactor function calling 2020-03-25 20:17:46 +01:00
intrinsics.go compiler,runtime: translate memzero calls to LLVM memset intrinsics 2020-03-27 21:01:59 +01:00
llvm.go compiler: remove leftover code after refactor 2020-03-25 20:17:46 +01:00
map.go compiler: refactor map operations to use the builder object 2020-03-25 20:17:46 +01:00
sizes.go compiler: don't crash when encountering types.Invalid 2019-12-30 13:40:37 +01:00
symbol.go compiler: refactor public interface 2020-03-25 20:17:46 +01:00
syscall.go compiler: refactor function calling 2020-03-25 20:17:46 +01:00
volatile.go compiler: do not perform nil checking when indexing slices 2020-03-27 07:38:16 +01:00