Commit Graph

184 Commits

Author SHA1 Message Date
gingerBill
8ec5987ae1 Merge branch 'master' into llvm-integration 2020-02-29 09:55:25 +00:00
gingerBill
1596bca92d Add intrinsics.cpu_relax 2020-02-26 22:29:12 +00:00
gingerBill
d56807095a Implement constant value generation from ExactValue 2020-02-02 18:33:13 +00:00
gingerBill
0f399a7294 Add union #maybe 2020-02-01 11:10:28 +00:00
gingerBill
ba85e432e7 Fix Proc Type ABI printing on System V 2020-01-12 13:43:45 +00:00
gingerBill
ff31f9a900 Fix @thread_local IR printing 2020-01-11 20:19:52 +00:00
gingerBill
cae1e02593 Add extra in set_procedure_abi_types ir_print.cpp 2020-01-04 12:10:28 +00:00
gingerBill
10f0961184 Enumerated arrays [Enum_Type]Elem_Type 2019-12-27 12:51:02 +00:00
gingerBill
4593730632 Fix Trying to get a pointer to a struct field that does not have a size generates an LLVM error #509 2019-12-22 11:40:30 +00:00
gingerBill
9db81498d8 Make the string type elements "immutable", akin to char const * in C
Allows for extra security and optimization benefits
2019-12-01 14:10:59 +00:00
gingerBill
e01d8a04a9 Fix String causes a crash when used in a polymorphic type #483 2019-11-20 22:07:12 +00:00
gingerBill
0839dccfdc Fix Compiler panic with SIMD Vector debug information #481 2019-11-19 23:24:49 +00:00
gingerBill
ee8d3e03f8 Delay determination of procedure abi types until as late as possible to prevent type undetermination in self-referential data types #454 2019-10-31 18:25:39 +00:00
gingerBill
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +01:00
gingerBill
f12ded54f2 Support for named indices for array-like compound literals {3 = a, 1 = b} 2019-10-20 13:11:28 +01:00
gingerBill
5b52fed268 Correct (experimental) System V AMD64 ABI support 2019-10-10 20:41:16 +01:00
gingerBill
66ae4e5afc Change ODIN_OS string for osx from "osx" to "darwin" to allow for other platforms 2019-10-01 20:38:50 +01:00
gingerBill
f4f6e9ad49 Fix -debug crash on windows caused by missing debug info for files. 2019-09-25 21:07:56 +01:00
gingerBill
7bc146e6fd Built-in Quaternions (Not just an April Fool's Joke any more) 2019-08-26 11:33:05 +01:00
gingerBill
0076a4df62 Fix compound literal printing for structs with custom alignment requirements 2019-08-13 22:33:05 +01:00
gingerBill
27a3c5449a Fix global variable initialization for certain types. 2019-08-09 22:35:48 +01:00
gingerBill
f163181204 Add extra hints for LLVM for implicit reference parameters 2019-07-29 10:43:07 +01:00
gingerBill
912fc2890b Fix array comparisons and fix f32 literal LLVM issue regarding accurate representation 2019-07-27 11:33:22 +01:00
gingerBill
3d2279fba0 Support 128-bit integers i128 u128 2019-05-28 20:27:45 +01:00
gingerBill
71a733e3b5 Allow booleans to be assigned to a 1-bit bit field value 2019-05-09 13:04:15 +01:00
gingerBill
a46a1f5f34 Minor change to bit_field assignment rules 2019-05-04 13:02:15 +01:00
gingerBill
56c4039e72 #load directive (request from #368) (Basic implementation) 2019-04-20 15:05:35 +01:00
gingerBill
291bf0c143 Fix #raw_union bug caused by typo #349 2019-03-14 23:25:55 +00:00
gingerBill
a0c81c79ad Fix bugs: Array Literals with constant elements; IR printing of raw procedure types 2019-02-24 10:30:58 +00:00
gingerBill
38ae2e9efa Allow basic arithmetic operations for vectors 2019-02-23 18:05:41 +00:00
gingerBill
4c51384ad6 intrinsics.vector type (Experimental) 2019-02-23 16:44:16 +00:00
gingerBill
64bd884d94 Add "none" calling convention 2019-02-23 14:42:44 +00:00
gingerBill
42f936742e Add extra dead code elimination 2019-02-10 21:23:02 +00:00
gingerBill
e2d4667639 Fix data layout issue on Windows; Remove unused loads in SSA 2019-02-10 20:51:19 +00:00
gingerBill
bc5c37ebb1 Extra checks to reduce mem.zero calls 2019-02-06 13:47:52 +00:00
thebirk
b7242f9d4b Fix #322, now correctly printing big strings. 2019-02-02 00:11:41 +01:00
gingerBill
5acea1bceb Source_Code_Location.hash; %#v printing for Source_Code_Location; allow typeid for map keys 2019-01-05 15:56:47 +00:00
gingerBill
3a18ae3978 Remove alignment experiment 2019-01-04 17:39:20 +00:00
gingerBill
f294c1adee ir_print: Ignore load's align
(experimental idea as it might not be needed)
2019-01-04 10:39:39 +00:00
gingerBill
bb93a8b131 Fix TODO ParameterValue_Location 2019-01-04 10:19:39 +00:00
gingerBill
a240a3d146 static variable declarations (Experimental) 2018-12-28 13:31:06 +00:00
gingerBill
3a05a2e562 Fix not for bit sets 2018-12-17 13:12:48 +00:00
gingerBill
b7eebe5d00 Fix polymorphic record types with constant value parameters 2018-12-14 18:36:06 +00:00
gingerBill
57d4333ed3 Fix polymorphic procedure generation with debug information 2018-12-14 15:45:14 +00:00
gingerBill
17b0e3a1a1 Fix bit sets with custom endian underlying type 2018-12-02 19:27:42 +00:00
gingerBill
04a853c6fe Fix double declarations of bswaps in LLVM IR 2018-12-02 16:02:00 +00:00
gingerBill
00161023cd Endian specific integers: e.g. i32 i32le i32be 2018-12-02 15:53:52 +00:00
gingerBill
7ffcf34dca Modify how custom alignment is printed for LLVM IR 2018-11-29 22:47:08 +00:00
gingerBill
b55b1ffe14 opaque keyword and type 2018-11-11 17:08:30 +00:00
gingerBill
620d5d34f7 Fix issue with complication of -debug that is caused sometimes due to lambda procedures. 2018-11-11 11:44:55 +00:00