whitequark
|
418f0a5234
|
compiler: mark loads of kernel constant attributes as load invariant.
Also, enable LICM, since it can take advantage of this.
|
2016-03-28 00:44:32 +00:00 |
|
whitequark
|
ca7463a054
|
compiler: do not write back kernel constant attributes.
Fixes #322.
|
2016-03-28 00:05:57 +00:00 |
|
whitequark
|
f4e6b18690
|
compiler: implement kernel constant attributes.
Part of #322.
|
2016-03-27 16:10:07 +00:00 |
|
whitequark
|
f81930ffd6
|
compiler: run IPSCCP.
This doesn't do much, only frees some registers.
|
2016-03-27 02:00:05 +00:00 |
|
whitequark
|
7213984330
|
compiler: raise inliner threshold to the equivalent of -O3.
|
2016-03-27 01:08:13 +00:00 |
|
whitequark
|
e75ad3d1aa
|
compiler: extract runtime checks into separate cold functions.
This reduces register pressure as well as function size, which
favorably affects the inliner.
|
2016-03-27 01:02:15 +00:00 |
|
whitequark
|
20ad7629ac
|
llvm_ir_generator: generate code more amenable to LLVM's GlobalOpt.
This exposes almost all embedded methods to inlining, with massive
gains.
|
2016-03-26 21:35:48 +00:00 |
|
whitequark
|
186a564ba8
|
compiler: make quoted functions independent of outer environment.
|
2016-03-26 20:46:45 +00:00 |
|
whitequark
|
f5c720c3ee
|
compiler: tune the LLVM optimizer pipeline (fixes #315).
|
2016-03-26 13:20:23 +00:00 |
|
whitequark
|
3ee9834197
|
compiler: significantly increase readability of LLVM and ARTIQ IRs.
|
2016-03-26 12:21:02 +00:00 |
|
whitequark
|
8d0566661a
|
compiler: quote functions directly instead of going through a local.
|
2016-03-25 22:35:55 +00:00 |
|
whitequark
|
39d23793a4
|
transforms.llvm_ir_generator: extract class function attributes.
This should give LLVM more visibility.
|
2016-03-25 19:01:39 +00:00 |
|
whitequark
|
39599d4508
|
compiler: get rid of the GetConstructor opcode.
|
2016-03-25 19:01:39 +00:00 |
|
whitequark
|
f4ab507ab2
|
Bring back target print function.
|
2016-03-18 04:42:06 +00:00 |
|
whitequark
|
ac5061c205
|
validators.escape: track region of arguments.
Fixes #232.
|
2016-03-18 03:08:14 +00:00 |
|
whitequark
|
9492464ed9
|
Commit missing parts of 78fa5be .
|
2016-03-18 02:15:36 +00:00 |
|
whitequark
|
78fa5becea
|
compiler: refuse to embed a function from another core device.
Fixes #332.
|
2016-03-18 02:01:14 +00:00 |
|
whitequark
|
82ab21dbd5
|
transforms.inferencer: better message for BinOpT unification.
Fixes #311.
|
2016-03-18 01:22:01 +00:00 |
|
whitequark
|
73bfbe51db
|
compiler: reject lambdas used as kernel functions (fixes #313).
|
2016-03-03 08:33:28 +00:00 |
|
whitequark
|
7e16da4a77
|
transforms.llvm_ir_generator: ignore assignments of None (fixes #309).
|
2016-03-01 12:26:42 +00:00 |
|
whitequark
|
dc70029b91
|
transforms.asttyped_rewriter: set loc for ForT (fixes #302).
|
2016-03-01 05:22:12 +00:00 |
|
whitequark
|
8bbffab8c8
|
Fix tests.
|
2016-02-27 13:40:37 +00:00 |
|
whitequark
|
e421b22953
|
types.TypePrinter: don't waste screen space on empty attribute lists.
|
2016-02-27 13:29:47 +00:00 |
|
whitequark
|
82a8e819ac
|
transforms.llvm_ir_generator: use private linkage instead of internal.
This reduces the size of symbol tables (internal adds an STB_LOCAL
symbol, but private doesn't).
|
2016-02-25 20:15:40 +00:00 |
|
whitequark
|
f838b8be49
|
compiler.embedding: cache attribute types (fixes #276).
|
2016-02-25 19:56:45 +00:00 |
|
whitequark
|
d899d7307e
|
compiler.types: TDelay is always unifiable with self.
|
2016-02-25 19:56:12 +00:00 |
|
whitequark
|
919a49b6bc
|
compiler: quell excessively detailed diagnostics.
|
2016-02-25 19:43:52 +00:00 |
|
whitequark
|
a1dd909bc4
|
Take alignment into account during attribute writeback (fixes #293).
|
2016-02-25 01:44:05 +00:00 |
|
whitequark
|
914bc9f360
|
artiq_run: allow running LLVM IR/bitcode files, even with trivial RPCs.
|
2016-02-24 22:50:45 +00:00 |
|
whitequark
|
da31d29897
|
compiler: fix ARTIQ_DUMP_*.
|
2016-02-24 21:43:46 +00:00 |
|
whitequark
|
a829b8a6fc
|
Commit missing parts of cf41890 .
|
2016-02-24 17:53:13 +00:00 |
|
whitequark
|
cf41890255
|
Correctly display backtraces that contain inlined functions.
|
2016-02-24 17:44:19 +00:00 |
|
whitequark
|
442673076f
|
compiler: setting ARTIQ_DUMP_* dumps to a file instead of stderr.
|
2016-02-24 17:44:19 +00:00 |
|
whitequark
|
bc81be1345
|
Implement dumb 'with parallel' (#265).
|
2016-02-22 13:51:08 +00:00 |
|
whitequark
|
51a5910002
|
Rename 'with parallel' to 'with interleave' (#265).
|
2016-02-22 13:24:43 +00:00 |
|
whitequark
|
9db2be2b03
|
compiler: only use colors in diagnostics on POSIX (fixes #272).
|
2016-02-22 11:27:45 +00:00 |
|
whitequark
|
1465fe6f81
|
Add channel name as the first argument to rtio_log (#206).
|
2016-02-15 21:17:54 +00:00 |
|
whitequark
|
74a75841f6
|
Add rtio_log() and make print() an RPC (#206).
|
2016-02-15 03:56:56 +00:00 |
|
|
89f68f3470
|
style
|
2016-02-02 21:57:25 +01:00 |
|
whitequark
|
0acc86b3b3
|
transforms.iodelay_estimator: make diagnostics much more clear.
|
2016-01-27 02:10:15 +00:00 |
|
whitequark
|
3573a8750a
|
transforms.inferencer: give a suggestion on "raise Exception".
|
2016-01-20 03:20:25 +00:00 |
|
whitequark
|
5c6b1517d0
|
Rigorously treat builtin core device exceptions.
|
2016-01-19 01:45:25 +00:00 |
|
whitequark
|
5f0e2bf9f9
|
analyses.domination: all blocks dominate themselves.
|
2016-01-18 21:33:14 +00:00 |
|
whitequark
|
cc22837627
|
transforms.inferencer: infer a monomorphic type for slice ":"
|
2016-01-16 03:09:03 +00:00 |
|
whitequark
|
85222783ee
|
transforms.llvm_ir_generator: fix memoize().
|
2016-01-16 00:38:57 +00:00 |
|
whitequark
|
bed62349d2
|
transforms.llvm_ir_generator: i64 doesn't need sret (fixes #228).
|
2016-01-15 23:58:11 +00:00 |
|
whitequark
|
127b117113
|
Add @host_only function decorator (#172).
|
2016-01-15 16:42:08 +00:00 |
|
whitequark
|
63f7899f93
|
Commit missing parts of 7f914a0 .
|
2016-01-10 20:25:58 +00:00 |
|
whitequark
|
1be9e7576d
|
transforms.llvm_ir_generator: use byval for FFI calls where appropriate.
|
2016-01-10 18:31:35 +00:00 |
|
whitequark
|
ee1ef551bc
|
Fix symbolizer invocation with no addresses.
|
2016-01-10 18:04:10 +00:00 |
|