Merge branch 'master' of https://github.com/ncos/ispc into knl-support
This commit is contained in:
80
cbackend.cpp
80
cbackend.cpp
@@ -65,7 +65,11 @@
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/Analysis/ConstantsScanner.h"
|
||||
#if defined(LLVM_3_4)
|
||||
#include "llvm/Support/InstIterator.h"
|
||||
#else
|
||||
#include "llvm/IR/InstIterator.h"
|
||||
#endif
|
||||
#if defined(LLVM_3_2) || defined(LLVM_3_3) || defined(LLVM_3_4) || defined(LLVM_3_5)
|
||||
#include "llvm/Analysis/FindUsedTypes.h"
|
||||
#endif
|
||||
@@ -128,6 +132,72 @@
|
||||
#undef setjmp
|
||||
#define snprintf _snprintf
|
||||
#endif
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// This part of code was in LLVM's ConstantsScanner.h,
|
||||
// but it was removed in revision #232397
|
||||
|
||||
namespace constant_scanner {
|
||||
class constant_iterator : public std::iterator<std::forward_iterator_tag,
|
||||
const llvm::Constant, ptrdiff_t> {
|
||||
llvm::const_inst_iterator InstI; // Method instruction iterator
|
||||
unsigned OpIdx; // Operand index
|
||||
|
||||
bool isAtConstant() const {
|
||||
assert(!InstI.atEnd() && OpIdx < InstI->getNumOperands() &&
|
||||
"isAtConstant called with invalid arguments!");
|
||||
return llvm::isa<llvm::Constant>(InstI->getOperand(OpIdx));
|
||||
}
|
||||
|
||||
public:
|
||||
constant_iterator(const llvm::Function *F) : InstI(llvm::inst_begin(F)), OpIdx(0) {
|
||||
// Advance to first constant... if we are not already at constant or end
|
||||
if (InstI != llvm::inst_end(F) && // InstI is valid?
|
||||
(InstI->getNumOperands() == 0 || !isAtConstant())) // Not at constant?
|
||||
operator++();
|
||||
}
|
||||
|
||||
constant_iterator(const llvm::Function *F, bool) // end ctor
|
||||
: InstI(llvm::inst_end(F)),
|
||||
OpIdx(0) {}
|
||||
|
||||
bool operator==(const constant_iterator &x) const {
|
||||
return OpIdx == x.OpIdx && InstI == x.InstI;
|
||||
}
|
||||
bool operator!=(const constant_iterator &x) const { return !(*this == x); }
|
||||
|
||||
pointer operator*() const {
|
||||
assert(isAtConstant() && "Dereferenced an iterator at the end!");
|
||||
return llvm::cast<llvm::Constant>(InstI->getOperand(OpIdx));
|
||||
}
|
||||
|
||||
constant_iterator &operator++() { // Preincrement implementation
|
||||
++OpIdx;
|
||||
do {
|
||||
unsigned NumOperands = InstI->getNumOperands();
|
||||
while (OpIdx < NumOperands && !isAtConstant()) {
|
||||
++OpIdx;
|
||||
}
|
||||
|
||||
if (OpIdx < NumOperands) return *this; // Found a constant!
|
||||
++InstI;
|
||||
OpIdx = 0;
|
||||
} while (!InstI.atEnd());
|
||||
|
||||
return *this; // At the end of the method
|
||||
}
|
||||
};
|
||||
|
||||
inline constant_iterator constant_begin(const llvm::Function *F) {
|
||||
return constant_iterator(F);
|
||||
}
|
||||
|
||||
inline constant_iterator constant_end(const llvm::Function *F) {
|
||||
return constant_iterator(F, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// FIXME:
|
||||
namespace {
|
||||
@@ -2687,8 +2757,8 @@ void CWriter::printFloatingPointConstants(llvm::Function &F) {
|
||||
// the precision of the printed form, unless the printed form preserves
|
||||
// precision.
|
||||
//
|
||||
for (llvm::constant_iterator I = constant_begin(&F), E = constant_end(&F);
|
||||
I != E; ++I)
|
||||
for (constant_scanner::constant_iterator I = constant_scanner::constant_begin(&F),
|
||||
E = constant_scanner::constant_end(&F); I != E; ++I)
|
||||
printFloatingPointConstants(*I);
|
||||
|
||||
Out << '\n';
|
||||
@@ -2754,8 +2824,8 @@ void CWriter::printFloatingPointConstants(const llvm::Constant *C) {
|
||||
// loads to get their values, rather than tediously inserting the
|
||||
// individual values into the vector.
|
||||
void CWriter::printVectorConstants(llvm::Function &F) {
|
||||
for (llvm::constant_iterator I = constant_begin(&F), E = constant_end(&F);
|
||||
I != E; ++I) {
|
||||
for (constant_scanner::constant_iterator I = constant_scanner::constant_begin(&F),
|
||||
E = constant_scanner::constant_end(&F); I != E; ++I) {
|
||||
const llvm::ConstantDataVector *CDV = llvm::dyn_cast<llvm::ConstantDataVector>(*I);
|
||||
if (CDV == NULL)
|
||||
continue;
|
||||
|
||||
180
fail_db.txt
180
fail_db.txt
@@ -114,109 +114,25 @@
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.3 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.3 clang++3.4 -O0 *
|
||||
./tests/masked-scatter-struct.ispc runfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-2.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-5.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-6.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-7.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/ptr-19.ispc runfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||
./tests/masked-scatter-struct.ispc runfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-2.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-5.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-6.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-7.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/ptr-19.ispc runfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
.\tests\foreach-double-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.5 cl -O2 *
|
||||
.\tests\foreach-double-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.5 cl -O2 *
|
||||
.\tests\foreach-double-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.5 cl -O2 *
|
||||
@@ -227,125 +143,29 @@
|
||||
./tests/ptr-22.ispc runfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/ptr-22.ispc runfail x86-64 generic-16 Linux LLVM 3.5 clang++3.4 -O0 *
|
||||
./tests/masked-scatter-struct.ispc runfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-2.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-5.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-6.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-7.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/ptr-19.ispc runfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
.\tests\foreach-double-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.6 cl -O2 *
|
||||
.\tests\foreach-double-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.6 cl -O2 *
|
||||
.\tests\foreach-double-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.6 cl -O2 *
|
||||
./tests/ptr-22.ispc runfail x86-64 generic-4 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/ptr-22.ispc runfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-2.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-5.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-6.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-7.ispc compfail x86-64 generic-16 Linux LLVM 3.6 clang++3.4 -O2 *
|
||||
./tests/masked-scatter-struct.ispc runfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-2.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-5.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-6.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-7.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/ptr-22.ispc runfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/short-vec-8.ispc compfail x86-64 generic-4 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-2.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-5.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-6.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/exclusive-scan-add-7.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O2 *
|
||||
./tests/half-1.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/ptr-15.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/ptr-19.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/ptr-22.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-8.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-add-9.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-1.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-and-2.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/exclusive-scan-or-1.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-1.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-10.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-12.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-13.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-2.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-3.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-4.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
|
||||
|
||||
13
module.cpp
13
module.cpp
@@ -1678,6 +1678,7 @@ lGetExportedTypes(const Type *type,
|
||||
std::vector<const VectorType *> *exportedVectorTypes) {
|
||||
const ArrayType *arrayType = CastType<ArrayType>(type);
|
||||
const StructType *structType = CastType<StructType>(type);
|
||||
const FunctionType *ftype = CastType<FunctionType>(type);
|
||||
|
||||
if (CastType<ReferenceType>(type) != NULL)
|
||||
lGetExportedTypes(type->GetReferenceTarget(), exportedStructTypes,
|
||||
@@ -1701,7 +1702,17 @@ lGetExportedTypes(const Type *type,
|
||||
lAddTypeIfNew(type, exportedEnumTypes);
|
||||
else if (CastType<VectorType>(type) != NULL)
|
||||
lAddTypeIfNew(type, exportedVectorTypes);
|
||||
else
|
||||
else if (ftype != NULL) {
|
||||
// Handle Return Types
|
||||
lGetExportedTypes(ftype->GetReturnType(), exportedStructTypes,
|
||||
exportedEnumTypes, exportedVectorTypes);
|
||||
|
||||
// And now the parameter types...
|
||||
for (int j = 0; j < ftype->GetNumParameters(); ++j)
|
||||
lGetExportedTypes(ftype->GetParameterType(j), exportedStructTypes,
|
||||
exportedEnumTypes, exportedVectorTypes);
|
||||
}
|
||||
else
|
||||
Assert(CastType<AtomicType>(type) != NULL);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user