Size: a a a

Compiler Development

2019 September 21

E

EgorBo in Compiler Development
это правда векторная инструкция, но смысл тот же
источник

E

EgorBo in Compiler Development
если я правильно понял - если у меня первый бит (знаковый) - 1, то считаем сколько единичек подряд идет слева, иначе - lzcnt
источник

E

EgorBo in Compiler Development
буду надеятся что если напишу lzcnt(x ^ (x >> 1)) - 1 llvm за меня додумает что это cls
источник

S

SergeyV in Compiler Development
Шикарная статься . Взахлёб читал
источник

SS

Sergey Sverdlov in Compiler Development
SergeyV
Шикарная статься . Взахлёб читал
Андрей Николаевич - рассказчик великолепный.
источник

E

EgorBo in Compiler Development
из доков LLVM:
In practice, however, dereferencing a null pointer is extremely rare in well-behaved Java programs
источник

E

EgorBo in Compiler Development
будь well-bahaved
источник

AS

Aleksey Shipilev in Compiler Development
Похоже на апологию UB около дереференса нуля.
источник

AS

Aleksey Shipilev in Compiler Development
А, это про implicit null checking -- да, это мощь. В подавляющем большинстве случаев нулл-чеков не видать на горячих путях в сгенерированном коде.
источник

E

EgorBo in Compiler Development
Aleksey Shipilev
А, это про implicit null checking -- да, это мощь. В подавляющем большинстве случаев нулл-чеков не видать на горячих путях в сгенерированном коде.
ага, внедрили у себя
источник

E

EgorBo in Compiler Development
еще где надо обмазали @llvm.expect
источник

E

EgorBo in Compiler Development
и бранч weigths
источник

AS

Aleksey Shipilev in Compiler Development
без деопта? или я плохо помню, и вы таки прикрутили деопт?
источник

E

EgorBo in Compiler Development
без
источник

E

EgorBo in Compiler Development
просто будет сложный и медленный fault case
источник

AS

Aleksey Shipilev in Compiler Development
Ну, э. Ок. Прагма-то есть какая-нибудь, чтобы можно было сказать, что вот тут может и null быть?
источник

E

EgorBo in Compiler Development
ты имеешь ввиду кейсы, где наллреф - это часть логики и может часто случатся?
источник

AS

Aleksey Shipilev in Compiler Development
Да. Не всякий нулл-чек ведёт к исключению (там можно было бы и забить на перф плохого случая).
источник

E

EgorBo in Compiler Development
Aleksey Shipilev
Да. Не всякий нулл-чек ведёт к исключению (там можно было бы и забить на перф плохого случая).
да, мы оптимизируем только те налл чеки, на которые вешаем метадату make.implici
источник

E

EgorBo in Compiler Development
т.е. те которые сами и генерим (а не юзер)
источник