HomePhabricator

[ubsan] Skip null checks on pointers to the start of an alloca

Description

[ubsan] Skip null checks on pointers to the start of an alloca

Pointers to the start of an alloca are non-null, so we don't need to
emit runtime null checks for them.

Testing: check-clang, check-ubsan.

This significantly reduces the amount of null checks we emit when
compiling X86ISelLowering.cpp. Here are the numbers from patched /
unpatched clangs based on r300371.


| Setup          | # of null checks |
-------------------------------------
| unpatched, -O0 |            45439 |
| patched, -O0   |            25251 | (-44.4%)
-------------------------------------

Details

Committed
vedantkApr 17 2017, 3:26 PM
Parents
rL300507: Build SymbolMap in SampleProfileLoader to help matchin function names with…
Branches
Unknown
Tags
Unknown