Commit Graph
34 Commits
Author SHA1 Message Date
Matt Arsenault 8ff20547f1 Use alignas to effectively define padding and fix 32-bit build
Change-Id: Ib318d2fe847625567de93c9268cf000ec35a921f


[ROCm/clr commit: a9ffa384e8]
2020-07-21 10:53:47 -04:00
Matt Arsenault 4668c291e2 Fix -Wunused-private-field
Change-Id: Ib60e8dc2625c0c5e10fa109e452af0bc6174e763


[ROCm/clr commit: 51f4aa305b]
2020-07-20 11:23:18 -04:00
Matt Arsenault 5e2eed5ea1 Fix windows build
Change-Id: I0c5fff636ec43d5c1daf888457f77ef214a29566


[ROCm/clr commit: 2f3e9afab7]
2020-07-16 17:08:22 -04:00
Matt Arsenault b39da2994f Correct total size of Semaphore to be 64
Change-Id: I20db76eab06fc8a0b3869348c537e7303dfa6466


[ROCm/clr commit: dabda131bd]
2020-07-15 16:51:19 -04:00
Matt Arsenault 3cae0b7649 Fix -Wmissing-braces
Change-Id: I2394b6923c789f36e72242f4b196844cc0ee90ba


[ROCm/clr commit: 5577eabcea]
2020-07-15 16:51:03 -04:00
Matt Arsenault c9239f4f78 Remove .value_type from code object v3 metadata
This seems to not actually have any function. The OpenCL API test
passes without it, and the way it's produced is problematic.

Change-Id: I384bfa01dee7023484348b184ddd1b2d44a91f7d


[ROCm/clr commit: cfed3f310d]
2020-07-06 11:07:30 -04:00
Matt Arsenault f67b99fc26 Enable warnings on unused functions
There weren't all that many to fix, and it's not even the most
prevalent warning.

Change-Id: I286aaa42e3c4e305b1e1918f302bbf71e41dd47d


[ROCm/clr commit: 3a564bc6cb]
2020-07-06 10:29:29 -04:00
Matt Arsenault 8892ba072f Fix unused function warnings for conditionally used functions
Change-Id: Ied23c571b949abef1816914986f19b14aca3d2f3


[ROCm/clr commit: c56a82fd05]
2020-07-06 10:28:43 -04:00
Matt Arsenault a2b54e7b4a Fix -Wunused-private-field
Change-Id: Iedf121025a33bf08eed310e3d85302f8bf3ac7d9


[ROCm/clr commit: 7124974148]
2020-07-06 10:27:43 -04:00
Matt Arsenault 2c395913a7 Remove unused functions
Change-Id: I55db791019c511de83d8b895e3a48b3d7475aeac


[ROCm/clr commit: 9e3e41ca2e]
2020-07-06 10:27:29 -04:00
Matt Arsenault 3bd3b7298a Fix compiler test for clang
Change-Id: I06e01d3422ec4aa8d0fb8f5d9a44e2a840531a87


[ROCm/clr commit: a430215067]
2020-07-06 10:27:11 -04:00
Matt Arsenault ff922a013e Use standard cmake option for USE_COMGR_LIBRARY
Change-Id: Id94d88a33772d9c9ab28f9a82c6f761d9c867476


[ROCm/clr commit: 0c539737cf]
2020-06-02 10:32:45 -04:00
Matt Arsenault 4eacd3d38c Don't include llvm directories
There aren't any llvm includes here.

Change-Id: Ifce797c50bde772845923b1054fadd4173b3119a


[ROCm/clr commit: 4d1cbcba4e]
2020-05-29 15:36:26 -04:00
Matt Arsenault 39011c417d Export targets for find_package
Currently the opencl build hardcodes the path and directly includes
amdvdi_staticTargets.cmake. The proper way to find this is through
find_package, so start exporting the expected format.

Change-Id: Ic960a2dd467d57867cb96ab831dbd85bca336535


[ROCm/clr commit: 8988f34935]
2020-05-21 13:47:59 -04:00
Matt Arsenault 8789cbafa1 Don't add_subdirectory on a binary directory
This doesn't make sense and didn't do anything.

Change-Id: If6cbcd9269d8d45b091f100318afd3ab9ec6ceec


[ROCm/clr commit: a38144dec7]
2020-05-20 09:01:08 -04:00
Matt Arsenault d2cb056d06 Remove include/ from #includes
These are unnecessary and an obstacle to producing a relocatable
package.

Change-Id: I0059bf7a2d11fcece0cd7ab47d7545d0df4d7099


[ROCm/clr commit: 1d267c9c08]
2020-05-19 19:35:09 -04:00
Matt Arsenault 01a1521a9c Remove empty file
Looks accidentally added

Change-Id: Ib7dce6ffe9c131b08674a1e304b561fbd940362e


[ROCm/clr commit: 8edad73f14]
2020-05-15 16:30:37 -04:00
Matt Arsenault 24cc417ec1 Fix missing target includes for GL/EGL headers
Change-Id: I9a31eae40cb7187dd0264ad5b9577fab96464b41


[ROCm/clr commit: 3624b8df16]
2020-05-14 16:56:34 -04:00
Matt Arsenault 26597f888a Improve usage of target_include_directories
Eliminates most of the global include_directories. The install header
paths are different from the build directory, so we have to separate
those for the exported target include paths.

Change-Id: I13e4c56c1218cb31c29a316422dc5fd1d09d8b1b


[ROCm/clr commit: 3a7f2e3682]
2020-05-13 17:25:58 -04:00
Matt Arsenault 49c251e518 Move top.hpp into include directory
This partially avoids a difference in the include paths between a
build and install tree, and simplifies the install configuration.

Change-Id: If8119507594e0d284ac08c141c6c51c88ec619ef


[ROCm/clr commit: 199f6114d0]
2020-05-13 16:30:43 -04:00
Matt Arsenault 1cb198dba2 Avoid intermediate object library
Object libraries are weird, and producing a library by using the
target objects from them doesn't automatically import the interface
properties of the linked targets. These object libraries only have
single uses, so just directly create the final library from the
sources.

Leaves libelf as an object library, since there seems to be some cmake
oddity when trying to link an unexported target to an exported one.

Change-Id: Ic379612c89340c40085c9862cfe111fa4bbff425


[ROCm/clr commit: cba7a4d20e]
2020-04-28 16:41:34 -04:00
Matt Arsenault 1060511a84 Prune some unused compile definitions
There's a lot of unnecessary system configuration junk here which
isn't used, and is already available through compiler predefines. This
is also blindly placed without really checking the host architecture.

-DLINUX is unused.

-D__AMD64__ is predefined by the compiler, and is also redundant with
 __x86_64__ and ATI_BITS_64.

__x86_64__ should also be removed. It's used in libelf, but I'm not
sure if msvc predefines this or not.

-DqLittleEndian is unused, and also doesn't follow macro naming
 conventions (plus compilers have their own predefines for checking
 this).

Change-Id: I89f6fc4c88e861623be7f32df41aecbb4e9009ab


[ROCm/clr commit: e7d6a5e5a6]
2020-04-24 12:38:42 -04:00
Matt Arsenault 9ad645d7a8 Add comgr macros to public definition export
This should allow the cmake build for the opencl runtime to work
without manually adding these definitions. The PAL build also adds
these as private defines in its build, so change rocm to match. This
should probably be including these a config header to benefit other
builds, but this will at least avoid some clutter in the opencl build
for now.

Change-Id: I1044984b87ba3fc72e280e255ceea2dd9e3337ff


[ROCm/clr commit: c60d7d860d]
2020-04-24 12:12:54 -04:00
Matt Arsenault df90e345d0 Don't use include_directories for ROCR includes
Use the modern cmake, target specified method.

Change-Id: Icd7196bfccb85f255bbc01bc87c6667d961bb236


[ROCm/clr commit: 350d54e198]
2020-04-24 11:05:40 -04:00
Matt Arsenault a8f183bb1b Use target_compile_definitions for HSA vs. PAL device macros
Change-Id: I7e1240cb4d32ce86948814d727a516025ee976fa


[ROCm/clr commit: ff12016c7b]
2020-04-24 11:05:16 -04:00
Matt Arsenault e12c98c3dd Cleanup libelf build
Use target specific forms for define/include. Don't set
CMAKE_CXX_FLAGS for the standard, which is already implied from the
parent build.

Change-Id: I4000893376d6685e9889b66ad8451fc493020272


[ROCm/clr commit: 815198bec9]
2020-04-24 11:04:52 -04:00
Matt Arsenault c81f73d82b Unscreamake some cmake functions
This was already using the new lowercase style in most places.

Change-Id: I7ed04a3652c932581a2897f2fee79d79aa732f8e


[ROCm/clr commit: ec62f9b8de]
2020-04-24 11:04:21 -04:00
Matt Arsenault ca932ef38d Remove leftover cmake debug printing
Change-Id: I886b21717eadab6b4365ddaff063fbcd37300aa8


[ROCm/clr commit: 3c2e0f6155]
2020-04-24 11:03:37 -04:00
Matt Arsenault e5fb81bb55 Modernize cmake usage for finding amd_comgr
Don't use find_path on the header, it's redundant with the interface
include directories on the imported target. Use the target specific
forms for including and linking it.

Change-Id: I3923143c992888ee7d5ee1130084ac2e5eaa0f3a


[ROCm/clr commit: 83455f36c5]
2020-04-24 11:03:27 -04:00
Matt Arsenault 36c3008b33 Don't use CMAKE_SOURCE_DIR
This is almost never the correct thing to use since it breaks adding
this as a subproject build in a larger build. Switch to refer to
CMAKE_CURRENT_SOURCE_DIR, which is equivalent in a standalone build.

Change-Id: Ib8dbbc0668491f4227389b9a5b27da770b3bc5ce


[ROCm/clr commit: a36f19df51]
2020-04-24 11:02:52 -04:00
Matt Arsenault 97100bbd20 Use cmake features to set c++ version
Change-Id: I2649cdca5bc68298371f770a7a624a21db3f4137


[ROCm/clr commit: d4a447967e]
2020-04-21 16:01:30 -04:00
Matt Arsenault f4faac3cb6 Update cmake project name
Change-Id: If4bdf15ca3774148c0c415e8cd950efa310ef62f


[ROCm/clr commit: 356c3bf5b8]
2020-04-21 15:23:06 -04:00
Matt Arsenault 919f758ba0 Fix -Winconsistent-missing-override warnings
Change-Id: I67d4a853045197ed28e5d616a4afc86f1d6a1d7c


[ROCm/clr commit: 55cc77d7d1]
2020-04-17 15:24:39 -04:00
Matt Arsenault d535b24691 Fix several instances of -Wsizeof-array-div
e.g.:
 warning: expression does not compute the number of elements in this
 array; element type is '__cpu_mask' (aka 'unsigned long'), not
 'uint32_t' (aka 'unsigned int') [-Wsizeof-array-div]

for (uint i = 0; i < sizeof(mask_.__bits) / sizeof(uint32_t); ++i) {

__bits is a __cpu_mask, which is a 64-bit type. These were accessed
through uint32_t pointers so the loop bound should have been
correct. These operations can be done directly on the 64-bit type so
we can leave the array size pattern, and eliminate the casts.

The case in getNextSet should probably be rephrased in terms of
__cpu_mask to avoid the pointer casting, but this is tricker than the
other cases so I used the easy option to quiet the warning.

Change-Id: I1332584fad58439ccd9d369589519a9918e1678e


[ROCm/clr commit: 72c435ea35]
2020-04-17 15:24:33 -04:00