Dmitry Babokin
8e47273186
Copyright refresh
2015-04-22 16:39:11 +03:00
Andrey Guskov
7f096f23e3
Multitaget function return types fixed
2015-04-22 15:13:56 +03:00
Andrey Guskov
189e892b96
Recurring LLVM debug info fix
2015-04-16 19:31:16 +03:00
evghenii
d4a77e1b44
changed function mangling to be compatible with NVVM in CUDA7
2015-01-27 07:02:12 +01:00
Vsevolod Livinskiy
24e8c33506
Fix for trunk after rev 223802
2014-12-11 17:53:51 +03:00
evghenii
8745888ce9
merged with master
2014-08-11 10:04:54 +02:00
Anton Mitrokhin
60fa76ccc1
reversed macros LLVM_3_6 to LLVM_3_5+ in .cpp and .h files
2014-08-01 15:40:48 +04:00
Anton Mitrokhin
d0c9b7c9b5
wiped out all LLVM 3.1 support
2014-08-01 14:54:08 +04:00
Anton Mitrokhin
f59a1db8b7
fixed 3.6 llvm build in type.cpp
2014-07-30 13:57:06 +04:00
Anton Mitrokhin
725be222ac
added LLVM_3_6 var
2014-07-30 11:50:15 +04:00
evghenii
b3c5a9c4d6
added #ifdef ISPC_NVPTX_ENALED ... #endif guards
2014-07-09 12:32:18 +02:00
evghenii
69f3898a61
Merge branch 'master' into nvptx_merge
2014-07-07 16:30:12 +02:00
jbrodman
d3144da5eb
Add error messages for structs containing nested undefined structs
2014-05-27 15:50:53 -07:00
Ilia Filippov
7ebea86a44
These changes fix problem with debug info in LLVM 3.4 with structs and enums.
...
The reason of problem is that ISPC generates debugInfo type of struct (or enum)
in the scope, where the variable of this type appears.
Ctx.cpp:1586
llvm::DIScope scope = GetDIScope();
llvm::DIType diType = sym->type->GetDIType(scope);
It is always Lexical_Block in some function. It is not right because type can
be declared global or in some function or in some namespace. Struct and enums
are failing because they don't reduce to atomic types. The "Big" fix is to save
declaration place in Type class. But now ISPC doesn't know about it,
for example this doesn't emit an error:
void function_1() { struct Foo {float x;}; uniform Foo myFoo;}
void function_2() { uniform Foo myFoo;}
So now all type declarations are global and we can simply change scope
parameter to the current file.
The "Big" fix will be after integration with clang.
2014-04-02 15:49:57 +04:00
Evghenii
fb581818c5
Merge branch 'master' into nvptx
2014-04-01 09:10:10 +02:00
jbrodman
2c0a6d7f69
Fix exported varying bug & backwards compatibility.
2014-03-24 00:01:37 -07:00
Evghenii
4641a15287
Merge branch 'master' into nvptx
2014-03-19 10:53:07 +01:00
Ilia Filippov
02d55f24f6
adding const to Atomic::Void type
2014-03-17 14:42:55 +04:00
Dmitry Babokin
11f17ce0cd
Merge pull request #767 from jbrodman/nomosoa2
...
Fix bugs with exported varyings.
2014-03-14 09:00:36 +03:00
jbrodman
43db682c6d
Fix bugs with exported varyings.
2014-03-13 06:07:56 -07:00
Dmitry Babokin
8999a69546
Fix for off by one problem in debug info with LLVM 3.3+
2014-03-11 18:41:37 +04:00
Ilia Filippov
47f7900cd3
support LLVM trunk
2014-03-07 16:28:56 +04:00
Evghenii
63d3ac6679
Merge branch 'master' into nvptx
2014-01-20 13:47:24 +01:00
Evghenii
91d4ae46f6
sort --fails
2014-01-06 15:38:30 +01:00
Evghenii
546f9cb409
MAJOR CHANGE--- STOP WITH THIS BRANCH--
2014-01-06 13:51:02 +01:00
Evghenii
b2368e243c
+1
2014-01-06 08:15:50 +01:00
evghenii
c4c30a416a
fix function name mangling
2014-01-02 17:01:10 +01:00
james.brodman
b2f6043181
Merge branch 'master' into nomosoa
2013-12-30 13:25:51 -05:00
Dmitry Babokin
6d51987e67
Merge pull request #642 from egaburov/launch3d
...
concept of 3d tasking
2013-12-17 08:40:07 -08:00
james.brodman
01432670fd
Fix header file for multi-target output with pointers to varying in exported functions.
2013-12-12 13:27:23 -05:00
james.brodman
d10c0d9545
Add dynamic dispatch support for export functions with pointers to varying data as arguments
2013-12-05 17:47:58 -05:00
james.brodman
a448ccf20c
Merge branch 'master' into nomosoa
2013-12-04 13:52:44 -05:00
evghenii
bb46b561fd
Merged with upstream/master
2013-11-22 08:13:16 +01:00
Ilia Filippov
3fd9d5a025
support of LLVM 3.5
2013-11-21 19:09:43 +04:00
Evghenii
55bf0d23c2
resotred non-ptx functionality
2013-11-13 11:08:58 +01:00
Evghenii
dbb96c1885
need to fix launch code
2013-11-12 13:41:03 +01:00
Evghenii
4cd7e10ad3
reversed to original changes. Here is the plan to use CDP and genarate only device code with host wrapper..
2013-11-12 12:51:56 +01:00
Evghenii
dcf9c280ee
some cleaning
2013-10-31 16:05:06 +01:00
Evghenii
63917f8cc2
now generates CUDALaunch call. Few tweaks are still necesary
2013-10-31 16:01:34 +01:00
Evghenii
f9ec1a0097
.. work in programm to embed PTX into host code ..
2013-10-30 16:47:30 +01:00
Evghenii
f15cdc03e3
nvptx64 generates 2 targets: task and normal function for nvptx64 and export for avx only
2013-10-29 14:46:51 +01:00
Evghenii
1bd5360d3b
added now NVPTX64 automatically emits unmasked extern "C" for task function with kernel attributes
2013-10-28 13:58:01 +01:00
Evghenii
a7aa1ac1cf
now nvptx allows extern "C" task void, which is emits a kernel that should (?) be callable by driver API from external code
2013-10-28 12:57:09 +01:00
Evghenii
b68a751f4e
generating proper tasking function for nvptx
2013-10-28 11:36:08 +01:00
Evghenii
383e804ec1
changed notation form taskIndex1,2,3 -> taskIndex0,1,2
2013-10-24 17:20:56 +02:00
Evghenii
43761173ec
changed notation, task[Index,Count]_[x,y,z] -> task[Index,Count][1,2,3]. Change launch <<< nx,ny,nz >>> into launch [nx,ny,nz] or equivalent launch [nz][ny][nx]. Programmer can pick the one the is liked the most
2013-10-24 13:16:23 +02:00
egaburov
78a05777bc
added taskIndex_x,y,z and taskCount_x,y,z
2013-10-22 16:18:40 +02:00
james.brodman
ecb1174a18
leaving myself notes for later
2013-09-27 14:23:04 -04:00
james.brodman
090dec8549
Output regular header for multiple targets + fix exported varying types.
2013-08-22 13:23:22 -04:00
JCB
3e9d784013
Support exported arrays of varyings
2013-08-20 16:14:29 -04:00