This, to me, sounds like the beginning of a rabbit-hole, which leads to the 
same morass of architecture-specific directives that infect many codes, 
particularly in HPC where codes can live a long time. I think it'd be 
better to tuck this mess away under the hood.

Turning off bounds-checking isn't architecture-specific--it's an assertion 
of your program's correctness. I don't like @simd, but vectorization isn't 
completely automatic yet. Atomics exist on most architectures, and you can 
do a lot of lock-free data structures with those, so I'm not really arguing 
those. In general though, I'd think carefully about any architectural 
detail I make visible... one of the big positives of using LLVM is 
insulation from the back-end.

Reply via email to