Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
k4st
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
k4st
2y ago
The Pizlo special approach sounds a bit like converting out of SSA form via compensating `alloca`s in LLVM. E.g. one `alloca` per SSA variable, with a `store` into the `alloca` in the source block, and the `phi` replaced by a `load`. If thi
2.
▲
by
k4st
2y ago
What was his solution?
3.
▲
by
k4st
2y ago
I created a monster, then a primordial explosion, then a nested simulation within the mind of the monster, and asked it to describe the physics of this nested simulation. Very engrossing.
4.
▲
by
k4st
3y ago
Cool! You might even be able to run Rellic [1,2] on the LLVM IR produced by Clang when compiling Objective-C code. If it works, this will spit out goto-free C code, not C++. [1] https://github.com/lifting-bits/rellic [
5.
▲
by
k4st
3y ago
> It would certainly not hurt performance to emit a compiler warning about deleting the if statement testing for signed overflow, or about optimizing away the possible null pointer dereference in Do(). I think that the nature of Clang an
6.
▲
by
k4st
3y ago
At Trail of Bits, we've been working on this type of IR for C and C++ code [1]. We operate as a kind of Clang middle end, taking in a Clang AST, and spitting LLVM IR that is Clang-compatible out the other end. In this middle area, we p
7.
▲
by
k4st
4y ago
I created a datalog engine a few years back called Dr. Lojekyll: https://www.petergoodman.me/docs/dr-lojekyll.pdf It was pretty cool; you could stream in new facts to it over time and it would incrementally and differe
8.
▲
by
k4st
4y ago
Typo fixed! Thanks :-) I think the next big problems for MLIR to address are things like: metadata/location maintenance when integrating with third-party dialects and transformations. With LLVM optimizations, getting the optimization r
9.
▲
by
k4st
4y ago
At Trail of Bits, we are creating a new compiler front/middle end for Clang called VAST [1]. It consumes Clang ASTs and creates a high-level, information-rich MLIR dialect. Then, we progressively lower it through various other dialects
10.
▲
by
k4st
5y ago
I've always assumed that the `0x` prefix is to make copy & paste easier, i.e. so that you can copy the number, then immediate use it in a a C- or C++-like expression.
11.
▲
by
k4st
8y ago
I work on a Google Test-like unit testing framework called DeepState [1] that gives you access to fuzzing and symbolic execution from your C or C++ unit tests. We have a tutorial [2] describing how to use it. It's new and still under d
12.
▲
by
k4st
8y ago
The [follow up]( http://lists.llvm.org/pipermail/cfe-dev/2018-April/057672.ht... ) message suggests that Google already internally using a non-JSPN-RPC transport layer.
13.
▲
by
k4st
8y ago
You can also run KLEE on x86(-64) or AArch64 binaries using McSema to lift the binary to LLVM bitcode. An example is here: https://github.com/trailofbits/mcsema/tree/master/examples/M...
14.
▲
by
k4st
9y ago
No, it's closer to [m]achine [c]ode [sema]ntics.
15.
▲
by
k4st
11y ago
Indeed! I think I missed that in the original algorithm it doesn't wait for all slots to be zero, just that each slot go to zero. In that way it is just like waiting for each reader to go through a period of quiescence. This is a lot l
16.
▲
by
k4st
11y ago
That is fine ;-) Sum up the counters.
17.
▲
by
k4st
11y ago
A nice simplification of would be to use the current CPU number as your ID. That eliminates the dependence on thread-local storage, and with high probability avoids issues where there are collisions between threads whose IDs modulo N are eq
18.
▲
by
k4st
11y ago
I have used TDOP and made variations of it before (e.g. combining TDOP and PEG, as well as introducing a form sub-grammars, like what you get with CFGs). I could also see the similarity between TDOP and left corner parsing, which gave me a
19.
▲
by
k4st
11y ago
I use this frequently and it's pretty awesome. The killer combination for me is usually to set a hardware watchpoint, then reverse-continue. This is super useful when you've got a bit of memory corruption (e.g. buffer overflow) bu
20.
▲
by
k4st
11y ago
Sounds like you want the BlackBerry hub :-P It's got both forms of views ;-)
21.
▲
by
k4st
12y ago
Seems to be a dynamic binary translator. If you like these types of things, then check out Valgrind, Intel PIN, DynamoRIO, or QEMU.
22.
▲
by
k4st
12y ago
I semi-recently implemented a malloc tester (am TAing an OS course). Students write their own implementation of malloc and free, and then I "intercept" their calls to brk and sbrk by using macros to re-define those symbols as my o
23.
▲
by
k4st
12y ago
This program appears to use heap allocation, at least indirectly through its use of std::string. On a more general note, libraries that perform zero dynamic allocation (and instead require the library user to pass in memory) can be very con
24.
▲
by
k4st
12y ago
I'm trying to solve a few related high-level problems. One, is that I want Valgrind-like debugging for the kernel. In my last kernel DBT system, I was able to do some pretty neat things, but actually using the DBT system was hell. A
25.
▲
by
k4st
12y ago
Good to know! I'm in a funny place in my research project where I recently found out about the limitations of cross-modifying code. I had previously assumed that everything would work out for the best (doing hot-code patching in a DBT
26.
▲
by
k4st
12y ago
My understanding is that the semantics are not as strong as they appear, although I have no experience with other architectures, so what is said to be the case and what is the case might still be relatively easier to use than other ISAs. Th
27.
▲
by
k4st
12y ago
And that's what emulation and binary translation are for! :-P
28.
▲
by
k4st
12y ago
Would be really cool if this gave more explanation for the encodings. For example, showing the opcode, mod/reg/rm, and displacement components is really cool. What would be even cooler is to say why some bit or combination of bi
29.
▲
by
k4st
13y ago
As someone who was 'pwned' by the Adobe leak, I have no idea how bad the pwnage was. That is, I don't recall what my Adobe password was, and so I have no idea which of my many passwords was compromised. Also, I partially went
30.
▲
by
k4st
13y ago
Dynamic binary translation can sometimes get performance improvements. This is because you would still statically compile your program, and then at runtime, the DBT system dynamically decodes and re-encodes the binary instructions. With a D
More ›