From 48410d1c0f613bef863ad00e0bf74b6c1f3a258f Mon Sep 17 00:00:00 2001 From: "Ian A.Mason" Date: Fri, 25 Oct 2019 09:48:48 -0700 Subject: [PATCH] A picture is worth a Megaword. --- README.md | 2 +- data/dragon128x128.png | Bin 0 -> 17277 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 data/dragon128x128.png diff --git a/README.md b/README.md index 31d2d00..16e45f6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# A Concurrent WLLVM in Go +![GLLVM](data/dragon128x128.png?raw_true)A Concurrent Whole Program LLVM in Go [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) [![Build Status](https://travis-ci.org/SRI-CSL/gllvm.svg?branch=master)](https://travis-ci.org/SRI-CSL/gllvm) diff --git a/data/dragon128x128.png b/data/dragon128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5bf23bd7abfdfdda29146c4bc38e1287c82314 GIT binary patch literal 17277 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