hipe_llvm: Fix incorrect atom alignment assumption
hipe_llvm: Fix incorrect atom alignment assumption

ErLLVM was declaring atoms in the following manner:

    @atom_ok = external constant i64
    ; Used inside a function like this
    %var = ptrtoint i64* @atom_ok to i64

However, doing so makes LLVM think the `atom_ok` is 8-byte aligned,
since it refers to a i64 value. This resulted in LLVM occasionally
incorrectly optimising away type tests on atoms, causing incorrect
behaviour or even segfaults. One such case is in
bs_match_compiler:coverage_apply/2, in which an is_boxed test on a
literal atom was optimised away, causing the code to try and load the
"header" of an atom. This problem reproduces with LLVM versions 3.7
through 3.9.

By declaring atoms as i8 (byte) constants instead, LLVM no longer makes
these alignment assumptions, and the bug is fixed.

potatosalad/otp,goertzenator/otp,aboroska/otp,electricimp/otp,tuncer/otp,potatosalad/otp,aboroska/otp,emile/otp,vladdu/otp,fenollp/otp,saleyn/otp,release-project/otp,ferd/otp,bjorng/otp,ferd/otp,kvakvs/otp,saleyn/otp,erlang/otp,fenollp/otp,RoadRunnr/otp,emile/otp,erlang/otp,g-andrade/otp,weisslj/otp,RaimoNiskanen/otp,vinoski/otp,falkevik/otp,mikpe/otp,electricimp/otp,bjorng/otp,RaimoNiskanen/otp,vinoski/otp,emile/otp,massemanet/otp,release-project/otp,bsmr-erlang/otp,vinoski/otp,legoscia/otp,RoadRunnr/otp,kvakvs/otp,lrascao/otp,isvilen/otp,emile/otp,rlipscombe/otp,kvakvs/otp,bsmr-erlang/otp,bernardd/otp,tuncer/otp,cobusc/otp,weisslj/otp,release-project/otp,vinoski/otp,vladdu/otp,g-andrade/otp,rlipscombe/otp,erlang/otp,electricimp/otp,cobusc/otp,weisslj/otp,mikpe/otp,vladdu/otp,rlipscombe/otp,getong/otp,ferd/otp,falkevik/otp,electricimp/otp,jj1bdx/otp,bjorng/otp,vladdu/otp,dumbbell/otp,release-project/otp,bsmr-erlang/otp,electricimp/otp,dumbbell/otp,erlang/otp,goertzenator/otp,weisslj/otp,aboroska/otp,lrascao/otp,getong/otp,falkevik/otp,uabboli/otp,g-andrade/otp,RoadRunnr/otp,falkevik/otp,emacsmirror/erlang,RaimoNiskanen/otp,massemanet/otp,aboroska/otp,emacsmirror/erlang,release-project/otp,RoadRunnr/otp,g-andrade/otp,matwey/otp,lrascao/otp,rlipscombe/otp,vladdu/otp,goertzenator/otp,goertzenator/otp,emacsmirror/erlang,uabboli/otp,rlipscombe/otp,aboroska/otp,tuncer/otp,jj1bdx/otp,dumbbell/otp,bernardd/otp,vladdu/otp,vinoski/otp,electricimp/otp,lrascao/otp,bernardd/otp,legoscia/otp,massemanet/otp,isvilen/otp,uabboli/otp,dumbbell/otp,bsmr-erlang/otp,vladdu/otp,emile/otp,potatosalad/otp,emacsmirror/erlang,vladdu/otp,jj1bdx/otp,kvakvs/otp,cobusc/otp,bsmr-erlang/otp,release-project/otp,dumbbell/otp,aboroska/otp,dgud/otp,emacsmirror/erlang,fenollp/otp,getong/otp,erlang/otp,RoadRunnr/otp,jj1bdx/otp,emacsmirror/erlang,dgud/otp,ferd/otp,vinoski/otp,ferd/otp,dgud/otp,dgud/otp,RaimoNiskanen/otp,dumbbell/otp,jj1bdx/otp,tuncer/otp,saleyn/otp,legoscia/otp,tuncer/otp,rlipscombe/otp,dumbbell/otp,goertzenator/otp,saleyn/otp,g-andrade/otp,lrascao/otp,erlang/otp,legoscia/otp,RaimoNiskanen/otp,mikpe/otp,isvilen/otp,rlipscombe/otp,potatosalad/otp,uabboli/otp,electricimp/otp,legoscia/otp,vinoski/otp,bjorng/otp,mikpe/otp,fenollp/otp,aboroska/otp,cobusc/otp,dumbbell/otp,cobusc/otp,falkevik/otp,falkevik/otp,legoscia/otp,goertzenator/otp,matwey/otp,fenollp/otp,g-andrade/otp,bernardd/otp,potatosalad/otp,uabboli/otp,bjorng/otp,lrascao/otp,goertzenator/otp,saleyn/otp,emacsmirror/erlang,saleyn/otp,emile/otp,bernardd/otp,g-andrade/otp,RaimoNiskanen/otp,isvilen/otp,falkevik/otp,bjorng/otp,matwey/otp,matwey/otp,isvilen/otp,getong/otp,mikpe/otp,rlipscombe/otp,lrascao/otp,legoscia/otp,dgud/otp,jj1bdx/otp,emile/otp,fenollp/otp,emile/otp,mikpe/otp,cobusc/otp,dumbbell/otp,getong/otp,uabboli/otp,massemanet/otp,isvilen/otp,falkevik/otp,RaimoNiskanen/otp,vinoski/otp,isvilen/otp,emile/otp,tuncer/otp,weisslj/otp,emacsmirror/erlang,goertzenator/otp,bernardd/otp,massemanet/otp,electricimp/otp,erlang/otp,kvakvs/otp,massemanet/otp,lrascao/otp,tuncer/otp,vladdu/otp,vinoski/otp,matwey/otp,RoadRunnr/otp,saleyn/otp,isvilen/otp,erlang/otp,g-andrade/otp,fenollp/otp,erlang/otp,cobusc/otp,release-project/otp,ferd/otp,isvilen/otp,massemanet/otp,matwey/otp,weisslj/otp,getong/otp,RaimoNiskanen/otp,jj1bdx/otp,RaimoNiskanen/otp,dgud/otp,kvakvs/otp,uabboli/otp,mikpe/otp,kvakvs/otp,mikpe/otp,g-andrade/otp,weisslj/otp,dgud/otp,dgud/otp,mikpe/otp,massemanet/otp,bjorng/otp,dumbbell/otp,cobusc/otp,bjorng/otp,vinoski/otp,release-project/otp,legoscia/otp,saleyn/otp,weisslj/otp,bernardd/otp,falkevik/otp,isvilen/otp,fenollp/otp,ferd/otp,release-project/otp,lrascao/otp,matwey/otp,getong/otp,g-andrade/otp,tuncer/otp,aboroska/otp,bjorng/otp,matwey/otp,dgud/otp,getong/otp,RoadRunnr/otp,potatosalad/otp,legoscia/otp,uabboli/otp,jj1bdx/otp,bsmr-erlang/otp,RoadRunnr/otp,bjorng/otp,mikpe/otp,getong/otp,rlipscombe/otp,jj1bdx/otp,bsmr-erlang/otp,RoadRunnr/otp,getong/otp,electricimp/otp,ferd/otp,erlang/otp,bsmr-erlang/otp,ferd/otp,massemanet/otp,emacsmirror/erlang,emacsmirror/erlang,matwey/otp,saleyn/otp,potatosalad/otp,dgud/otp,bernardd/otp,potatosalad/otp,fenollp/otp,uabboli/otp,goertzenator/otp,kvakvs/otp,rlipscombe/otp,bsmr-erlang/otp,aboroska/otp,tuncer/otp,potatosalad/otp,kvakvs/otp,jj1bdx/otp,potatosalad/otp,bernardd/otp,weisslj/otp