gcc/libitm/Makefile.am
Richard Henderson 4c868789e4 re PR target/68964 (Internal compiler error for test case gcc.dg/tm/20100610.c since r231674)
PR 68964

gcc/
 PR tree-opt/68964
 * target.def (builtin_tm_load, builtin_tm_store): Remove.
 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
 (ix86_builtin_tm_store): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
 * doc/tm.texi: Rebuild.
 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
 (BUILT_IN_TM_MEMCPY_RTWN): New.
 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
 fallback from vector to integer helpers.
 (build_tm_load): Handle vector types directly, instead of
 via target hook.
 (build_tm_store): Likewise.
 (expand_assign_tm): Prepare for register types not handled by
 the above.  Copy them to memory and use memcpy.
 * tree.c (tm_define_builtin): New.
 (find_tm_vector_type): New.
 (build_tm_vector_builtins): New.
 (build_common_builtin_nodes): Call it.

libitm/
 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
 * configure.ac (ARCH_AARCH64): New conditional.
 (ARCH_PPC, ARCH_S390): Likewise.
 * Makefile.in, configure: Rebuild.
 * libitm.h (_ITM_TYPE_M128): Always define.
 * vect64.cc: Split ...
 * vect128.cc: ... out of...
 * config/x86/x86_sse.cc: ... here.
 * config/arm/neon.cc: New file.

From-SVN: r232330
2016-01-13 09:03:42 -08:00

133 lines
3.8 KiB
Makefile

## Process this file with automake to produce Makefile.in
ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = testsuite
## May be used by toolexeclibdir.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
abi_version = -fabi-version=4
config_path = @config_path@
search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
vpath % $(strip $(search_path))
AM_CPPFLAGS = $(addprefix -I, $(search_path))
AM_CFLAGS = $(XCFLAGS)
AM_CXXFLAGS = $(XCFLAGS) -std=gnu++0x -funwind-tables -fno-exceptions \
-fno-rtti $(abi_version)
AM_CCASFLAGS = $(XCFLAGS)
AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS) $(HWCAP_LDFLAGS)
toolexeclib_LTLIBRARIES = libitm.la
nodist_toolexeclib_HEADERS = libitm.spec
if LIBITM_BUILD_VERSIONED_SHLIB
if LIBITM_BUILD_VERSIONED_SHLIB_GNU
libitm_version_script = -Wl,--version-script,$(top_srcdir)/libitm.map
libitm_version_dep = $(top_srcdir)/libitm.map
endif
if LIBITM_BUILD_VERSIONED_SHLIB_SUN
libitm_version_script = -Wl,-M,libitm.map-sun
libitm_version_dep = libitm.map-sun
libitm.map-sun : $(top_srcdir)/libitm.map \
$(top_srcdir)/../contrib/make_sunver.pl \
$(libitm_la_OBJECTS) $(libitm_la_LIBADD)
perl $(top_srcdir)/../contrib/make_sunver.pl \
$(top_srcdir)/libitm.map \
$(libitm_la_OBJECTS:%.lo=.libs/%.o) \
`echo $(libitm_la_LIBADD) | \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
endif
else
libitm_version_script =
libitm_version_dep =
endif
libitm_version_info = -version-info $(libtool_VERSION)
# Force link with C, not C++. For now, while we're using C++ we don't
# want or need libstdc++.
libitm_la_DEPENDENCIES = $(libitm_version_dep)
libitm_la_LINK = $(LINK) $(libitm_la_LDFLAGS)
libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
libitm_la_SOURCES = \
aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc barrier.cc beginend.cc \
clone.cc eh_cpp.cc local.cc \
query.cc retry.cc rwlock.cc useraction.cc util.cc \
sjlj.S tls.cc method-serial.cc method-gl.cc method-ml.cc
if ARCH_AARCH64
libitm_la_SOURCES += vect128.cc
endif
if ARCH_ARM
libitm_la_SOURCES += hwcap.cc neon.cc
endif
if ARCH_PPC
libitm_la_SOURCES += vect128.cc
vect128.lo : override CXXFLAGS += -maltivec
endif
if ARCH_S390
libitm_la_SOURCES += vect128.cc
vect128.lo : override CXXFLAGS += -march=z13
endif
if ARCH_X86
libitm_la_SOURCES += vect64.cc vect128.cc x86_avx.cc
vect64.lo : override CXXFLAGS += -msse
vect128.lo : override CXXFLAGS += -msse
endif
if ARCH_X86_AVX
x86_avx.lo : override CXXFLAGS += -mavx
endif
if ARCH_FUTEX
libitm_la_SOURCES += futex.cc
endif
# Automake Documentation:
# If your package has Texinfo files in many directories, you can use the
# variable TEXINFO_TEX to tell Automake where to find the canonical
# `texinfo.tex' for your package. The value of this variable should be
# the relative path from the current `Makefile.am' to `texinfo.tex'.
TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
# Defines info, dvi, pdf and html targets
MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
info_TEXINFOS = libitm.texi
# AM_CONDITIONAL on configure option --generated-files-in-srcdir
if GENINSRC
STAMP_GENINSRC = stamp-geninsrc
else
STAMP_GENINSRC =
endif
# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
if BUILD_INFO
STAMP_BUILD_INFO = stamp-build-info
else
STAMP_BUILD_INFO =
endif
all-local: $(STAMP_GENINSRC)
stamp-geninsrc: libitm.info
cp -p $(top_builddir)/libitm.info $(srcdir)/libitm.info
@touch $@
libitm.info: $(STAMP_BUILD_INFO)
stamp-build-info: libitm.texi
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libitm.info $(srcdir)/libitm.texi
@touch $@
CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libitm.info
MAINTAINERCLEANFILES = $(srcdir)/libitm.info