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
Matt Pharr
9e9f266e52
Add files inadvertently missed in c58d92d46b.
...
Truly fixes issue #363 .
2012-09-07 13:27:07 -07:00
Matt Pharr
44797e2925
remove incorrect assert
2012-08-21 16:27:49 -07:00
Matt Pharr
f6989cce38
Disallow native output with generic targets, C++ output with non-generic targets.
...
Also wrote FAQs about why this is the way it is.
Issue #334 .
2012-07-20 09:55:50 -07:00
Matt Pharr
ec0918045d
Issue error if compiling for multiple targets and program is coming from stdin.
...
We currently don't support this, so at least now we issue an intelligible error
message in this case.
Issue #269 .
2012-07-06 13:21:53 -07:00
Matt Pharr
aabbdba068
Switch a few remaining fprintf() calls to use Warning()/Error().
2012-07-06 12:56:45 -07:00
Matt Pharr
84c183da1f
Issue error if a non "generic" target is used with C++ emission.
...
Issue #314 .
2012-07-06 12:56:24 -07:00
Matt Pharr
b363b98211
Improve handling of datalayout for generic targets.
...
Flag 32-bit vector types as only requiring 32-bit alignment (preemptive
bug fix for 32xi1 vectors).
Force module datalayouts to be the same before linking them to silence
an LLVM warning.
Finishes issue #309 .
2012-07-06 12:51:17 -07:00
Matt Pharr
27d6c12972
Bump ISPC_MINOR_VERSION to 3
2012-06-28 16:15:46 -07:00
Matt Pharr
3c10ddd46a
Fix declaration of size_t.
...
It should be an unsigned integer type.
2012-06-21 14:40:24 -07:00
Matt Pharr
0b7f9acc70
Align <16 x i1> vectors to just 16 bits for generic targets.
...
Partially addresses issue #259 .
2012-06-21 10:25:33 -07:00
Matt Pharr
007a734595
Add support for 'unmasked' function qualifier.
2012-06-20 15:36:00 -07:00
Matt Pharr
a23a7006e3
Don't issue error incorrectly with forward decl. of exported function.
...
Issue #281 .
2012-06-15 10:54:50 -07:00
Ingo Wald
789e04ce90
Add support for host/device stub functions for offload.
2012-06-12 10:23:49 -07:00
Matt Pharr
592affb984
Add experimental (and undocumented for now) export syntax.
...
This allows adding types to the list that are included in the automatically-generated
header files.
struct Foo { . . . };
struct Bar { . . . };
export { Foo, Bar };
2012-06-05 12:51:21 -07:00
Matt Pharr
ef049e92ef
Handle undefined struct types when generating headers.
2012-05-30 16:28:21 -07:00
Matt Pharr
90db01d038
Represent MOVMSK'ed masks with int64s rather than int32s.
...
This allows us to scale up to 64-wide execution.
2012-05-25 11:57:23 -07:00
Matt Pharr
d943455e10
Issue error on overloaded "export"ed functions.
...
Issue #270 .
2012-05-25 10:35:34 -07:00
Matt Pharr
99f57cfda6
Issue more sensible error message for varying pointers in exported functions.
2012-05-18 12:00:11 -07:00