--- /dev/null
+# test/Feature/Makefile
+#
+# This makefile runs a moderate number of tests against LLVM source "feature"
+# tests, which are designed to test individual components of the LLVM language.
+# This runs through three sets of tests, designed to test to (dis)assembler,
+# the optimizer, and the code generator for support for the more esoteric LLVM
+# features.
+#
+
+LEVEL = ../..
+include ../Makefile.tests
+
+TESTS := $(wildcard *.ll)
+OTESTS := $(addprefix Output/, $(TESTS)) # Tests in output directory
+
+test all :: testasmdis testopt testsparc
+ @echo "All tests completed!"
+
+testasmdis : $(addsuffix .asmdis, $(OTESTS))
+testopt : $(addsuffix .opt , $(OTESTS))
+
+testcodegen : $(OTESTS:%.ll=%.mc)
+testsparc : $(OTESTS:%.ll=%.s)
+
+Output/%.asmdis: % $(LAS) $(LDIS) Output/.dir
+ @./TestAsmDisasm.sh $<
+
+Output/%.opt: % $(LAS) $(LDIS) $(LOPT) Output/.dir
+ @./TestOptimizer.sh $<
+
+Output/%.mc: Output/%.bc $(LLC)
+ @echo "======== Generating machine instructions for $<"
+ $(LLC) -f $(LLCFLAGS) $< > $@ || \
+ ( rm -f $@; ./Failure.sh $@ )
+
+Output/%.s: Output/%.bc $(LLC)
+ @echo "======== Generating assembly code for $<"
+ $(LLC) -f $(LLCFLAGS) $< -o $@ || \
+ ( rm -f $@; ./Failure.sh $@ )
--- /dev/null
+This directory contains test cases for individual source features of LLVM.
+It is designed to make sure that the major components of LLVM support all of the
+features of LLVM, for very small examples. Entire programs should not go here.
+
+Regression tests for individual bug fixes should go into the test/Regression dir.
\ No newline at end of file