mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 23:50:11 +01:00
r600g/llvm: Don't duplicate R600 intrinsics installed by LLVM
At this point, in order for OpenCL to work correctly with r600g, OpenCL specific intrinsics need to be defined in the LLVM tree. So, we need to check for these intrinsics in the LLVM include directory to make sure not to re-define them.
This commit is contained in:
parent
1bd3dafeca
commit
ddb4dac133
4 changed files with 26 additions and 0 deletions
|
|
@ -18,6 +18,8 @@ CXXFLAGS := $(filter-out -DDEBUG, $(CXXFLAGS))
|
|||
|
||||
tablegen = $(TBLGEN) -I $(LLVM_INCLUDEDIR) $1 $2 -o $3
|
||||
|
||||
HAVE_LLVM_INTRINSICS = $(shell grep IntrinsicsR600.td $(LLVM_INCLUDEDIR)/llvm/Intrinsics.td)
|
||||
|
||||
gen: $(GENERATED_SOURCES)
|
||||
|
||||
SIRegisterInfo.td: SIGenRegisterInfo.pl
|
||||
|
|
@ -26,6 +28,13 @@ SIRegisterInfo.td: SIGenRegisterInfo.pl
|
|||
SIRegisterGetHWRegNum.inc: SIGenRegisterInfo.pl
|
||||
$(PERL) $^ $@ > /dev/null
|
||||
|
||||
R600Intrinsics.td: R600IntrinsicsNoOpenCL.td R600IntrinsicsOpenCL.td
|
||||
ifeq ($(HAVE_LLVM_INTRINSICS),)
|
||||
cp R600IntrinsicsNoOpenCL.td R600Intrinsics.td
|
||||
else
|
||||
cp R600IntrinsicsOpenCL.td R600Intrinsics.td
|
||||
endif
|
||||
|
||||
R600ShaderPatterns.td: AMDGPUGenShaderPatterns.pl
|
||||
$(PERL) $^ C > $@
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
GENERATED_SOURCES := \
|
||||
R600Intrinsics.td \
|
||||
R600ShaderPatterns.td \
|
||||
R600RegisterInfo.td \
|
||||
AMDGPUInstrEnums.td \
|
||||
|
|
|
|||
16
src/gallium/drivers/radeon/R600IntrinsicsOpenCL.td
Normal file
16
src/gallium/drivers/radeon/R600IntrinsicsOpenCL.td
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
//===-- R600Intrinsics.td - TODO: Add brief description -------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// TODO: Add full description
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
let TargetPrefix = "R600", isTarget = 1 in {
|
||||
def int_R600_load_input : Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrReadWriteArgMem]>;
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue