Commit Graph

45 Commits

Author SHA1 Message Date
gingerBill
d659e679fd Fix defer after return for -llvm-api 2020-04-06 12:17:27 +01:00
gingerBill
ae97c1111a Fix -llvm-api for typeid comparison with a Type itself 2020-04-06 11:38:53 +01:00
gingerBill
b362ce9a22 Fix selector expressions for map[unknown-key] expressions for -llvm-api 2020-04-04 20:56:56 +01:00
gingerBill
1b3ee7153c Fix #599 - llvm-api GEP for structs with custom alignment 2020-03-28 16:08:14 +00:00
gingerBill
6d6f8f8da9 LLVM API fixes: for in ^map; complex/quaternion negation 2020-03-28 15:42:46 +00:00
gingerBill
b21993a1c4 Allow ability to reference compound literals like C99 for -llvm-api 2020-03-26 17:33:54 +00:00
gingerBill
b7893082ce Allow map indices to be referenced &m[key] and return a valid pointer if it exists otherwise nil 2020-03-24 15:51:17 +00:00
gingerBill
796331fea6 Support by-reference semantics in for value_ref, i in &some_array and for key, value_ref in &some_map 2020-03-24 15:33:34 +00:00
gingerBill
53c842e9ba Change to new by-reference semantics for switch v in &value 2020-03-24 14:43:28 +00:00
gingerBill
93955a0fd8 Remove context.std* parameters; Fix unary boolean not 2020-03-19 15:03:02 +00:00
gingerBill
fc0002ab67 Fix enum type info generation 2020-03-19 12:28:39 +00:00
gingerBill
04fe23a3c8 Have different categories for optimization passes 2020-03-19 10:57:14 +00:00
gingerBill
1707e004ec Merge branch 'llvm-integration' of https://github.com/odin-lang/Odin into llvm-integration 2020-03-15 14:37:46 +00:00
gingerBill
5169dc07c7 Fix lb_add_proc_attribute_at_index 2020-03-15 14:37:39 +00:00
Joshua Huelsman
4468ddf8f8 LLVM: speed improvement changes. 2020-03-09 03:21:08 -04:00
gingerBill
bf0c6f5a30 Fixes for constants and nil parameters 2020-03-08 19:38:50 +00:00
gingerBill
d1e670335f Fix lb_find_or_add_entity_string_byte_slice 2020-03-08 18:50:10 +00:00
gingerBill
5a02ebe2c8 Fix foreign import dependencies; Fix lbParamPass_Integer ABI 2020-03-08 17:57:46 +00:00
gingerBill
dae817e5ab Integrate linker code with the new LLVM API backend 2020-03-08 17:44:08 +00:00
gingerBill
28502ba53b Fix context system; add more to -show-more-timings for LLVM API; Add ODIN_USE_LLVM_API global constant 2020-03-08 12:34:36 +00:00
gingerBill
8dc74a004c Fix nested type declarations name generation, to be internally consistent 2020-03-08 11:46:05 +00:00
gingerBill
c584456a21 Fix logical binary expressions 2020-03-08 10:43:00 +00:00
gingerBill
f92334a769 Basic functionality, except for map and correct nested typename mangling 2020-03-07 10:38:14 +00:00
gingerBill
8d2ad0da0e Fill in more of the llvm_backend code generation 2020-03-05 22:01:07 +00:00
gingerBill
7d93dd6024 Move module pass to after all function passes 2020-03-05 19:00:23 +00:00
gingerBill
e1da631d26 General functionality without context 2020-03-04 22:09:58 +00:00
gingerBill
10cde925ca Add checks for pre-existing type declarations. 2020-03-02 18:48:52 +00:00
gingerBill
56240240f6 Range Statement support 2020-02-29 14:29:47 +00:00
gingerBill
f83e1b8b0a Fix any type and casting to any; Fix switch statement 2020-02-29 12:24:52 +00:00
gingerBill
a27c68f526 Type_Info initialization 2020-02-29 11:12:37 +00:00
gingerBill
470508adbc Clean-up initialization code 2020-02-26 22:05:52 +00:00
gingerBill
b13423d7f7 Global variable initialization support 2020-02-23 16:25:11 +00:00
gingerBill
2180f4a475 Basic work on obj generation 2020-02-23 10:04:25 +00:00
gingerBill
bfda101686 Get basic IR code generation working properly 2020-02-10 00:14:43 +00:00
gingerBill
35711a400c Anonymous procedure literal support 2020-02-08 12:49:38 +00:00
gingerBill
66da96284a Add defer statement for LB 2020-02-07 00:01:44 +00:00
gingerBill
7d9600b740 Ternary Expr; lbAddr extra; Phi node support 2020-02-06 23:33:41 +00:00
gingerBill
09e1cf0737 IfStmt 2020-02-05 23:41:10 +00:00
gingerBill
992858b687 Add ReturnStmt 2020-02-05 22:39:23 +00:00
gingerBill
b555b0083a Slowly add more statements and expressions; Add header file 2020-02-05 20:18:19 +00:00
gingerBill
0103cedad7 Port code for lb_build_call_expr 2020-02-02 23:36:15 +00:00
gingerBill
d56807095a Implement constant value generation from ExactValue 2020-02-02 18:33:13 +00:00
gingerBill
5dc82c2720 Correctly generate LLVM types from Odin types. 2020-02-02 12:34:49 +00:00
gingerBill
5f1b397a05 Use lbValue to represent values everywhere 2020-02-01 23:52:22 +00:00
gingerBill
6ed6a91a64 Begin LLVM C API integration 2020-02-01 22:50:57 +00:00