a47cab4dfa
Replicates all needed state between expanded functions
...
commit 5e6f06cf59
Author: Aaron Gutierrez <gutierrez.aaron.m@gmail.com >
Date: Thu May 11 15:42:11 2017 -0400
Fixed issue with aliasing local variables
ISPC++ now produces valid code, or an appropriate error message, for all
of my test cases.
commit bfe723e1b7
Author: Aaron Gutierrez <gutierrez.aaron.m@gmail.com >
Date: Thu May 11 03:09:38 2017 -0400
Actually copy the AST.
Type replacement works except for function parameters.
commit f65b3e6300
Author: Aaron Gutierrez <gutierrez.aaron.m@gmail.com >
Date: Thu May 11 01:19:50 2017 -0400
[WIP] Remove cases for ForeachStmt and SymbolExpr
commit 2e28640860
Merge: 6a91c5d d020107
Author: Aaron Gutierrez <gutierrez.aaron.m@gmail.com >
Date: Wed May 10 23:13:40 2017 -0400
Merge branch 'master' into copy_ast
commit 6a91c5d5ac
Author: Aaron Gutierrez <gutierrez.aaron.m@gmail.com >
Date: Wed May 10 11:11:39 2017 -0400
Attempt to replicate AST when expanding polytypes
2017-05-11 15:43:29 -04:00
192b99f21d
Translates polymorphic function to a single instance
2017-05-09 23:41:36 -04:00
7bb1741b9a
[WIP] implement ReplacePolyType for stmts
2017-05-09 15:30:39 -04:00
0f17514eb0
remove trailing whitespace
2017-05-08 17:45:17 -04:00
46ed9bdb3c
[WIP] Plumbing to expand polymorphic functions
2017-05-04 21:26:43 -04:00
Andrey Shishpanov
ab4cd1e8a2
Fixed the last useless step in foreach_tiled in some cases
2016-04-12 00:29:17 +03:00
Anton Mitrokhin
d862672664
Fix up return statements in unmasked regions
2015-12-21 20:13:47 +03:00
Anton Mitrokhin
ed71f684be
Use 'dyn_cast_or_null' instead of 'dyn_cast'
2015-10-27 17:46:47 +03:00
Anton Mitrokhin
8217448ee5
Id's for Stmt-inherited classes
2015-07-09 14:45:33 +03:00
Anton Mitrokhin
26a93bc733
Id's fo Expr-inherited classes
2015-07-09 12:38:58 +03:00
Anton Mitrokhin
ebc47d00a1
remove several redundant #if - clauses
2015-06-17 17:40:02 +03:00
Anton Mitrokhin
0afa3f5713
New LLVM version macro
2015-06-17 10:14:28 +03:00
evghenii
9238c72e08
Merge branch 'master' into nvptx_clean_master
2014-10-14 14:27:00 +02:00
jbrodman
7c9235559d
Remove #include included for testing.
2014-09-03 06:59:12 -07:00
evghenii
8745888ce9
merged with master
2014-08-11 10:04:54 +02:00
Anton Mitrokhin
d0c9b7c9b5
wiped out all LLVM 3.1 support
2014-08-01 14:54:08 +04:00
evghenii
b3c5a9c4d6
added #ifdef ISPC_NVPTX_ENALED ... #endif guards
2014-07-09 12:32:18 +02:00
Evghenii
4641a15287
Merge branch 'master' into nvptx
2014-03-19 10:53:07 +01:00
Dmitry Babokin
31b95b665b
Copyright update
2014-03-12 20:19:16 +04:00
Evghenii
739e4e73ef
make static illegal
2014-02-21 12:08:09 +01:00
Evghenii
4196c723eb
merged with nvptx
2014-02-20 11:01:58 +01:00
Evghenii
8ffa84f875
added some #ifdef .. #endif for control flow tests
2014-02-06 10:12:31 +01:00
Evghenii
686c1d676d
improvements
2014-02-05 12:04:36 +01:00
jbrodman
98cfc17843
Fix bug with printing due to uneven handling of bool types
2014-02-04 08:12:02 -08:00
Evghenii
98c82242c5
allowed static and disable memcpy/memmove/memset operations
2014-02-03 08:02:50 +01:00
Evghenii
ddb9b2fc47
added basic printing from ptx
2014-01-24 13:44:38 +01:00
Evghenii
1a07aed6aa
foreach_unique will work now on atomic data types, not pointers yet. enum is not tested. All tests/foreach-unique-*.ispc pass
2014-01-24 08:30:50 +01:00
Evghenii
1cf1dab649
fixed foreach_unique and local_atomics
2014-01-23 21:57:20 +01:00
Evghenii
da7a2c0c7f
added emulation of "soa" data types via shared-memory
2014-01-23 16:17:06 +01:00
Evghenii
9389b6e3ef
basic optimization path fails
2014-01-10 06:34:44 +01:00
evghenii
9053eed4b4
added basic optimization pass that promotes uniform into varying variables (not array) for nvptx target
2014-01-10 06:32:57 +01:00
Evghenii
b6b8855728
+1
2014-01-09 14:45:52 +01:00
Evghenii
2c043f67d0
+some uniform related improvements
2014-01-09 14:37:27 +01:00
Evghenii
1ed438dcdb
cleaned up a bit code for treatment of non-static uniform variables. all stored in shared memory
2014-01-09 13:02:50 +01:00
Evghenii
db6f526b78
added experimental support for uniform variables, not only arrays. makes applications slower
2014-01-09 12:18:10 +01:00
Evghenii
5f859e4885
added addrspace(3,4)->addrspace(0) convertion to ctx->GetElementPtrInst. Appears to work now.
2014-01-08 19:31:28 +01:00
Evghenii
cc53fa4c14
fixed addrspace(3) pointer offset computation during conversion. Now it is done in GetElementPtr
2014-01-08 18:43:33 +01:00
Evghenii
69c5e0aae7
convert pointers in function arguments to addrspace(3). still there is poroblem with shared memory. need to figure out which one ..
2014-01-08 15:12:32 +01:00
Evghenii
d3dc5e0df1
patched examples to work with uniform for nvptx. function calls with non-generic pointers fail. need fix
2014-01-08 14:25:21 +01:00
Evghenii
de4d66c56f
added addrspace(4)/constant memory for const uniform declarations
2014-01-08 13:27:24 +01:00
Evghenii
0a66f17897
experimental support for non-constant [non-static] uniform arrays mapped to addrspace(3)
2014-01-08 11:06:14 +01:00
Evghenii
9b74e60185
added conversion from addrspace(3)/__local/__shared__ to addspace(0)/generic when PtrToInt is called
2014-01-07 14:29:55 +01:00
Evghenii
96597d3716
identified where to add shared memory. other problems showed up..
2014-01-07 11:07:54 +01:00
Evghenii
546f9cb409
MAJOR CHANGE--- STOP WITH THIS BRANCH--
2014-01-06 13:51:02 +01:00
evghenii
298b4b8b5b
+1
2014-01-02 13:16:14 +01:00
Evghenii
e192e8ea9e
+change static naming in IR to make it compatible with NVVM
2013-11-22 14:43:14 +01:00
Evghenii
af75afeb7a
foreach[_tiled] seems to work now
2013-11-14 16:29:40 +01:00
Evghenii
48644813d4
stmt.cpp forking on foreach
2013-11-14 11:30:22 +01:00
james.brodman
403d9e1059
Update break/continue test to use contribution of function mask.
2013-05-21 10:52:38 -04:00
james.brodman
4ea02c59d8
Disable break optimization and change return check to use full mask.
2013-05-21 10:00:22 -04:00