diff --git a/minic/mcc b/minic/mcc
index f54545e..5a95042 100755
--- a/minic/mcc
+++ b/minic/mcc
@@ -29,7 +29,7 @@ fi
 
 
 ../minic/minic < $file        > /tmp/minic.ssa &&
-../lisc/lisc < /tmp/minic.ssa > /tmp/minic.s   &&
+../src/qbe < /tmp/minic.ssa   > /tmp/minic.s   &&
 cc $flags /tmp/minic.s
 
 if test $? -ne 0
diff --git a/lisc/.gitignore b/src/.gitignore
similarity index 82%
rename from lisc/.gitignore
rename to src/.gitignore
index af21541..0416fa9 100644
--- a/lisc/.gitignore
+++ b/src/.gitignore
@@ -1,4 +1,4 @@
-lisc
+qbe
 doc
 .comfile
 *.o
diff --git a/lisc/.tag b/src/.tag
similarity index 100%
rename from lisc/.tag
rename to src/.tag
diff --git a/lisc/Makefile b/src/Makefile
similarity index 92%
rename from lisc/Makefile
rename to src/Makefile
index e29c0b8..b9c87df 100644
--- a/lisc/Makefile
+++ b/src/Makefile
@@ -1,4 +1,4 @@
-BIN = lisc
+BIN = qbe
 OBJ = main.o util.o parse.o mem.o ssa.o copy.o live.o isel.o spill.o rega.o emit.o
 
 CFLAGS = -Wall -Wextra -std=c99 -g -pedantic
@@ -6,7 +6,7 @@ CFLAGS = -Wall -Wextra -std=c99 -g -pedantic
 $(BIN): $(OBJ)
 	$(CC) $(LDFLAGS) $(OBJ) -o $@
 
-$(OBJ): lisc.h
+$(OBJ): all.h
 
 .PHONY: clean check syndoc
 clean:
diff --git a/lisc/lisc.h b/src/all.h
similarity index 100%
rename from lisc/lisc.h
rename to src/all.h
diff --git a/lisc/copy.c b/src/copy.c
similarity index 99%
rename from lisc/copy.c
rename to src/copy.c
index d2b0285..ef2d01d 100644
--- a/lisc/copy.c
+++ b/src/copy.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 
 typedef struct RList RList;
 struct RList {
diff --git a/lisc/emit.c b/src/emit.c
similarity index 99%
rename from lisc/emit.c
rename to src/emit.c
index ee0318f..b9dc782 100644
--- a/lisc/emit.c
+++ b/src/emit.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 
 enum {
 	SLong = 0,
diff --git a/lisc/isel.c b/src/isel.c
similarity index 99%
rename from lisc/isel.c
rename to src/isel.c
index 2235cff..48e29ef 100644
--- a/lisc/isel.c
+++ b/src/isel.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 #include <limits.h>
 
 /* For x86_64, do the following:
diff --git a/lisc/live.c b/src/live.c
similarity index 99%
rename from lisc/live.c
rename to src/live.c
index 43ceed9..44806e1 100644
--- a/lisc/live.c
+++ b/src/live.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 
 void
 liveon(BSet *v, Blk *b, Blk *s)
diff --git a/lisc/main.c b/src/main.c
similarity index 99%
rename from lisc/main.c
rename to src/main.c
index 026a8b0..b8cd7d6 100644
--- a/lisc/main.c
+++ b/src/main.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 #include <ctype.h>
 #include <getopt.h>
 
diff --git a/lisc/mem.c b/src/mem.c
similarity index 98%
rename from lisc/mem.c
rename to src/mem.c
index 914f181..bda43d7 100644
--- a/lisc/mem.c
+++ b/src/mem.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 
 /* Memory optimization:
  *
diff --git a/lisc/parse.c b/src/parse.c
similarity index 99%
rename from lisc/parse.c
rename to src/parse.c
index 49595c4..903e909 100644
--- a/lisc/parse.c
+++ b/src/parse.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 #include <ctype.h>
 #include <stdarg.h>
 
diff --git a/lisc/rega.c b/src/rega.c
similarity index 99%
rename from lisc/rega.c
rename to src/rega.c
index ead2806..7f8edcf 100644
--- a/lisc/rega.c
+++ b/src/rega.c
@@ -1,4 +1,5 @@
-#include "lisc.h"
+#include "all.h"
+
 #ifdef TEST_PMOV
 	#undef assert
 	#define assert(x) assert_test(#x, x)
diff --git a/lisc/spill.c b/src/spill.c
similarity index 99%
rename from lisc/spill.c
rename to src/spill.c
index 33392a3..72f8106 100644
--- a/lisc/spill.c
+++ b/src/spill.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 
 static void
 loopmark(Blk *hd, Blk *b, Phi *p)
diff --git a/lisc/ssa.c b/src/ssa.c
similarity index 99%
rename from lisc/ssa.c
rename to src/ssa.c
index 7ccd944..0c163aa 100644
--- a/lisc/ssa.c
+++ b/src/ssa.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 #include <stdarg.h>
 
 static void
diff --git a/lisc/test/_alt.ssa b/src/test/_alt.ssa
similarity index 100%
rename from lisc/test/_alt.ssa
rename to src/test/_alt.ssa
diff --git a/lisc/test/_dragon.ssa b/src/test/_dragon.ssa
similarity index 100%
rename from lisc/test/_dragon.ssa
rename to src/test/_dragon.ssa
diff --git a/lisc/test/_fix1.ssa b/src/test/_fix1.ssa
similarity index 100%
rename from lisc/test/_fix1.ssa
rename to src/test/_fix1.ssa
diff --git a/lisc/test/_fix2.ssa b/src/test/_fix2.ssa
similarity index 100%
rename from lisc/test/_fix2.ssa
rename to src/test/_fix2.ssa
diff --git a/lisc/test/_fix3.ssa b/src/test/_fix3.ssa
similarity index 100%
rename from lisc/test/_fix3.ssa
rename to src/test/_fix3.ssa
diff --git a/lisc/test/_fix4.ssa b/src/test/_fix4.ssa
similarity index 100%
rename from lisc/test/_fix4.ssa
rename to src/test/_fix4.ssa
diff --git a/lisc/test/_live.ssa b/src/test/_live.ssa
similarity index 100%
rename from lisc/test/_live.ssa
rename to src/test/_live.ssa
diff --git a/lisc/test/_rpo.ssa b/src/test/_rpo.ssa
similarity index 100%
rename from lisc/test/_rpo.ssa
rename to src/test/_rpo.ssa
diff --git a/lisc/test/_spill1.ssa b/src/test/_spill1.ssa
similarity index 100%
rename from lisc/test/_spill1.ssa
rename to src/test/_spill1.ssa
diff --git a/lisc/test/_spill2.ssa b/src/test/_spill2.ssa
similarity index 100%
rename from lisc/test/_spill2.ssa
rename to src/test/_spill2.ssa
diff --git a/lisc/test/_spill3.ssa b/src/test/_spill3.ssa
similarity index 100%
rename from lisc/test/_spill3.ssa
rename to src/test/_spill3.ssa
diff --git a/lisc/test/abi1.ssa b/src/test/abi1.ssa
similarity index 100%
rename from lisc/test/abi1.ssa
rename to src/test/abi1.ssa
diff --git a/lisc/test/abi2.ssa b/src/test/abi2.ssa
similarity index 100%
rename from lisc/test/abi2.ssa
rename to src/test/abi2.ssa
diff --git a/lisc/test/abi3.ssa b/src/test/abi3.ssa
similarity index 100%
rename from lisc/test/abi3.ssa
rename to src/test/abi3.ssa
diff --git a/lisc/test/abi4.ssa b/src/test/abi4.ssa
similarity index 100%
rename from lisc/test/abi4.ssa
rename to src/test/abi4.ssa
diff --git a/lisc/test/abi5.ssa b/src/test/abi5.ssa
similarity index 100%
rename from lisc/test/abi5.ssa
rename to src/test/abi5.ssa
diff --git a/lisc/test/align.ssa b/src/test/align.ssa
similarity index 100%
rename from lisc/test/align.ssa
rename to src/test/align.ssa
diff --git a/lisc/test/collatz.ssa b/src/test/collatz.ssa
similarity index 100%
rename from lisc/test/collatz.ssa
rename to src/test/collatz.ssa
diff --git a/lisc/test/cprime.ssa b/src/test/cprime.ssa
similarity index 100%
rename from lisc/test/cprime.ssa
rename to src/test/cprime.ssa
diff --git a/lisc/test/cup.ssa b/src/test/cup.ssa
similarity index 100%
rename from lisc/test/cup.ssa
rename to src/test/cup.ssa
diff --git a/lisc/test/dark.ssa b/src/test/dark.ssa
similarity index 100%
rename from lisc/test/dark.ssa
rename to src/test/dark.ssa
diff --git a/lisc/test/double.ssa b/src/test/double.ssa
similarity index 100%
rename from lisc/test/double.ssa
rename to src/test/double.ssa
diff --git a/lisc/test/echo.ssa b/src/test/echo.ssa
similarity index 100%
rename from lisc/test/echo.ssa
rename to src/test/echo.ssa
diff --git a/lisc/test/eucl.ssa b/src/test/eucl.ssa
similarity index 100%
rename from lisc/test/eucl.ssa
rename to src/test/eucl.ssa
diff --git a/lisc/test/euclc.ssa b/src/test/euclc.ssa
similarity index 100%
rename from lisc/test/euclc.ssa
rename to src/test/euclc.ssa
diff --git a/lisc/test/fpcnv.ssa b/src/test/fpcnv.ssa
similarity index 100%
rename from lisc/test/fpcnv.ssa
rename to src/test/fpcnv.ssa
diff --git a/lisc/test/go.sh b/src/test/go.sh
similarity index 98%
rename from lisc/test/go.sh
rename to src/test/go.sh
index 9879ff4..35bf525 100755
--- a/lisc/test/go.sh
+++ b/src/test/go.sh
@@ -41,7 +41,7 @@ once() {
 
 	echo "$T... "
 
-	if ! ./lisc $T -o $ASM
+	if ! ./qbe $T -o $ASM
 	then
 		echo "[qbe fail]"
 		return 1
diff --git a/lisc/test/loop.ssa b/src/test/loop.ssa
similarity index 100%
rename from lisc/test/loop.ssa
rename to src/test/loop.ssa
diff --git a/lisc/test/mandel.ssa b/src/test/mandel.ssa
similarity index 100%
rename from lisc/test/mandel.ssa
rename to src/test/mandel.ssa
diff --git a/lisc/test/max.ssa b/src/test/max.ssa
similarity index 100%
rename from lisc/test/max.ssa
rename to src/test/max.ssa
diff --git a/lisc/test/prime.ssa b/src/test/prime.ssa
similarity index 100%
rename from lisc/test/prime.ssa
rename to src/test/prime.ssa
diff --git a/lisc/test/puts10.ssa b/src/test/puts10.ssa
similarity index 100%
rename from lisc/test/puts10.ssa
rename to src/test/puts10.ssa
diff --git a/lisc/test/sum.ssa b/src/test/sum.ssa
similarity index 100%
rename from lisc/test/sum.ssa
rename to src/test/sum.ssa
diff --git a/lisc/tools/abi.ml b/src/tools/abi.ml
similarity index 100%
rename from lisc/tools/abi.ml
rename to src/tools/abi.ml
diff --git a/lisc/tools/abitest.sh b/src/tools/abitest.sh
similarity index 98%
rename from lisc/tools/abitest.sh
rename to src/tools/abitest.sh
index 6305176..d5b16e5 100755
--- a/lisc/tools/abitest.sh
+++ b/src/tools/abitest.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 OCAMLC=/usr/bin/ocamlc
-QBE=`pwd`/lisc
+QBE=`pwd`/qbe
 
 failure() {
 	echo "Failure at stage:" $1 >&2
diff --git a/lisc/tools/fptox.c b/src/tools/fptox.c
similarity index 100%
rename from lisc/tools/fptox.c
rename to src/tools/fptox.c
diff --git a/lisc/tools/pmov.c b/src/tools/pmov.c
similarity index 100%
rename from lisc/tools/pmov.c
rename to src/tools/pmov.c
diff --git a/lisc/tools/regress.sh b/src/tools/regress.sh
similarity index 71%
rename from lisc/tools/regress.sh
rename to src/tools/regress.sh
index c1b90b2..4106b00 100755
--- a/lisc/tools/regress.sh
+++ b/src/tools/regress.sh
@@ -4,8 +4,8 @@ for t in test/*
 do
 	printf "Test $t ... "
 
-	./lisc   $t >/tmp/out.0 2>&1
-	./lisc.1 $t >/tmp/out.1 2>&1
+	./qbe   $t >/tmp/out.0 2>&1
+	./qbe.1 $t >/tmp/out.1 2>&1
 
 	if diff /tmp/out.0 /tmp/out.1 > /dev/null
 	then
diff --git a/lisc/util.c b/src/util.c
similarity index 99%
rename from lisc/util.c
rename to src/util.c
index 368a060..65b3ff8 100644
--- a/lisc/util.c
+++ b/src/util.c
@@ -1,4 +1,4 @@
-#include "lisc.h"
+#include "all.h"
 
 typedef struct Bitset Bitset;
 typedef struct Vec Vec;