Commit Graph

29 Commits

Author SHA1 Message Date
gingerBill
9640b49319 Fix #1435 type switch statements of empty union types 2022-09-17 10:42:54 +01:00
gingerBill
902a6db0e1 Fix #2000 - allow #soa array iteration by pointer 2022-09-01 16:15:09 +01:00
gingerBill
19ae6122c7 Fix #2002 (allow array *= matrix) 2022-09-01 16:11:03 +01:00
gingerBill
aeacf3a9d8 Correct max alignment handling throughout the llvm backend 2022-08-24 13:07:41 +01:00
Ian Lilley
f5431a046d using correct type for val1 2022-08-15 08:08:49 -04:00
Ian Lilley
595efba747 removed unnecessary ternary 2022-08-11 11:43:19 -04:00
Ian Lilley
483a72ac61 fixed debug symbols for range interval 2022-08-03 12:36:52 -04:00
gingerBill
e6ab4f4856 Force memset instead of store zeroinitializer when the value is large 2022-07-24 20:22:50 +01:00
Fabian Sperber
9c059f1a12 Fix debug info for type switch variable to be only visible in correct switch case
- use correct scopes for type switch
2022-07-19 00:46:28 +02:00
Fabian Sperber
fb167d1d0a Fix loop var (init) becoming hidden while stepping on the for-line
- set debug location of jumps between block (similar to clang to the location of 'for')
- extend scope range to include all parts of the for-stmt
2022-07-19 00:46:27 +02:00
gingerBill
6c7e5748a8 Integrate numerous debug fixes from #1877 2022-07-18 12:49:29 +01:00
gitlost
fdbbf24271 Fix issue #1592 "LLVM code gen error when using a constant in an if"
Changes lb_build_if_stmt() to return null lbValue if condition is
  cmpAnd, cmpOr or non-const neg and check in lb_build_if_stmt()
  to avoid short circuiting if that's the case
Adds test to "tests/issues" and adds step in CI to check this dir
2022-03-18 13:57:22 +00:00
gingerBill
24e7356825 Add #no_type_assert and #type_assert to disable implicit type assertions with x.(T) 2022-01-27 16:08:47 +00:00
gingerBill
79f32d7b71 Remove unused lbDefer kind 2022-01-15 16:03:37 +00:00
gingerBill
7501cc2f17 Remove dead code 2022-01-15 16:01:23 +00:00
gingerBill
a390ef41f8 Fix swizzle logic within lb_build_assign_stmt_array 2022-01-15 15:55:01 +00:00
gingerBill
f818d0feb1 Fix #1344 2022-01-03 19:43:22 +00:00
gingerBill
daebaa8b50 Fix #1319 2021-11-19 15:43:13 +00:00
gingerBill
f47311f2f6 Remove scope field from Ast 2021-11-14 15:22:40 +00:00
gingerBill
3f038428a7 Begin minimizing Ast size 2021-11-14 15:12:37 +00:00
gingerBill
6646348e1a Increase usage of PtrMap 2021-11-05 17:03:02 +00:00
gingerBill
6be104e521 Make llvm backend code use PtrMap; remove dead code 2021-11-05 16:43:53 +00:00
gingerBill
8de728e3dc LLVM Code Generator: Add explicitly padding between fields in LLVM struct types 2021-09-13 16:40:24 +01:00
gingerBill
fb8fa5217d Begin minimize Type size by replacing Array with Slice etc 2021-09-13 00:58:39 +01:00
gingerBill
b014879159 Add extra message to assert 2021-08-23 16:45:52 +01:00
gingerBill
7845769d4b Remove unused code 2021-08-19 15:03:10 +01:00
gingerBill
3c443babb2 Extra sanity check around static 2021-08-18 20:32:54 +01:00
gingerBill
01f431b01f Unify semantics of the built-in swizzle procedure with the selector expression semantics e.g. .xyz 2021-08-09 19:37:58 +01:00
gingerBill
40822be595 Reorganize llvm_backend.cpp into separate files for easier maintenance 2021-08-07 12:01:48 +01:00