From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87796 invoked by alias); 15 Jun 2015 21:18:36 -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 87783 invoked by uid 89); 15 Jun 2015 21:18:36 -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-f172.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=BEp1F8pmE7H7G76UoOcsqeXcqLXYYfFJ+MnxSCpEajQ=; b=JfZ1JwqN5t4ktMo9EIAH96ILIJIA24caQq7F4kcmTRuL1AnaVgStbJis0jcIzQSlWE ppe6OfRQpj5iOEpAsGw/pM2z3rU3t9+Aq8+KUEp8a8zpbH5+d/rB2zYwn7DY2iKOfHjX izuktG+mjgDnAqEovBZk9lwUxFJmterh0lQb/1JMgxQUd4C4cJ19LlhGv+JAdMNZ2Miv 9qhK7wbSA5+I0D//nDOmssfravx6FnsVWL1Smix2VsShqPn6f+ix+a14H1tOrahnhfvk 1c8eSvzFGwfSS5jDj7PbSMS+yxJDeuKJlVTxCBUasKYaeWdjUVC5aQ1LFJix+r2f37AD 31nQ== X-Gm-Message-State: ALoCoQnYQ9gheqPJpeOPW/0dWq9EKazXKLrmpxK1PTqYUUCA5I+P7zd4FJrdsP6Tdo9JMeTgZkoi MIME-Version: 1.0 X-Received: by 10.170.56.78 with SMTP id 75mr31813509yky.109.1434403113484; Mon, 15 Jun 2015 14:18:33 -0700 (PDT) In-Reply-To: <1434401660.14663.27.camel@surprise> References: <1434329514.3192.28.camel@surprise> <1434401660.14663.27.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/msg00077.txt.bz2 On 15 June 2015 at 21:54, David Malcolm wrote: > Yes: the IR exposed by the libgccjit API is not SSA-form. The optimizer > does use SSA-form internally. > > I think my opinion at the time was that forcing users to create phi > nodes was unnecessary work for them; let the API do it automatically, > internally. I don't know if the loss of this kind of validation is a > show-stopper; it feels to me more like a fussy API that the user has to > do extra work to appease. But I could be wrong. > In LLVM I hardly ever specify phi-nodes - it constructs them during optimization when it detects a scenario requiring a phi-node. I just declare my locals and use them appropriately - but yes one can explicitly code phi-nodes and to me (who is not so familiar with the concept) this is painful. >> In any case a warning about unreachable bocks may be more appropriate >> than errors. > > FWIW I've experimented in the past with turning on warnings about > uninitialized vars, so maybe we need an API setting for validations, > with each validation having a tri-state: > * perform validation, as error > * perform validate, as warnings to stderr > * don't validate > That makes sense. Regards