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
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
jbrodman
2c0a6d7f69
Fix exported varying bug & backwards compatibility.
2014-03-24 00:01:37 -07: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
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
Ilia Filippov
3fd9d5a025
support of LLVM 3.5
2013-11-21 19:09:43 +04: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
JCB
10b8c481f5
initial support for exported varying
2013-08-20 15:14:15 -04:00
Matt Pharr
564e61c828
Improvements to constant folding.
...
We can now do constant folding with all basic datatypes (the previous
implementation handled int32 well, but had limited, if any, coverage
for other datatypes.)
Reduced a bit of repeated code in the constant folding implementation
through template helper functions.
2013-07-22 16:12:02 -07:00
Ilia Filippov
560acd5017
changes to support createFunction() with DICompositeType argument in LLVM_3_4
2013-06-04 15:48:39 +04:00
Dmitry Babokin
0f86255279
Target class redesign: data moved to private. Also empty target-feature attribute is not added anymore (generic targets).
2013-03-23 14:28:05 +04:00
Dmitry Babokin
3f8a678c5a
Editorial change: fixing trailing white spaces and tabs
2013-03-18 16:17:55 +04:00
Dmitry Babokin
51fdff208e
Tracking ToT changes in DIBuilder interface
2013-02-25 14:50:33 +04:00
jbrodman
dc939eba78
Merge pull request #418 from mmp/master
...
Fix build with LLVM top-of-tree, fix warnings, remove LLVM 3.0 support
2013-01-08 10:28:02 -08:00
Matt Pharr
0bf1320a32
Remove support for building with LLVM 3.0
2013-01-06 12:27:53 -08:00
Matt Pharr
63dd7d9859
Fix build to work with LLVM top-of-tree again
2013-01-06 12:02:08 -08:00
Peng Tu
6ba7368ab0
Fix two compile time errors to allow SOA pointer and array be passed as function argument.
2012-12-11 17:20:15 -08:00
Matt Pharr
172a189c6f
Fix build with LLVM top-of-tree
2012-10-17 11:11:50 -07:00
Jean-Luc Duprat
aecd6e0878
All the smear(), setzero() and undef() APIs are now templated on the return type.
...
Modified ISPC's internal mangling to pass these through unchanged.
Tried hard to make sure this is not going to introduce an ABI change.
2012-07-17 17:06:36 -07:00
Matt Pharr
4186ef204d
Fix build with LLVM top of tree.
2012-07-05 13:35:01 -07:00
Matt Pharr
f38770bf2a
Fix build with LLVM ToT
2012-06-28 07:36:10 -07:00
Matt Pharr
5a2c8342eb
Allow structs with no members.
...
Issue #289 .
2012-06-21 16:07:31 -07:00
Matt Pharr
007a734595
Add support for 'unmasked' function qualifier.
2012-06-20 15:36:00 -07:00
Matt Pharr
b2f6ed7209
Fix usage of CastType
2012-06-18 16:26:31 -07:00
Ingo Wald
789e04ce90
Add support for host/device stub functions for offload.
2012-06-12 10:23:49 -07:00
Matt Pharr
96aaf6d53b
Fix build with LLVM top of tree.
2012-06-05 12:28:05 -07:00
Matt Pharr
6118643232
Handle more error cases if the user tries to declare a method.
2012-06-04 09:07:13 -07:00
Matt Pharr
22cb80399f
Issue error if user tries to declare a method.
2012-06-04 08:50:13 -07:00
Matt Pharr
fd03ba7586
Export reference parameters as C++ references, not pointers.
2012-05-24 07:12:48 -07:00
Matt Pharr
333f901187
Fix build with LLVM 3.2 dev top-of-tree
2012-05-23 14:19:50 -07:00
Matt Pharr
7dd4d6c75e
Update for LLVM 3.2dev API change
2012-05-22 15:53:14 -07:00
Matt Pharr
8006589828
Use llvm::SmallVectors for struct member types and function types.
...
Further reduction of dynamic memory allocation...
2012-05-04 13:55:38 -07:00
Matt Pharr
7db8824da2
Reduce dynamic memory allocation in getting unif/varying variants of AtomicTypes
2012-05-04 13:55:38 -07:00
Matt Pharr
bff02017da
Cache const/non-const variants of Atomic and ReferenceTypes.
...
More reduction of dynamic memory allocation.
2012-05-04 13:55:38 -07:00