Evghenii
fd17ad236a
export functions are now also generated... next add proper CDP calls..
2013-11-12 14:05:12 +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
2cef101022
now emits host object file with ptx in it... next step .. testing
2013-10-31 18:05:04 +01:00
Evghenii
8db3d25844
moved PtxString to Globals
2013-10-30 21:05:22 +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
b31fc6f66d
now can generate both targets for npvtx64. m_isPTX is set true, to distuish when to either skip or exlcusive euse export
2013-10-29 14:17:11 +01:00
Evghenii
ac700d4860
checkpoint
2013-10-29 13:36:31 +01:00
Evghenii
b2baa35c3d
added correct datalayout for nvptx64
2013-10-29 11:34:01 +01:00
Evghenii
57aefdf830
accepts ptx extension when target is nvptx64
2013-10-29 10:21:48 +01:00
Evghenii
68ced6ce46
automatically adds -D__NVPTX__ when nvptx64 target is chosen
2013-10-28 14:08:32 +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
james.brodman
44912e6b1e
Fix segfault when using both -g and -MMM
2013-10-08 18:27:03 -04:00
Matt Pharr
1276ea9844
Revert "Remove support for building with LLVM 3.1"
...
This reverts commit d3c567503b .
Conflicts:
opt.cpp
2013-08-06 17:00:35 -07:00
Matt Pharr
d3c567503b
Remove support for building with LLVM 3.1
2013-07-31 06:46:45 -07:00
Matt Pharr
ab3b633733
Add 8-bit and 16-bit specialized NEON targets.
...
Like SSE4-8 and SSE4-16, these use 8-bit and 16-bit values for mask
elements, respectively, and thus should generate the best code when used
for computation with datatypes of those sizes.
2013-07-30 08:44:16 -07:00
Matt Pharr
753c001e69
Merge branch 'master' of https://github.com/ispc/ispc into constfold
2013-07-23 16:12:04 -07: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
Matt Pharr
946c39a5df
Fix build with LLVM top-of-tree.
...
The DIBuilder::getCU() method has been removed; we now just store the
compilation unit returned when we call DIBuilder::createCompileUnit.
2013-07-22 15:42:52 -07:00
Matt Pharr
f1cce0ef5f
Fix build with LLVM top-of-tree
2013-07-17 09:25:00 -07:00
Dmitry Babokin
481bcc732b
Changes for 1.4.0 release
2013-05-27 16:48:41 +04:00
Dmitry Babokin
23ba61e76f
Fix for #462 : broken debug infor support with LLVM 3.3+
2013-05-20 22:28:47 +04:00
Dmitry Babokin
b6b9daa3c5
Enabling llvm 3.4
2013-05-13 19:25:31 +04:00
Dmitry Babokin
549655bff4
Adding new line to error/warning message on Windows and fixing some typos.
2013-05-01 20:22:01 +02:00
Dmitry Babokin
a0462fe1ee
#469 : Fix for multi-target compilation
2013-04-12 14:06:12 +04:00
Dmitry Babokin
0af2a13349
DataLayout is changed to be managed from single place. v4-128-128 is added to generic DataLayout
2013-03-23 14:38:51 +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
f2dcad27bb
Fix for LLVM 3.1 and #441
2013-03-12 21:13:08 +04:00
Dmitry Babokin
01992006b2
Fix for #441 : Prepocessor complains on code commented out by //
2013-03-12 18:56:32 +04:00
Dmitry Babokin
524939dc5b
Fix for issue #430
2013-02-27 18:03:07 +04:00
james.brodman
775ecd6dfe
Tracking ToT changes. Clang PP APIs changed.
2013-01-30 11:57:33 -05:00
james.brodman
3aaf2ef2d4
ToT Fixes / M4 macro fix
2013-01-14 14:55:10 -05: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
jbrodman
f8bec51de2
Merge pull request #411 from pengtu/master
...
Simple fixes to allow SOA pointer and array be passed as function argument.
2013-01-08 08:40:01 -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
james.brodman
83fdc2e5ad
Fix to build with 3.2. LLVM API Change?
2013-01-03 13:43:47 -05: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
9892c8bf9a
Fix logic for ordering of struct declarations in generated header files.
...
When a struct had an array of another struct type as a member, we weren't
detecting that the struct type in the array needed to be declared before the
enclosing struct type.
Fixes issue #408 .
2012-12-06 11:39:22 -05:00
Peng Tu
16b0806d40
Fix LLVM TOT build issue.
2012-11-21 19:09:10 -08:00
Matt Pharr
e82b649ec0
Fix build with LLVM top-of-tree (various changes to clang entrypoints).
2012-11-16 11:04:11 -08:00
Matt Pharr
172a189c6f
Fix build with LLVM top-of-tree
2012-10-17 11:11:50 -07:00
Matt Pharr
411d5b44ef
Add ISPC_HAS_RAND definition on targets that have a HW RNG.
...
This lets us check for a functioning rdrand() call in the stdlib
more reliably. Fixes issue #333 .
2012-10-03 09:18:12 -07:00
Ingo Wald
d492af7bc0
64-bit gather/scatter, aligned load/store, i8 support
2012-09-17 03:39:02 +02:00
Matt Pharr
be2108260e
Add --opt=force-aligned-memory option.
...
This forces all vector loads/stores to be done assuming that the given
pointer is aligned to the vector size, thus allowing the use of sometimes
more-efficient instructions. (If it isn't the case that the memory is
aligned, the program will fail!).
2012-09-14 13:49:45 -07:00
Ingo Wald
4ecdbe4bd9
two changes:
...
- exported structs now get protected with #ifdef/#define blocks (allows including multiple ispc-generated header fiels into the same c source
- when creating offload stubs, encountering a 'export' function for which we cannot produce a stub will only trigger a warning, not an error.
2012-09-08 16:09:04 +02:00
Matt Pharr
9e9f266e52
Add files inadvertently missed in c58d92d46b.
...
Truly fixes issue #363 .
2012-09-07 13:27:07 -07:00