Live data from Hacker News

Viewing profile — UniQP

UniQP

HN member
Joined
Mon, Jun 22, 2015, 10:45 AM UTC
HN karma
37
Public activity
28 items

About UniQP

No profile information was provided.

Recent public activity

  1. comment
    Comment #17319800

    The blog post doesn't mention integer overflows. If integers wrap around on overflow, min(INT_MIN - 1, 0 - 1) = -1 but min(INT_MIN, 0) - 1 = INT_MAX. However, in PHP the values are…

  2. comment
    Comment #15694829

    None, it's a hardware problem.

  3. comment
    Comment #12300926

    Since there is also a programming language called C2, I took a look at the wrong compiler. Can you provide a link to the source code?

  4. comment
    Comment #12297010

    You can stay in SSA form even after register allocation. In libFirm the assigned registers are just attributes of the values in the SSA representation. There was some additional di…

  5. comment
    Comment #12295939

    SSA is standard for the middle end but not for the backend. According to my knowledge there are only two compilers with an SSA-based backend: libFirm (www.libfirm.org) and the Go c…

  6. comment
    Comment #12208336

    Does anyone know an open source tool for monoalphabetic (or polyalphabetic) substitution that can handle arbitrary dictionaries?

  7. comment
    Comment #11265490

    Compile time is an issue of C++ but not of C.

  8. comment
    Comment #11265312

    [citation needed]

  9. comment
    Comment #11265309

    I'm sure, you can also self-compile the tip. Would be really interesting if this was done for benchmarks.

  10. comment
    Comment #11211681

    > So it's not impossible, but libfirm avoids it or performs the necessary phi insertion in various places to avoid creating invalid SSA for the representation it has. It's impossib…

  11. comment
    Comment #11211335

    > There are theoretical benefits, but in practice, LLVM does pretty well with it's current scheme. I think having a decoupled spilling phase is nice feature of the SSA-based scheme…

  12. comment
    Comment #11211221

    > At some point it lowers out of SSA, but you have to do that at some point anyway. libfirm never goes out of SSA (since it uses a graph-based representation it's simply impossible…

  13. comment
    Comment #11210879

    Yes, in the middle end, but they don't have an SSA-based back end (for example SSA-based register allocation).

  14. comment
    Comment #11210394

    After libfirm [1], the Go compiler now seems to be the second mature compiler with an SSA-based backend. I hope more compilers will follow. I missed some references to correspondin…

  15. comment
    Comment #11210270

    As stated in [1] they use a variant of "Simple and Efficient Construction of Static Single Assignment Form" [2], which does not require a dominator tree (or a liveness analysis). […

  16. comment
    Comment #11149191

    libfirm ( http://pp.ipd.kit.edu/firm/ ) uses SSA-based register allocation ( http://d-nb.info/986273813/34 ), which allows a decoupled spilling phase. Moreover, the register assign…

  17. comment
    Comment #10995616

    You are right, this should be static single assignment.

  18. comment
    Comment #10937118

    There are a lot of compiler optimizations that uses global analyses/optimizations that are not covered by optimizing a sequence of assembly instructions. Thus, I doubt that CompCer…

  19. comment
    Comment #10930808

    That's because a) the initial STOKE paper (2013) is older than Souper (initial commit 2014) and b) there is no Souper paper so far

  20. comment
    Comment #10925502

    Documentation->LLVM: http://pp.ipd.kit.edu/firm/LLVM ;-)

  21. comment
    Comment #10771436

    That sounds like an (e-)SSA-based optimization but not like an SSA backend.

  22. comment
    Comment #10758340

    Does anyone know the current state of the SSA backend mentioned in https://news.ycombinator.com/item?id=9099744 ?

  23. comment
    Comment #10470573

    Jump threading can also enables additional optimizations. For instance, if you apply jump threading to int eight(int a) { int b; if (a) { b = 1; } else { b = a; } b += 3; if (a) { …

  24. comment
    Comment #10464353

    I do not have an example for Souper, but the Optgen tool uses similar techniques and the paper provides a list of missing optimizations for LLVM, GCC and ICC: http://pp.info.uni-ka…

  25. comment
    Comment #9958067

    The permutation problem is not related to IR superoptimization itself. The goal of an optimization pass is to improve the performance of an average, and that's exactly what the IR …