Live data from Hacker News

Viewing profile — nikic

nikic

HN member
Joined
Fri, Dec 16, 2011, 8:09 AM UTC
HN karma
1,920
Public activity
219 items

About nikic

Blog: http://nikic.github.com/ Email: nikic@php.net

Recent public activity

  1. comment
    Comment #46601190

    > Is there any implicit understanding in the community that byte types will inevitably be added to LLVM? Among the people who are familiar with such things, yes. An RFC on the topi…

  2. comment
    Comment #46594084

    That was ambiguously phrased. The point I was trying to make here is that we don't have the situation that is very common for open-source projects, where a project might nominally …

  3. comment
    Comment #46592613

    Yes, the Orc C API follows different rules from the rest of the C API ( https://github.com/llvm/llvm-project/blob/501416a755d1b85ca1... ).

  4. story
  5. comment
    Comment #46376493

    This particular case isn't really due to pattern matching -- it's a result of a generic optimization that evaluates the exit value of an add recurrence using binomial coefficients …

  6. comment
    Comment #45471649

    This depends a lot on what you're doing with LLVM. If you are just using LLVM as a code generation backend for your language frontend, you generally do not need an LLVM fork. For e…

  7. comment
    Comment #45471630

    > LLVM is a trap. Is it? I think Rust is a great showcase for why it isn't. Of course it depends somewhat on your compiler implementation approach, but actual codegen-to-LLVM tends…

  8. comment
    Comment #44437436

    That's a great point. I initially thought we could assume no exposure for loads with non-pointer-compatible TBAA, but you are right that this is not correct if the memory has been …

  9. comment
    Comment #44437131

    That type punning through memory does not expose or synthesize memory. There are some possible variations on this, but the most straightforward is that pointer to integer transmute…

  10. comment
    Comment #44427669

    At least at a skim, what this specifies for exposure/synthesis for reads/writes of the object representation is concerning. One of the consequences is that dead integer loads canno…

  11. comment
    Comment #44099389

    > Interestingly, Windows on ARM hasn't made it up to Tier 1 yet. An RFC for that has been submitted recently: https://github.com/rust-lang/rfcs/pull/3817

  12. comment
    Comment #43798499

    One peculiar thing about the benchmark results is that disabling individual UB seems to fairly consistently reduce performance without LTO, but improve it with LTO. I could see how…

  13. comment
    Comment #43798423

    They do a bit more than that. One of the options (-disable-object-based-analysis under AA2) disables the assumption that distinct identified objects do not alias, which is disablin…

  14. comment
    Comment #43798312

    Fun fact: GCC decided to adopt Clang's (old) behavior at the same time Clang decided to adopt GCC's (old) behavior. So now you have this matrix of behaviors: * Old GCC: Initializes…

  15. comment
    Comment #42909769

    Where possible, undefined behavior at the LLVM IR level is always optional, controlled by various flags, attributes and metadata. Things like signed integer overflow, or even the f…

  16. story
  17. comment
    Comment #42388985

    NULL == NULL was already defined -- but NULL <= NULL wasn't :)

  18. comment
    Comment #40835688

    Huh, this is interesting. Normally the reason to become a CNA is to reduce the amount of bogus CVEs that are issued for your project due to security researchers trying to pad their…

  19. comment
    Comment #40760512

    LLVM actually also supports instruction-level granularity for fast-math (using essentially the same mechanism as things like unchecked_add), but Clang doesn't expose that level of …

  20. comment
    Comment #40623300

    The background here is that "ctpop https://github.com/llvm/llvm-project/issues/94829 ).

  21. story
  22. comment
    Comment #38754489

    > It's true that MSVC doesn't have an equivalent of -fno-strict-aliasing, but that's because it just doesn't apply optimizations that assume strict aliasing in the first place. Adm…

  23. comment
    Comment #38752408

    > People can (and do) point at the C spec for fault of this and it is true that if the C spec was more strict then these compilers would not have the free pass to do these crazy mi…

  24. comment
    Comment #38752256

    The main performance-critical undefined behavior in C is provenance. The rest can be removed without major performance impact. (Which is not to say they can't give you 10% on speci…

  25. comment
    Comment #37849213

    What's with RISC-V and these peculiar extension names?