llv22 - for merge with upstream