The llvm-gcc tool should support a bitwidth attribute that permits arbitrary precision bit width integers to be used. This PR is to track the development of that feature. As with other type attributes, this feature requests that: __attribute__((bitwidth(N))) be recognized by llvm-gcc so that things like: typedef int __attribute__((bitwidth(23)) could be used to make a signed 23 bit integer.
This won't happen for 2.0
The code for this feature and related ones is done. It includes the beginnings of APIntification of llvm-gcc (to represent integer constants with APInt instead of with a pair of HOST_WIDE_INT) as well as several builtin functions for manipulating integers of various bit widths. The patch for this will be submitted sometime in the 2.1 time frame.
Hi Chris and Reid, Is it the time to commit the patch after public review ? Sheng.
Please wait until after 2.2 branches (wednesday), we are working on stabilizing things right now.
We don't plan to do this in llvm-gcc.