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:
Tom Stellard 2012-04-24 13:31:07 -04:00
parent 1bd3dafeca
commit ddb4dac133
4 changed files with 26 additions and 0 deletions

View file

@ -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 > $@

View file

@ -1,5 +1,6 @@
GENERATED_SOURCES := \
R600Intrinsics.td \
R600ShaderPatterns.td \
R600RegisterInfo.td \
AMDGPUInstrEnums.td \

View 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]>;
}