gingerBill
5e2280a787
Fix set_file_path_string and thread_safe_set_ast_file_from_id
2021-11-24 16:20:01 +00:00
DYSEQTA
0a87ffe0e6
Merge branch 'odin-lang:master' into master
2021-11-24 12:07:14 +11:00
DYSEQTA
e5f961b48f
Removed '--help' from help string as per request.
2021-11-24 11:10:40 +11:00
gingerBill
9246e89c4a
Fix #1328
2021-11-23 11:43:32 +00:00
gingerBill
8a2c829e07
Patch odin doc binary format
2021-11-21 14:06:15 +00:00
gingerBill
daebaa8b50
Fix #1319
2021-11-19 15:43:13 +00:00
gingerBill
3e04b45106
Allow cast from float to complex
2021-11-19 12:26:10 +00:00
gingerBill
ae59f214ee
@(tag=<string>) - dummy attribute for tooling
2021-11-17 21:32:33 +00:00
gingerBill
9be0d18e5d
Correct x in ptr logic
2021-11-17 11:02:11 +00:00
gingerBill
bb7703fcec
Improve ptr_map_hash_key
2021-11-16 16:08:20 +00:00
cybermancer
1823b0cead
Improve compiler help output with regard to command specific help.
2021-11-16 15:15:21 +11:00
gingerBill
1ec0b79345
Allow both -help and --help if passed as init_filename
2021-11-15 22:10:31 +00:00
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
6ea68869c9
src: "Fix" the system call intrinsic for FreeBSD
...
FreeBSD's systemcall handler clears out R8, R9, and R10 prior to
`sysretq`, and additionally returns positive errno (with CF) set on
error. This modifies the syscall intrinsic such that LLVM knows
about the additional clobbered registers.
Note that propagating CF back to the caller of the syscall intrinsic
is left for a future PR. As far as I can tell, Darwin does not use
the syscall intrinsic at all, and FreeBSD only uses it for SYS_GETTID,
so this should be "ok" for now.
See: sys/amd64/amd64/exception.S in the FreeBSD src for more details.
2021-11-13 20:40:27 +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
Kevin Sjöberg
61b02adc50
Do not filter test procedures when filter is empty
...
If `build_context.test_names` is empty, we do not need to perform any
filtering.
2021-11-10 15:49:23 +01: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