Commit Graph

2841 Commits

Author SHA1 Message Date
gingerBill
e814a3693f Improve usage of file_id 2021-11-15 17:26:01 +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
Yawning Angel
c430a82721 src: Fix the syscall intrinsic code generation for Linux and Windows
The old assembly generated for the syscall intrinsic did not specify
clobber constraints.  This adds RCX and R11 (that are clobbered by
the instruction itself), and memory (that is clobbered by some
system calls) to the assembly constraints.

Note: This is still incorrect on FreeBSD, which clobbers more registers
and uses the carry flag instead of -errno in rax to indicate an error.
2021-11-13 09:53:20 +00:00
gingerBill
5cb23725ae Merge pull request #1289 from Kelimion/timings-export
Add functionality to export build timings.
2021-11-10 12:06:36 +00:00
Jeroen van Rijn
8c5c45a04c [timings-export] Style fixes. 2021-11-10 12:23:46 +01:00
Kevin Sjöberg
b8dec4268d Postpone checking test procedures
The dependency set need to be generated before we check the testing
procedures. Otherwise `checker->info.testing_procedures` will be empty
and thus no filtering is taking place.
2021-11-10 10:26:17 +01:00
Jeroen van Rijn
9dc8753a14 [timings-export] Improve help messages
Also make `clang` happy as concerns the build settings switch/case.
2021-11-09 22:52:26 +01:00
Jeroen van Rijn
6c306f7633 Fix Linux warnings. 2021-11-09 20:31:22 +01:00
Jeroen van Rijn
05a86d5296 [timings-export] Implement JSON + CSV timngs export. 2021-11-09 19:57:55 +01:00
Jeroen van Rijn
9422fd311f [timings-export] Add -export-timings:format + -export-timings-file:filename. 2021-11-09 19:51:27 +01:00
gingerBill
600d19c51b General catch-all for llvm debug types 2021-11-09 18:04:31 +00:00
gingerBill
50562440bf Correct wasm-ld path for non-Windows platforms 2021-11-09 08:09:56 +00:00
gingerBill
a674e842d0 Improve matrix indices to offset logic 2021-11-08 12:15:57 +00:00
gingerBill
23f0fbc376 Improve matrix->matrix casting implementation 2021-11-08 11:40:41 +00:00
gingerBill
dc2edd3e79 Improve support for freestanding_wasm32 2021-11-07 16:19:27 +00:00
gingerBill
40eed29527 Remove LLVMAddDeadStoreEliminationPass pass 2021-11-06 18:11:29 +00:00
gingerBill
3d3785a7f1 Remove many LLVM optimization passes which were causes UB due to them assuming C-like behaviour incompatible with Odin 2021-11-06 17:23:33 +00:00
gingerBill
5df15b5724 Completely ignore LLVM_ADD_CONSTANT_VALUE_PASS LLVM >= 12 2021-11-06 16:29:53 +00:00
gingerBill
36985f8da0 Simplification to ptr_map_hash_key 2021-11-05 18:04:18 +00:00
gingerBill
eb0faf9602 Unify hash logic for PtrSet 2021-11-05 17:58:11 +00:00
gingerBill
899cc71990 Improve ptr_map_hash_key 2021-11-05 17:55:09 +00:00
gingerBill
7be18b4a80 Be more correct with MapIndex usage 2021-11-05 17:36:00 +00:00
gingerBill
0c9bb9d920 Clean up logic 2021-11-05 17:32:17 +00:00
gingerBill
26e3daf5ad Unify MapFindResult types 2021-11-05 17:24:19 +00:00
gingerBill
0af69f8cda Remove map.cpp code 2021-11-05 17:16:37 +00:00
gingerBill
86e26c9a44 Remove dead code 2021-11-05 17:13:26 +00:00
gingerBill
541beb615b Move more things to PtrMap 2021-11-05 17:13:07 +00:00
gingerBill
6646348e1a Increase usage of PtrMap 2021-11-05 17:03:02 +00:00
gingerBill
c38d6dc959 Remove HashKey usage for PtrMap calls 2021-11-05 16:46:09 +00:00
gingerBill
924faa58b4 Correct map_remove(PtrMap) 2021-11-05 16:45:27 +00:00
gingerBill
6be104e521 Make llvm backend code use PtrMap; remove dead code 2021-11-05 16:43:53 +00:00
gingerBill
e95204908a Add PtrMap, begin working change Map to PtrMap where possible 2021-11-05 16:34:37 +00:00
gingerBill
e963fc4d6a Change map index types to u32 from isize 2021-11-05 12:51:28 +00:00
gingerBill
1a75a71403 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-11-05 12:44:08 +00:00
gingerBill
439fc86740 Improve performance of the compiler hash table types and unify behaviour 2021-11-05 12:42:19 +00:00
gingerBill
0010e882a7 Make PtrSet match Map 2021-11-05 12:11:50 +00:00
gingerBill
a022f18015 Reorganize code 2021-11-05 12:11:33 +00:00
Henry Dooley
3d0cd6f0dc don't try to use __cpuid() on arm64 2021-11-04 18:54:15 -07:00
gingerBill
68046d0c08 Allow casting between matrix types of different element types 2021-11-04 16:50:59 +00:00
gingerBill
bc2bf1caeb Add #load_hash(<filepath>, <string-hash-kind>) 2021-11-04 16:29:41 +00:00
gingerBill
57eedfc4f4 Fix lb_emit_array_epi for matrix types 2021-11-04 15:01:31 +00:00
gingerBill
b2a2aa15c2 Add ODIN_BUILD_MODE 2021-11-04 12:49:39 +00:00
gingerBill
6ded538546 @(linkage=<string>) for procedures and variables; @(require) for procedures; package runtime linkage improvements; Subsequence improvements to lb_run_remove_unused_function_pass 2021-11-04 12:40:50 +00:00
gingerBill
9ab71ca0da Add ODIN_NO_CRT global constant 2021-11-04 00:50:28 +00:00
gingerBill
3d06dddb72 Allow casting from floats to quaternions 2021-11-03 12:45:19 +00:00
gingerBill
69f978f22b Correct lb_emit_matrix_flatten 2021-11-03 11:07:35 +00:00
gingerBill
229c98309e Correct assertion usage 2021-11-03 11:02:47 +00:00
Jeroen van Rijn
73648bb2d8 Fix #1268.
Error message for enumerated arrays going out of bounds was not yet updated for the Enum change.
2021-11-03 11:36:24 +01:00
Jeroen van Rijn
dcc5697a48 Fix error message. 2021-11-03 11:01:18 +01:00