Commit Graph

272 Commits

Author SHA1 Message Date
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
james.brodman
9f7a4aa867 Update to include latest changes.
Merge branch 'master' into nomosoa
2013-09-25 19:17:56 -04:00
james.brodman
090dec8549 Output regular header for multiple targets + fix exported varying types. 2013-08-22 13:23:22 -04:00
JCB
0452b77169 Generate multiple headers for multiple targets. 2013-08-20 15:25:53 -04:00
JCB
10b8c481f5 initial support for exported varying 2013-08-20 15:14:15 -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
Dmitry Babokin
663ebf7857 Merge pull request #551 from mmp/constfold
Improvements to constant folding.
2013-07-24 10:27:04 -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