Skip to content

Commit

Permalink
Merge pull request #4411 from aviansie-ben/aix-build
Browse files Browse the repository at this point in the history
Enable Tril and JitBuilder tests on AIX
  • Loading branch information
Leonardo2718 authored Nov 1, 2019
2 parents 10f0b5c + 3a9a956 commit 3986037
Show file tree
Hide file tree
Showing 20 changed files with 151 additions and 23 deletions.
2 changes: 1 addition & 1 deletion buildenv/jenkins/jobs/builds/Build-aix_ppc-64
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ pipeline {

dir('build') {
echo 'Configure...'
sh '''cmake -Wdev -DCMAKE_XL_CreateExportList="/usr/vac/bin/CreateExportList -X64" -DOMR_JIT=OFF -DOMR_JITBUILDER=OFF -DOMR_TEST_COMPILER=OFF -DOMR_DDR=OFF -C../cmake/caches/Travis.cmake ..'''
sh '''cmake -Wdev -DCMAKE_XL_CreateExportList="/usr/vac/bin/CreateExportList -X64" -DOMR_DDR=OFF -C../cmake/caches/Travis.cmake ..'''

echo 'Compile...'
sh '''make -j8'''
Expand Down
2 changes: 1 addition & 1 deletion buildenv/jenkins/jobs/pull-requests/PullRequest-aix_ppc-64
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ pipeline {

dir('build') {
echo 'Configure...'
sh '''cmake -Wdev -DCMAKE_XL_CreateExportList="/usr/vac/bin/CreateExportList -X64" -DOMR_JIT=OFF -DOMR_JITBUILDER=OFF -DOMR_TEST_COMPILER=OFF -DOMR_DDR=OFF -C../cmake/caches/Travis.cmake ..'''
sh '''cmake -Wdev -DCMAKE_XL_CreateExportList="/usr/vac/bin/CreateExportList -X64" -DOMR_DDR=OFF -C../cmake/caches/Travis.cmake ..'''

echo 'Compile...'
sh '''make -j4'''
Expand Down
4 changes: 4 additions & 0 deletions cmake/modules/OmrCompilerSupport.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -280,11 +280,15 @@ macro(set_tr_compile_options)
# Prepend leading '-D' only if required
if(def MATCHES "^-D")
set(TR_ASM_FLAGS "${TR_ASM_FLAGS} ${def}")
list(APPEND SPP_FLAGS "${def}")
else()
set(TR_ASM_FLAGS "${TR_ASM_FLAGS} -D${def}")
list(APPEND SPP_FLAGS "-D${def}")
endif()
endforeach()

set(SPP_FLAGS ${SPP_FLAGS} PARENT_SCOPE)

# We need special handling on x86 because we could be gnu or NASM assembler
if(OMR_ARCH_X86)
make_gnu_asm_defines(gnu_defines ${TR_COMPILE_DEFINITIONS})
Expand Down
2 changes: 1 addition & 1 deletion compiler/infra/OMRMonitor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class Monitor
char const *getName();
bool init(char *name);

#if defined(J9ZOS390)
#if defined(J9ZOS390) || defined(AIXPPC)
// xlc cannot handle private delete operator
public:
#else
Expand Down
4 changes: 3 additions & 1 deletion fvtest/compilertest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,6 @@ target_link_libraries(compilertest

set_property(TARGET compilertest PROPERTY FOLDER fvtest)

add_test(NAME CompilerTest COMMAND compilertest --gtest_output=xml:${CMAKE_CURRENT_BINARY_DIR}/compilertest-results.xml)
if (NOT OMR_HOST_OS STREQUAL "aix")
add_test(NAME CompilerTest COMMAND compilertest --gtest_output=xml:${CMAKE_CURRENT_BINARY_DIR}/compilertest-results.xml)
endif()
2 changes: 1 addition & 1 deletion fvtest/compilertest/runtime/TestCodeCacheManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ TestCompiler::CodeCacheManager::allocateCodeCacheSegment(size_t segmentSize,
codeCacheSizeToAllocate,
PROT_READ | PROT_WRITE | PROT_EXEC,
MAP_ANONYMOUS | MAP_PRIVATE,
0,
-1,
0));
#endif /* OMR_OS_WINDOWS */
TR::CodeCacheMemorySegment *memSegment = (TR::CodeCacheMemorySegment *) ((size_t)memorySlab + codeCacheSizeToAllocate - sizeof(TR::CodeCacheMemorySegment));
Expand Down
2 changes: 1 addition & 1 deletion fvtest/compilertest/tests/OpCodesTest.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#include "tests/injectors/TernaryOpIlInjector.hpp"
#include "tests/injectors/UnaryOpIlInjector.hpp"

#if defined(J9ZOS390)
#if defined(J9ZOS390) || defined(AIXPPC)
namespace std
{
using ::isnan;
Expand Down
12 changes: 9 additions & 3 deletions fvtest/compilertriltest/ArithmeticTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

#include <cmath>

#if defined(J9ZOS390)
#if defined(J9ZOS390) || defined(AIXPPC)
namespace std
{
using ::isnan;
Expand Down Expand Up @@ -320,6 +320,8 @@ TEST_P(Int16Arithmetic, UsingConst) {
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";

SKIP_IF(OMRPORT_ARCH_X86 == arch || OMRPORT_ARCH_HAMMER == arch, MissingImplementation)
<< "smul/sdiv not yet implemented on x86 (see Issue #4408)";
Expand Down Expand Up @@ -356,6 +358,8 @@ TEST_P(Int16Arithmetic, UsingLoadParam) {
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";

SKIP_IF(OMRPORT_ARCH_X86 == arch || OMRPORT_ARCH_HAMMER == arch, MissingImplementation)
<< "smul/sdiv not yet implemented on x86 (see Issue #4408)";
Expand Down Expand Up @@ -388,6 +392,8 @@ TEST_P(Int8Arithmetic, UsingConst) {
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";

SKIP_IF(OMRPORT_ARCH_X86 == arch || OMRPORT_ARCH_HAMMER == arch, MissingImplementation)
<< "bmul/bdiv not yet implemented on x86 (see Issue #4408)";
Expand Down Expand Up @@ -424,10 +430,10 @@ TEST_P(Int8Arithmetic, UsingLoadParam) {
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";

SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_X86 == arch || OMRPORT_ARCH_HAMMER == arch, MissingImplementation)
<< "bmul/bdiv not yet implemented on x86 (see Issue #4408)";

auto param = TRTest::to_struct(GetParam());

char inputTrees[1024] = {0};
Expand Down
12 changes: 12 additions & 0 deletions fvtest/compilertriltest/BitPermuteTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,8 @@ TEST_P(sBitPermuteTest, ConstAddressLengthTest)
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
auto param = to_struct(GetParam());

uint8_t maskedIndices[16];
Expand Down Expand Up @@ -383,6 +385,8 @@ TEST_P(sBitPermuteTest, ConstAddressTest)
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
auto param = to_struct(GetParam());

uint8_t maskedIndices[16];
Expand Down Expand Up @@ -422,6 +426,8 @@ TEST_P(sBitPermuteTest, NoConstTest)
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
auto param = to_struct(GetParam());

uint8_t maskedIndices[16];
Expand Down Expand Up @@ -462,6 +468,8 @@ TEST_P(bBitPermuteTest, ConstAddressLengthTest)
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
auto param = to_struct(GetParam());

uint8_t maskedIndices[8];
Expand Down Expand Up @@ -502,6 +510,8 @@ TEST_P(bBitPermuteTest, ConstAddressTest)
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
auto param = to_struct(GetParam());

uint8_t maskedIndices[8];
Expand Down Expand Up @@ -541,6 +551,8 @@ TEST_P(bBitPermuteTest, NoConstTest)
std::string arch = omrsysinfo_get_CPU_architecture();
SKIP_IF(OMRPORT_ARCH_S390 == arch || OMRPORT_ARCH_S390X == arch, KnownBug)
<< "The Z code generator incorrectly spills sub-integer types arguments (see issue #3525)";
SKIP_IF(OMRPORT_ARCH_PPC64 == arch || OMRPORT_ARCH_PPC == arch, KnownBug)
<< "The Power code generator incorrectly spills sub-integer type arguments on big-endian machines (see issue #3525)";
auto param = to_struct(GetParam());

uint8_t maskedIndices[8];
Expand Down
Loading

0 comments on commit 3986037

Please sign in to comment.