gingerBill
2e5f57d8a1
Fix #741
2021-05-13 00:44:33 +01:00
gingerBill
d2fcbf0e1d
Fix #948
2021-05-12 15:00:19 +01:00
gingerBill
d353f97f91
Add byval with align, sret attributes for SysV
2021-05-11 13:30:27 +01:00
gingerBill
e1c2528d87
Remove warning on \*nix
2021-05-11 12:29:27 +01:00
gingerBill
8ff80dec58
Minor change (in preparation for something else) to opt passes
2021-05-11 12:00:55 +01:00
gingerBill
9a4d942b0b
Fix debug information for array types by setting the DISubrange
2021-05-10 21:29:25 +01:00
gingerBill
ff6fdc7812
Correct SysV ABI for -> (f32, bool)
2021-05-10 21:16:26 +01:00
gingerBill
da7a9a3584
Improve type inference rules for implicit selector expressions
...
New improvements:
`(.A == x)`
`a_union_containing_many_enums = .A;`
2021-05-06 13:59:05 +01:00
gingerBill
b6a1ec0229
Remove debug code
2021-05-05 23:34:53 +01:00
gingerBill
60685369b9
Fix typo
2021-05-05 23:34:39 +01:00
gingerBill
0f2a9e6143
Fix LLVM store point for nested types containing procedures (e.g. ^^proc())
2021-05-05 23:00:12 +01:00
gingerBill
278de3a92f
Unify AstTernaryExpr with AstTernaryIfExpr
...
Allow for both syntaxes `x if cond else y` and `cond ? x : y`
Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
2021-05-05 15:22:54 +01:00
gingerBill
579b317be8
Mark external thread local globals
2021-05-05 11:47:47 +01:00
gingerBill
08360e2337
Minor cleanup
2021-05-05 10:56:19 +01:00
gingerBill
94570a24c1
Move anonymous proc generation into lbGenerator
2021-05-04 00:56:29 +01:00
gingerBill
17001bf38c
Nearly approach full functionality for -use-separate-modules coupled with multithreading
2021-05-04 00:45:09 +01:00
gingerBill
b83e67f45f
Get LLVM backend multithread for object generation with -use-separate-modules
2021-05-04 00:06:20 +01:00
gingerBill
a5eea97edb
Prepare to multithread object generation
2021-05-03 20:45:27 +01:00
gingerBill
5d70289b69
Remove test code
2021-05-03 20:03:37 +01:00
gingerBill
d76ba7895b
Minor fixes to -use-separate-modules
2021-05-03 19:59:17 +01:00
gingerBill
dfe1dedeb1
Experimental support for -use-separate-modules
2021-05-03 19:39:36 +01:00
gingerBill
d027a5f1a4
Add min_f16 and max_f16 dependencies
2021-05-03 18:48:48 +01:00
gingerBill
746e880eb5
Begin work on making LLVM backend work with multiple modules for possible faster compilation
2021-05-03 17:43:14 +01:00
gingerBill
e4286d0ff9
Force zero_init in lb_add_local in certain cases
2021-05-03 15:57:35 +01:00
gingerBill
b44a56118e
Begin cleanup for allowing for multiple LLVM modules
2021-05-03 15:26:40 +01:00
gingerBill
0d044eabac
Remove non-InContext type creations
2021-05-03 15:00:50 +01:00
gingerBill
3a5245dcce
Make sure builder uses the InContext version
2021-05-03 14:36:27 +01:00
gingerBill
357f66fcee
Fix typo
2021-05-03 13:45:17 +01:00
gingerBill
050f128554
Correct hashing for union #maybe
2021-05-03 13:40:36 +01:00
gingerBill
1a3784c4df
Allow unions which are comparable to also be valid map keys (i.e. hashable)
2021-05-03 13:38:15 +01:00
gingerBill
518ecaf9c9
Allow unions to be comparable if all their variants are comparable
2021-05-03 13:17:16 +01:00
gingerBill
406d2ab6ba
Simplify/Fix the state_flag behaviour for code generation
2021-05-01 17:42:59 +01:00
gingerBill
e50ef33c2a
Fix #921
2021-04-28 12:34:16 +01:00
gingerBill
24fce21d90
Add "naked" calling convention (removes prologue and epilogue)
2021-04-28 10:49:30 +01:00
gingerBill
afe185ee22
Fix procedure entity finding
2021-04-27 21:08:18 +01:00
gingerBill
24f2d97c0e
Make atomic compare related intrinsics optional ok
2021-04-27 16:55:39 +01:00
gingerBill
e7e1866e50
Fix #893
2021-04-27 13:09:37 +01:00
gingerBill
04535b2913
Fix constant aliasing for debug information
2021-04-26 22:36:20 +01:00
gingerBill
43b55223af
Merge branch 'master' into old-backend-removal
2021-04-26 11:46:58 +01:00
gingerBill
aa846d0ea5
Fix union #maybe comparison against nil -llvm-api
2021-04-26 11:46:26 +01:00
gingerBill
2691c394e0
Add intrinsics.count_zeros
2021-04-25 20:50:25 +01:00
gingerBill
7086b49ae6
Rename intrinsics to count_trailing_zeros and count_leading_zeros
2021-04-25 20:26:11 +01:00
gingerBill
72aa0e6e38
Replace many foreign llvm calls with intrinsics
2021-04-25 20:22:26 +01:00
gingerBill
6383714bff
Remove old procedure ABI code
2021-04-25 19:56:46 +01:00
gingerBill
ff620422fa
Fix #857
2021-04-25 19:40:02 +01:00
gingerBill
5685a8d885
Fix #911 for -llvm-api backend
2021-04-25 19:19:44 +01:00
gingerBill
2b4010998d
Up ci.yml
2021-04-24 20:55:50 +01:00
gingerBill
c29b643a58
Move out some intrinsics into separate procedures in llvm_backend.cpp; Rename InlineRangeStmt to UnrollRangeStmt (eventually merge the two AST nodes)
2021-04-24 15:00:01 +01:00
gingerBill
ac53577e9b
Improve auto_cast logic
2021-04-22 17:29:48 +01:00
gingerBill
896057b5a7
Reuse unused 'context' variables to minimize stack usage (-llvm-api)
2021-04-22 16:56:02 +01:00