From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 100536 invoked by alias); 15 Jun 2015 20:25:32 -0000 Mailing-List: contact jit-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Subscribe: Sender: jit-owner@gcc.gnu.org Received: (qmail 100526 invoked by uid 89); 15 Jun 2015 20:25:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.98.7 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: mail-yk0-f171.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=m++HYUfofSJNngEAcD29n5UETy980v2zK3Tpf5NITbs=; b=ExZN5RrCSZKagXbNtDqHgka7jIZ36JcLjVMUUi+X7S9D+GJ7joOJLvianzaFLBzOcB 7QiiA3ea/uuidblO8Tniz7eEh8z5lEQdHjYJqegmNW8DubNelRlMRBAXY2Rn4F7DQXOG 2O32penUSBcm4urzdL6fcnr/ChEF1U9Bt6XFHyuW56qB4dZ8E3ihuSF5pDFCIeBgvew2 P2Ofgq5sEWfC1q8KxBpnlBVTEHXAVzFpNrQ4ajJM6veYIEVZSP4+cy12rwgSLIBdQCYl ThhYWsdsPh80HxojBAPG4JGbx68E1rm6Ti264KKe+qoT8weGBEHcczWY+M1rRdMm3OYo iLpA== X-Gm-Message-State: ALoCoQmwJDvXeOZ7S/4FzzzDqbUG05Nog4m1jdsuC+kl5W+3f1Y53+mbRnyhZF8YBH0OQ+CVZn/a MIME-Version: 1.0 X-Received: by 10.129.36.14 with SMTP id k14mr37492993ywk.64.1434399927474; Mon, 15 Jun 2015 13:25:27 -0700 (PDT) In-Reply-To: References: <1434329514.3192.28.camel@surprise> Date: Thu, 01 Jan 2015 00:00:00 -0000 Message-ID: Subject: Re: Hit a showstopper issue From: Dibyendu Majumdar To: David Malcolm Cc: jit@gcc.gnu.org Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2015-q2/txt/msg00073.txt.bz2 On 15 June 2015 at 20:32, Dibyendu Majumdar wrote: > I apologize for bringing in LLVM comparison again - but they have a > model that seems to work just right. Basically the LLVM > verifier/compiler will detect invalid blocks and conrol flow - which > is more important for debugging purposes. Usually a bug will manifest > itself in some corruption in the control flow - e.g. variable not > accessible in all code paths and such - LLVM detects these and raises > errors. Of course LLVM's IR is SSA form so that probably makes it easier to validate the control flow. They described this as 'well formed'-ness - the verifier detects if the code is well-formed and complains if 'the definition of %x does not dominate all of its uses'. My understanding is that the IR you are working with is not SSA-form so this type of validation may not be possible... In any case a warning about unreachable bocks may be more appropriate than errors. Regards