Skip to content

Add inlining report marshalling for flambda1 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 18 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
128 changes: 128 additions & 0 deletions .github/workflows/4.11.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: 4.11

on: [push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest]

env:
J: "8"

steps:
- name: Checkout the repo
uses: actions/checkout@master
with:
path: 'flambda_backend'

- name: Cache stage0 compiler install directory
uses: actions/cache@v1
id: cache
with:
path: ${{ github.workspace }}/_install0
key: ${{ matrix.os }}-cache-install0

- name: Checkout OCaml 4.11 (stage0 compiler)
uses: actions/checkout@master
if: steps.cache.outputs.cache-hit != 'true'
with:
repository: 'ocaml/ocaml'
path: 'stage0'
ref: '4.11'

- name: Build and install stage0 compiler
if: steps.cache.outputs.cache-hit != 'true'
working-directory: stage0
run: |
./configure --prefix=$GITHUB_WORKSPACE/_install0
make -j $J world.opt
make install

- name: Checkout dune github repo
uses: actions/checkout@master
with:
repository: 'ocaml-flambda/dune'
ref: 'special_dune'
path: 'dune'

- name: Build dune
working-directory: dune
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make release

- name: Run autoconf for Flambda backend
working-directory: flambda_backend
run: |
autoconf

- name: Configure Flambda backend (Closure mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH ./configure \
--prefix=$GITHUB_WORKSPACE/_install \
--enable-middle-end=closure \
--with-dune=$GITHUB_WORKSPACE/dune/dune.exe

- name: Build Flambda backend (Closure mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make

- name: Run Flambda backend testsuite (Closure mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make runtest

- name: Run upstream testsuite (Closure mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make runtest-upstream

- name: Install Flambda backend (Closure mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make install

- name: Clean and remove installation
working-directory: flambda_backend
run: |
git reset --hard
git clean -dfx
rm -rf $GITHUB_WORKSPACE/_install

- name: Run autoconf for Flambda backend
working-directory: flambda_backend
run: |
autoconf

- name: Configure Flambda backend (Flambda mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH ./configure \
--prefix=$GITHUB_WORKSPACE/_install \
--enable-middle-end=flambda \
--with-dune=$GITHUB_WORKSPACE/dune/dune.exe

- name: Build Flambda backend (Flambda mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make

- name: Run Flambda backend testsuite (Flambda mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make runtest

- name: Run upstream testsuite (Flambda mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make runtest-upstream

- name: Install Flambda backend (Flambda mode)
working-directory: flambda_backend
run: |
PATH=$GITHUB_WORKSPACE/_install0/bin:$PATH make install
48 changes: 48 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#**************************************************************************
#* *
#* OCaml *
#* Derived from the work of: *
#* Damien Doligez, projet Gallium, INRIA *
#* *
#* Copyright 2015 Institut National de Recherche en Informatique et *
#* en Automatique. *
#* *
#* All rights reserved. This file is distributed under the terms of *
#* the GNU Lesser General Public License version 2.1, with the *
#* special exception on linking described in the file LICENSE. *
#* *
#**************************************************************************

*.o
*.a
*.so
*.obj
*.lib
*.dll
*.la
*.cm[ioxat]
*.cmx[as]
*.cmti
*.annot
*.exe
*.exe.manifest
.DS_Store
*.out
*.out.dSYM
*.swp
_ocamltest
_ocamltestd
*.odoc
.merlin

_build
_build1
_build2
autom4te.cache
config.log

Makefile
config.status
configure
ocaml-stage1-config.status
ocaml-stage2-config.status
23 changes: 23 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build & install Flambda backend",
"type": "shell",
"command": "opam exec --switch=4.11.1 make install",
"group": "build",
"problemMatcher": [
"$ocamlc"
]
}

{
"type": "dune",
"problemMatcher": [
"$ocamlc"
],
"group": "build",
"label": "dune: build /dune"
}
]
}
Loading