Re: [CIL users] Simplifying --dosimplify, continued

2011-11-03 Thread Gabriel Kerneis
On Sun, Oct 30, 2011 at 09:57:22PM +0400, Pavel Shved wrote: > Oh... I've just tried to run unmodified CIL over this file, without my > patches, and the conversion bug is still there! > > So, it's a generic issue with --dosimplify, rather than a bug introduced > by the modification. Yeah, added

Re: [CIL users] Simplifying --dosimplify, continued (+updated patch)

2011-11-03 Thread Gabriel Kerneis
On Mon, Oct 31, 2011 at 10:48:02PM +0400, Pavel Shved wrote: > Thanks, Gabriel! After implementing your suggestions, the patch looks > much more concise. Attached. Applied (with minor whitespace tweak). Many thanks. > However, I do not really understand in what cases splitting structures > ha

Re: [CIL users] Simplifying --dosimplify, continued (+updated patch)

2011-10-31 Thread Pavel Shved
Thanks, Gabriel! After implementing your suggestions, the patch looks much more concise. Attached. Using simplification of structs with --no-convert-field offsets yeilds an assertion failure ("Cannot find component .foo of bar"). Could it be the result of contradiction between splitting struc

Re: [CIL users] Simplifying --dosimplify, continued

2011-10-30 Thread Pavel Shved
On Friday, October 28, 2011 00:39:41 you wrote: > However, in rare cases, there is a problem with arrays and their > modifiers. The option requires CIL to generate temporary variables > with more complex types than previously, and the resultant code is > not always compilable. Consider the follow

Re: [CIL users] Simplifying --dosimplify, continued

2011-10-30 Thread Pavel Shved
On Sunday, October 30, 2011 16:52:04 Mihai T. Lazarescu wrote: > I use --dosimplify in an application that traces memory > accesses. For this application, as for most if not all CIL > usage, it is important to have an error-free transformation > for the broadest class of sources. > > I would sug

Re: [CIL users] Simplifying --dosimplify, continued

2011-10-30 Thread Mihai T. Lazarescu
On Sun, Oct 30, 2011 at 07:14:26PM +0400, Pavel Shved wrote: > > > 2) could this patch be added to upstream nevertheless? I think > > > that the benefits to the verification tools, for which the > > > options is useful, are much greater than the very rarely > > > encountered issue with "very vola

Re: [CIL users] Simplifying --dosimplify, continued

2011-10-30 Thread Pavel Shved
Thank you for the comments, I'll take them into account and form a new patch. On Friday, October 28, 2011 16:55:56 you wrote: > Why does --no-convert-field-offsets imply --no-split-structs? > Shouldn't the user be to enable them separately? > > > @@ -89,6 +89,12 @@ let simplAddrOf = ref true >

Re: [CIL users] Simplifying --dosimplify, continued

2011-10-28 Thread Gabriel Kerneis
Hi, On Fri, Oct 28, 2011 at 12:39:41AM +0400, Pavel Shved wrote: > The patch adds --no-convert-field-offsets option for --dosimplify > extension. This option makes CIL not convert structure field access "x- > >p" to, essentially, "(int*)( (int*)x + 8), where "8" (or any other > similar number)

[CIL users] Simplifying --dosimplify, continued

2011-10-27 Thread Pavel Shved
As a follow-up to one of my previous patch, here's another patch that will make --dosimplify more suitable for generating code, better suited for software verification. The patch adds --no-convert-field-offsets option for --dosimplify extension. This option makes CIL not convert structure fiel