[PATCH] D114895: [SelectionDagBuilder] improve CallBrInst BlockAddress constraint handling

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 7 16:54:50 PST 2021


nickdesaulniers added a comment.

In D114895#3178173 <https://reviews.llvm.org/D114895#3178173>, @nickdesaulniers wrote:

> That doesn't make too much sense as an output in C, but it does mean that the address of `foo` could be written to by the inline asm string.  I hope that's not useful to anyone...but I get a sense I might eat those words one day...plz no.

Why?!

  $ cat x.c
  #include <stdio.h>
  
  int main () {
    void (*foo)(void) = &&bar;
  bar:
    printf("lo");
    foo();
  }
  $ clang x.c
  $ ./a.out
  lolololololololololololololololololo...

Every day we stray further from God's light...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114895/new/

https://reviews.llvm.org/D114895



More information about the llvm-commits mailing list