[PATCH,RFC] Re: [test-suite] / [LNT] debugging the handling of -maltivec in SingleSource/UnitTests/Vector/Altivec/Makefile
Will Schmidt
will_schmidt at vnet.ibm.com
Thu Feb 7 07:03:16 PST 2013
On Wed, 2013-02-06 at 18:02 -0800, Daniel Dunbar wrote:
> Hi Will,
>
>
> The reason TARGET_FLAGS doesn't stick is because LNT sets it
> specifically on the make command line (and that overrides other uses).
>
>
> Interestingly, Makefile.tests (at the top-level) actually introduces
> an X_TARGET_FLAGS to work around this, but it doesn't look like the
> MultiSource or SingleSource makefiles do the same thing. The right fix
> is probably to do the same thing Makefile.tests is doing in each of
> those places.
Thanks for the comments. So with that suggestion, how about the
following?
This fixes an issue with the -maltivec flag not being passed to the
build rules, which is affecting the powerpc64 LNT buildbots.
Add X_TARGET_FLAGS makefile variable to MultiSource/Makefile.multisrc
and SingleSource/Makefile.singlesource. Change TARGET_FLAGS references
within each to X_TARGET_FLAGS, allowing better function within the LNT
environment.
Update SingleSource/UnitTests/Vector/Altivec/Makefile to use
TEST_TARGET_FLAGS to pass the -maltivec flag to build rules.
Index: MultiSource/Makefile.multisrc
===================================================================
--- MultiSource/Makefile.multisrc (revision 174514)
+++ MultiSource/Makefile.multisrc (working copy)
@@ -18,6 +18,9 @@
include $(LEVEL)/Makefile.programs
+# use X_TARGET_FLAGS to work around LNT behavior.
+X_TARGET_FLAGS = $(TARGET_FLAGS) $(TEST_TARGET_FLAGS)
+
# Figure out what object files we want to build...
LObjs := $(sort $(addsuffix .bc, $(notdir $(basename $(Source)))))
LObjects := $(addprefix Output/,$(LObjs))
@@ -31,35 +34,35 @@
.PRECIOUS: $(LObjects) $(NObjects) $(NLObjects)
Output/%.o: %.c Output/.dir
- -$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ -$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.o: %.C Output/.dir
- -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.o: %.cpp Output/.dir
- -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.o: %.cc Output/.dir
- -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.c Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.m Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.C Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.cpp Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.cc Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.mm Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
bugpoint-opt: Output/$(PROG).bugpoint-opt
bugpoint-gccas: Output/$(PROG).bugpoint-opt
@@ -89,10 +92,10 @@
/^user/ { user += $$2; }\
/^sys/ { sys += $$2; }\
END { printf("real %f\nuser %f\nsys %f\n", real, user, sys); }' > $@.compile.time
- -$(LD_ENV_OVERRIDES) $(LCXX) -o $@ $(NLObjects) $(LDFLAGS) $(CFLAGS) $(TARGET_FLAGS)
+ -$(LD_ENV_OVERRIDES) $(LCXX) -o $@ $(NLObjects) $(LDFLAGS) $(CFLAGS) $(X_TARGET_FLAGS)
Output/%.native: $(NObjects) $(GeneratedTestInputs)
- -$(CXX) -o $@ $(NObjects) $(LDFLAGS) $(CFLAGS) $(TARGET_FLAGS)
+ -$(CXX) -o $@ $(NObjects) $(LDFLAGS) $(CFLAGS) $(X_TARGET_FLAGS)
# A simple target to run findmisopt when bugpoint isn't helping
findmisopt:
Index: SingleSource/Makefile.singlesrc
===================================================================
--- SingleSource/Makefile.singlesrc (revision 174514)
+++ SingleSource/Makefile.singlesrc (working copy)
@@ -36,6 +36,10 @@
$(patsubst $(SourceDir)%,%,$(basename $(Source))))
include $(LEVEL)/Makefile.programs
+
+# use X_TARGET_FLAGS to work around LNT behavior.
+X_TARGET_FLAGS = $(TARGET_FLAGS) $(TEST_TARGET_FLAGS)
+
.PRECIOUS: Output/%.linked.rll
ifndef USE_PRECOMPILED_BYTECODE
@@ -57,88 +61,88 @@
Output/%.llvm.o: %.c Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.m Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.C Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.cpp Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.cc Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
Output/%.llvm.o: %.mm Output/.dir
$(RUNSAFELYLOCAL) /dev/null $@.compile \
- $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) -c $< -o $@
+ $(LCXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) -c $< -o $@
.PRECIOUS: Output/%.llvm.o
Output/%.simple: Output/%.llvm.o Output/.dir
-$(CP) $<.compile.time $@.compile.time
- -$(LD_ENV_OVERRIDES) $(LCXX) -o $@ $< $(LDFLAGS) $(CFLAGS) $(TARGET_FLAGS)
+ -$(LD_ENV_OVERRIDES) $(LCXX) -o $@ $< $(LDFLAGS) $(CFLAGS) $(X_TARGET_FLAGS)
# FIXME: LIBS should be specified, not hardcoded to -lm
Output/%.native: $(SourceDir)/%.c Output/.dir
- -$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native: $(SourceDir)/%.cpp Output/.dir
- -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native: $(SourceDir)/%.m Output/.dir
- -$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native: $(SourceDir)/%.mm Output/.dir
- -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg: $(SourceDir)/%.c Output/.dir
- -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg: $(SourceDir)/%.cpp Output/.dir
- -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg: $(SourceDir)/%.m Output/.dir
- -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg: $(SourceDir)/%.mm Output/.dir
- -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg.opt: $(SourceDir)/%.c Output/.dir
- -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg.opt: $(SourceDir)/%.cpp Output/.dir
- -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg.opt: $(SourceDir)/%.m Output/.dir
- -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.native.dbg.opt: $(SourceDir)/%.mm Output/.dir
- -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(CXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg: $(SourceDir)/%.c Output/.dir
- -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg: $(SourceDir)/%.cpp Output/.dir
- -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg: $(SourceDir)/%.m Output/.dir
- -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg: $(SourceDir)/%.mm Output/.dir
- -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg.opt: $(SourceDir)/%.c Output/.dir
- -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg.opt: $(SourceDir)/%.cpp Output/.dir
- -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg.opt: $(SourceDir)/%.m Output/.dir
- -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCC) -g $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
Output/%.dbg.opt: $(SourceDir)/%.mm Output/.dir
- -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
+ -$(LCXX) -g $(CPPFLAGS) $(CXXFLAGS) $(OPTFLAGS) $(X_TARGET_FLAGS) $< -lm -o $@ $(LDFLAGS)
bugpoint-gccas bugpoint-opt bugpoint-jit bugpoint-llc bugpoint-llc-beta:
@echo "The $@ target doesn't work in SingleSource. Try:"
Index: SingleSource/UnitTests/Vector/Altivec/Makefile
===================================================================
--- SingleSource/UnitTests/Vector/Altivec/Makefile (revision 174514)
+++ SingleSource/UnitTests/Vector/Altivec/Makefile (working copy)
@@ -9,6 +9,8 @@
FP_TOLERANCE := 0.002
TARGET_FLAGS += -maltivec
+# also set TEST_TARGET_FLAGS for the LNT environment.
+TEST_TARGET_FLAGS += -maltivec
LCCFLAGS += -maltivec
include $(LEVEL)/SingleSource/Makefile.singlesrc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: svn_diff_x_target_flags_in_test_suite_feb7_2013.diff
Type: text/x-patch
Size: 10627 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130207/edd37de0/attachment.bin>
More information about the llvm-commits
mailing list