192b99f21d
Translates polymorphic function to a single instance
2017-05-09 23:41:36 -04:00
aeb4c0b6f9
[WIP] replace polymorphic types from expressions
2017-05-09 01:46:36 -04:00
46ed9bdb3c
[WIP] Plumbing to expand polymorphic functions
2017-05-04 21:26:43 -04:00
93c563e073
Add missing NULL check in CanBeType
2017-05-02 22:26:21 -04:00
b3b02df569
[WIP] add check for polymorphic functions
2017-05-02 14:59:04 -04:00
87b6ed7f4c
[WIP] slowly getting typechecking to work
2017-04-28 23:37:06 -04:00
259f092143
[WIP] Add quantifier to polymorphic types
2017-04-28 14:04:26 -04:00
108c9c6fb5
[WIP] parses polymorphic types
2017-04-27 14:17:47 -04:00
Dmitry Babokin
4298e3d0cd
Fix for trunk - change in DIBuilder interface
2016-12-01 22:00:36 +03:00
Andrey Shishpanov
d0341754d6
Trunk fix for Rev.280686.
2016-09-07 13:08:04 +03:00
Andrey Shishpanov
3dbdeee5f6
new createSubroutineType() API
2015-10-15 15:45:15 +03:00
Anton Mitrokhin
9f083f99ac
classof implementations for all classes
2015-07-10 12:27:16 +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
Vsevolod Livinskiy
c9424a9989
Fix for debug information in trunk
2015-05-21 14:42:53 +03:00
Andrey Guskov
0842b82eca
Fix typos in the previous LLVM debug info commit
2015-04-24 15:51:55 +03:00
Andrey Guskov
5defbf25f1
LLVM debug info fix, again
2015-04-23 19:00:54 +03:00
Dmitry Babokin
0f1358b69f
Revert "Multitaget function return types fixed"
2015-04-22 17:38:05 +03:00
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