Skip to content

Commit 454bf42

Browse files
committed
Remove LLVM rustboot backend.
1 parent a634b21 commit 454bf42

File tree

7 files changed

+3
-1789
lines changed

7 files changed

+3
-1789
lines changed

src/Makefile

Lines changed: 3 additions & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ CFG_GCC_CFLAGS :=
2323
CFG_GCC_LINK_FLAGS :=
2424
CFG_VALGRIND :=
2525

26-
# Disable the ocaml backend on rustboot. It's too frustrating at this
27-
# point.
28-
NO_OCAML_LLVM := 1
29-
3026
CFG_LLVM_CONFIG ?= llvm-config
3127
CFG_BOOT_FLAGS := $(FLAGS)
3228
CFG_RUSTC_FLAGS := -nowarn
@@ -145,7 +141,6 @@ ifdef PROFILE
145141
$(info cfg: building with profiling info (forcing native output))
146142
CFG_NATIVE := 1
147143
CFG_OCAMLOPT_PROFILE_FLAGS := -p
148-
NO_LLVM := 1
149144
endif
150145

151146
ifdef DEBUG
@@ -182,52 +177,13 @@ ifneq ($(CFG_LLVM_CONFIG),)
182177
expected one of $(CFG_LLVM_ALLOWED_VERSIONS))
183178
endif
184179
endif
185-
ifneq ($(CFG_LLVM_CONFIG),)
186-
CFG_OCAML_LIBPATH := $(lastword \
187-
$(shell ocamlc$(OPT) -config | grep standard_library:))
188-
CFG_OCAML_LLVM := $(shell \
189-
for path in $(shell $(CFG_LLVM_CONFIG) --libdir)/ocaml \
190-
$(CFG_OCAML_LIBPATH) \
191-
$(CFG_OCAML_LIBPATH)/llvm \
192-
$(CFG_OCAML_LIBPATH)/llvm-$(CFG_LLVM_VERSION) ; do \
193-
if test -e $${path}/llvm.cma; then echo $${path}; break; fi \
194-
done)
195-
ifneq ($(CFG_OCAML_LLVM),)
196-
$(info cfg: found LLVM ocaml bindings in $(CFG_OCAML_LLVM))
197-
endif
198-
endif
199180

200-
ifdef NO_OCAML_LLVM
201-
$(info cfg: disabling LLVM ocaml bindings)
202-
CFG_OCAML_LLVM :=
203-
endif
181+
VARIANT=x86
204182

205183
ifdef CFG_LLVM_CONFIG
206184
LLC := "$(shell $(CFG_LLVM_CONFIG) --bindir)/llc"
207185
CFG_LLC_CFLAGS := -march=x86
208186
LLVM-DIS := "$(shell $(CFG_LLVM_CONFIG) --bindir)/llvm-dis"
209-
ifneq ($(CFG_OCAML_LLVM),)
210-
VARIANT=llvm
211-
LLVM_LIBS := llvm.cma llvm_bitwriter.cma
212-
LLVM_NATIVE_LIBS := llvm.cmxa llvm_bitwriter.cmxa
213-
LLVM_CLIBS := $(shell for c in `$(CFG_LLVM_CONFIG) --ldflags --libs` \
214-
-lllvm -lllvm_bitwriter; do echo -cclib && echo $$c; done | xargs echo)
215-
LLVM_INCS := -I boot/llvm -I $(CFG_OCAML_LLVM)
216-
LLVM_MLS := $(addprefix boot/llvm/, llabi.ml llasm.ml llfinal.ml \
217-
lltrans.ml llemit.ml)
218-
else
219-
VARIANT=x86
220-
LLVM_CLIBS :=
221-
LLVM_INCS :=
222-
LLVM_MLS :=
223-
$(info cfg: disabling LLVM ocaml backend)
224-
endif
225-
else
226-
VARIANT=x86
227-
LLVM_CLIBS :=
228-
LLVM_INCS :=
229-
LLVM_MLS :=
230-
$(info cfg: disabling LLVM backend)
231187
endif
232188

233189
MKFILES := Makefile
@@ -241,19 +197,14 @@ CFG_BOOT_FLAGS += -L .
241197
######################################################################
242198

243199
ML_DEP_INCS := -I boot/fe -I boot/me -I boot/be -I boot/driver/$(VARIANT) \
244-
-I boot/driver -I boot/util -I boot/llvm
200+
-I boot/driver -I boot/util
245201
ML_INCS := $(ML_DEP_INCS) $(LLVM_INCS)
246202
ML_LIBS := unix.cma nums.cma bigarray.cma
247203
ML_NATIVE_LIBS := unix.cmxa nums.cmxa bigarray.cmxa
248204
OCAMLC_FLAGS := -g $(ML_INCS) -w Ael -warn-error Ael
249205
OCAMLOPT_FLAGS := $(ML_INCS) -w Ael -warn-error Ael \
250206
$(CFG_OCAMLOPT_PROFILE_FLAGS)
251207

252-
ifdef CFG_LLVM_CONFIG
253-
ML_LIBS += $(LLVM_LIBS) -custom -cclib -lstdc++ $(LLVM_CLIBS)
254-
ML_NATIVE_LIBS += $(LLVM_NATIVE_LIBS) -cclib -lstdc++ $(LLVM_CLIBS)
255-
endif
256-
257208
# List them in link order.
258209
# Nobody calculates the link-order DAG automatically, sadly.
259210

@@ -270,7 +221,7 @@ FE_MLS := $(addprefix boot/fe/, ast.ml token.ml lexer.ml parser.ml \
270221
DRIVER_TOP_MLS := $(addprefix boot/driver/, lib.ml $(VARIANT)/glue.ml main.ml)
271222

272223
BOOT_MLS := $(UTIL_BOT_MLS) $(DRIVER_BOT_MLS) $(FE_MLS) $(IL_MLS) $(ME_MLS) \
273-
$(BE_MLS) $(LLVM_MLS) $(DRIVER_TOP_MLS)
224+
$(BE_MLS) $(DRIVER_TOP_MLS)
274225
BOOT_CMOS := $(BOOT_MLS:.ml=.cmo)
275226
BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
276227
BOOT_OBJS := $(BOOT_MLS:.ml=.o)
@@ -458,59 +409,6 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
458409
test/compile-fail/infinite-vec-type-recursion.rs \
459410
test/compile-fail/writing-through-read-alias.rs
460411

461-
# Most tests fail on the boot-llvm backend, so we list the run-pass
462-
# xfails inside-out, by listing those that *don't* fail. A bit
463-
# double-negative-y but it's a bit unwieldy the other way just now.
464-
465-
TEST_XFAILS_LLVM := $(TASK_XFAILS) \
466-
$(NOMINAL_TAG_XFAILS) \
467-
$(CONST_TAG_XFAILS) \
468-
$(filter-out \
469-
$(addprefix test/run-pass/, \
470-
arith-0.rs \
471-
arith-2.rs \
472-
box.rs \
473-
char.rs \
474-
dead-code-one-arm-if.rs \
475-
div-mod.rs \
476-
drop-on-ret.rs \
477-
else-if.rs \
478-
fact.rs \
479-
generic-fn-twice.rs \
480-
generic-type.rs \
481-
generic-type-synonym.rs \
482-
hello.rs \
483-
inner-module.rs \
484-
int.rs \
485-
item-name-overload.rs \
486-
multiline-comment.rs \
487-
native.rs \
488-
native-mod.rs \
489-
native-opaque-type.rs \
490-
opeq.rs \
491-
return-nil.rs \
492-
syntax-extension-shell.rs \
493-
tup.rs), \
494-
$(wildcard test/run-pass/*.rs) ) \
495-
$(addprefix test/run-fail/, \
496-
explicit-fail.rs \
497-
fail.rs \
498-
linked-failure.rs \
499-
non-exhaustive-match.rs \
500-
pred.rs \
501-
str-overrun.rs \
502-
vec-overrun.rs \
503-
vec-underrun.rs \
504-
task-comm-14.rs \
505-
) \
506-
$(addprefix test/compile-fail/, \
507-
bad-recv.rs \
508-
bad-send.rs \
509-
infinite-vec-type-recursion.rs \
510-
rec-missing-fields.rs \
511-
writing-through-read-alias.rs \
512-
)
513-
514412
# Same strategy here for the time being: just list the ones that
515413
# work and assume the others don't. Invert this when we're closer
516414
# to actually bootstrapping.
@@ -578,12 +476,10 @@ TEST_XFAILS_SELF := $(filter-out \
578476

579477
ifdef MINGW_CROSS
580478
TEST_XFAILS_X86 += test/run-pass/native-mod.rc
581-
TEST_XFAILS_LLVM += test/run-pass/native-mod.rc
582479
TEST_XFAILS_SELF += test/run-pass/native-mod.rc
583480
endif
584481
ifdef CFG_WINDOWSY
585482
TEST_XFAILS_X86 += test/run-pass/native-mod.rc
586-
TEST_XFAILS_LLVM += test/run-pass/native-mod.rc
587483
TEST_XFAILS_SELF += test/run-pass/native-mod.rc
588484
endif
589485

@@ -596,105 +492,76 @@ CFAIL_RS := $(wildcard test/compile-fail/*.rs)
596492

597493
ifdef CHECK_XFAILS
598494
TEST_RPASS_CRATES_X86 := $(filter $(TEST_XFAILS_X86), $(RPASS_RC))
599-
TEST_RPASS_CRATES_LLVM := $(filter $(TEST_XFAILS_LLVM), $(RPASS_RC))
600495
TEST_RPASS_CRATES_SELF := $(filter $(TEST_XFAILS_SELF), $(RPASS_RC))
601496
TEST_RPASS_SOURCES_X86 := $(filter $(TEST_XFAILS_X86), $(RPASS_RS))
602-
TEST_RPASS_SOURCES_LLVM := $(filter $(TEST_XFAILS_LLVM), $(RPASS_RS))
603497
TEST_RPASS_SOURCES_SELF := $(filter $(TEST_XFAILS_SELF), $(RPASS_RS))
604498
else
605499
TEST_RPASS_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RPASS_RC))
606-
TEST_RPASS_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(RPASS_RC))
607500
TEST_RPASS_CRATES_SELF := $(filter-out $(TEST_XFAILS_SELF), $(RPASS_RC))
608501
TEST_RPASS_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RPASS_RS))
609-
TEST_RPASS_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(RPASS_RS))
610502
TEST_RPASS_SOURCES_SELF := $(filter-out $(TEST_XFAILS_SELF), $(RPASS_RS))
611503
endif
612504

613505
TEST_RPASS_EXES_X86 := \
614506
$(TEST_RPASS_CRATES_X86:.rc=-boot.x86$(CFG_EXE_SUFFIX)) \
615507
$(TEST_RPASS_SOURCES_X86:.rs=-boot.x86$(CFG_EXE_SUFFIX))
616-
TEST_RPASS_EXES_LLVM := \
617-
$(TEST_RPASS_CRATES_LLVM:.rc=-boot.llvm$(CFG_EXE_SUFFIX)) \
618-
$(TEST_RPASS_SOURCES_LLVM:.rs=-boot.llvm$(CFG_EXE_SUFFIX))
619508
TEST_RPASS_EXES_SELF := \
620509
$(TEST_RPASS_CRATES_SELF:.rc=.llvm$(CFG_EXE_SUFFIX)) \
621510
$(TEST_RPASS_SOURCES_SELF:.rs=.llvm$(CFG_EXE_SUFFIX))
622511

623512
TEST_RPASS_OUTS_X86 := \
624513
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86.out)
625-
TEST_RPASS_OUTS_LLVM := \
626-
$(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
627514
TEST_RPASS_OUTS_SELF := \
628515
$(TEST_RPASS_EXES_SELF:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
629516

630517
TEST_RPASS_TMPS_X86 := \
631518
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86$(CFG_EXE_SUFFIX).tmp)
632-
TEST_RPASS_TMPS_LLVM := \
633-
$(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
634519
TEST_RPASS_TMPS_SELF := \
635520
$(TEST_RPASS_EXES_SELF:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
636521

637522

638523
TEST_RFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RFAIL_RC))
639-
TEST_RFAIL_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(RFAIL_RC))
640524
TEST_RFAIL_CRATES_SELF := $(filter-out $(TEST_XFAILS_SELF), $(RFAIL_RC))
641525
TEST_RFAIL_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86), $(RFAIL_RS))
642-
TEST_RFAIL_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(RFAIL_RS))
643526
TEST_RFAIL_SOURCES_SELF := $(filter-out $(TEST_XFAILS_SELF), $(RFAIL_RS))
644527

645528
TEST_RFAIL_EXES_X86 := \
646529
$(TEST_RFAIL_CRATES_X86:.rc=-boot.x86$(CFG_EXE_SUFFIX)) \
647530
$(TEST_RFAIL_SOURCES_X86:.rs=-boot.x86$(CFG_EXE_SUFFIX))
648-
TEST_RFAIL_EXES_LLVM := \
649-
$(TEST_RFAIL_CRATES_LLVM:.rc=-boot.llvm$(CFG_EXE_SUFFIX)) \
650-
$(TEST_RFAIL_SOURCES_LLVM:.rs=-boot.llvm$(CFG_EXE_SUFFIX))
651531
TEST_RFAIL_EXES_SELF := \
652532
$(TEST_RFAIL_CRATES_SELF:.rc=-boot.llvm$(CFG_EXE_SUFFIX)) \
653533
$(TEST_RFAIL_SOURCES_SELF:.rs=-boot.llvm$(CFG_EXE_SUFFIX))
654534

655535
TEST_RFAIL_OUTS_X86 := \
656536
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86.out)
657-
TEST_RFAIL_OUTS_LLVM := \
658-
$(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
659537
TEST_RFAIL_OUTS_SELF := \
660538
$(TEST_RFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
661539

662540
TEST_RFAIL_TMPS_X86 := \
663541
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86$(CFG_EXE_SUFFIX).tmp)
664-
TEST_RFAIL_TMPS_LLVM := \
665-
$(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
666542
TEST_RFAIL_TMPS_SELF := \
667543
$(TEST_RFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
668544

669545

670546
TEST_CFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86), $(CFAIL_RC))
671-
TEST_CFAIL_CRATES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(CFAIL_RC))
672547
TEST_CFAIL_CRATES_SELF := $(filter-out $(TEST_XFAILS_SELF), $(CFAIL_RC))
673548
TEST_CFAIL_SOURCES_X86 := $(filter-out $(TEST_XFAILS_X86), $(CFAIL_RS))
674-
TEST_CFAIL_SOURCES_LLVM := $(filter-out $(TEST_XFAILS_LLVM), $(CFAIL_RS))
675549
TEST_CFAIL_SOURCES_SELF := $(filter-out $(TEST_XFAILS_SELF), $(CFAIL_RS))
676550

677551
TEST_CFAIL_EXES_X86 := \
678552
$(TEST_CFAIL_CRATES_X86:.rc=-boot.x86$(CFG_EXE_SUFFIX)) \
679553
$(TEST_CFAIL_SOURCES_X86:.rs=-boot.x86$(CFG_EXE_SUFFIX))
680-
TEST_CFAIL_EXES_LLVM := \
681-
$(TEST_CFAIL_CRATES_LLVM:.rc=-boot.llvm$(CFG_EXE_SUFFIX)) \
682-
$(TEST_CFAIL_SOURCES_LLVM:.rs=-boot.llvm$(CFG_EXE_SUFFIX))
683554
TEST_CFAIL_EXES_SELF := \
684555
$(TEST_CFAIL_CRATES_SELF:.rc=.llvm$(CFG_EXE_SUFFIX)) \
685556
$(TEST_CFAIL_SOURCES_SELF:.rs=.llvm$(CFG_EXE_SUFFIX))
686557

687558
TEST_CFAIL_OUTS_X86 := \
688559
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86.out)
689-
TEST_CFAIL_OUTS_LLVM := \
690-
$(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
691560
TEST_CFAIL_OUTS_SELF := \
692561
$(TEST_CFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX)=.llvm.out)
693562

694563
TEST_CFAIL_TMPS_X86 := \
695564
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX)=.x86$(CFG_EXE_SUFFIX).tmp)
696-
TEST_CFAIL_TMPS_LLVM := \
697-
$(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
698565
TEST_CFAIL_TMPS_SELF := \
699566
$(TEST_CFAIL_EXES_SELF:.llvm$(CFG_EXE_SUFFIX)=.llvm$(CFG_EXE_SUFFIX).tmp)
700567

@@ -723,28 +590,6 @@ compile-check: tidy \
723590

724591
ifdef CFG_LLVM_CONFIG
725592

726-
ifneq ($(CFG_OCAML_LLVM),)
727-
728-
ALL_TEST_CRATES += $(TEST_CFAIL_CRATES_LLVM) \
729-
$(TEST_RFAIL_CRATES_LLVM) \
730-
$(TEST_RPASS_CRATES_LLVM)
731-
732-
ALL_TEST_SOURCES += $(TEST_CFAIL_SOURCES_LLVM) \
733-
$(TEST_RFAIL_SOURCES_LLVM) \
734-
$(TEST_RPASS_SOURCES_LLVM)
735-
736-
check_nocompile: $(TEST_CFAIL_OUTS_LLVM)
737-
738-
check: tidy \
739-
$(TEST_RPASS_EXES_LLVM) $(TEST_RFAIL_EXES_LLVM) \
740-
$(TEST_RPASS_OUTS_LLVM) $(TEST_RFAIL_OUTS_LLVM) \
741-
$(TEST_CFAIL_OUTS_LLVM)
742-
743-
compile-check: tidy \
744-
$(TEST_RPASS_EXES_LLVM) $(TEST_RFAIL_EXES_LLVM)
745-
746-
endif
747-
748593
ALL_TEST_CRATES += $(TEST_CFAIL_CRATES_SELF) \
749594
$(TEST_RFAIL_CRATES_SELF) \
750595
$(TEST_RPASS_CRATES_SELF)
@@ -761,7 +606,6 @@ check: tidy \
761606
$(TEST_CFAIL_OUTS_SELF)
762607

763608
compile-check: tidy \
764-
$(TEST_RPASS_EXES_LLVM) $(TEST_RFAIL_EXES_LLVM) \
765609
$(TEST_RPASS_EXES_SELF) $(TEST_RFAIL_EXES_SELF)
766610

767611
endif

src/boot/driver/llvm/glue.ml

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)