[llvm-dev] The undef story

Sanjoy Das via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 29 00:13:01 PDT 2017


Hi Peter,

On Thu, Jun 29, 2017 at 12:08 AM, Peter Lawrence
<peterl95124 at sbcglobal.net> wrote:
>             you seem to be changing your story, when I first brought up the
> function-inlining example you argued about how I should not use C/C++ for
> such
> programs, and that you were not fixing it for some reason related to how the
> IR is an
> abstraction and C/C++ wasn’t your problem, I pushed you on the issue by
> saying
> so lets translate the C example into IR and then talk about it, you went
> silent
> after that. No response.

I went silent because I have a limited budget to spend on llvm-dev.

However, I don't think I've changed my stance here.  In this thread, I
said exactly the same thing as I've said before.

I don't see how "translating the example into C" is not addressed by
"IR is an abstraction and C/C++ wasn’t your problem".  The C example
that would trigger the "unintuitive" behavior is:

void f() {
  int x;
  g(x);
}

void g(int y) {
  if (y == y)
    S;
}

which has UB, and this falls under the purview of "IR is an
abstraction and C/C++ wasn’t your problem", which is a less charitable
way of saying what I've said above in this thread.

> Same thing when I brought up the not hoisting a loop invariant divide out of
> a loop, you were silent about that, leading me to believe that you were not
> addressing that either.

As I've said above, this is addressed in the paper.

-- Sanjoy


More information about the llvm-dev mailing list