Remove fls(), use pg_leftmost_one_pos32() instead.
Thomas Munro <tmunro@postgresql.org>
Remove fls(), use pg_leftmost_one_pos32() instead. Commit 4f658dc8 provided the traditional BSD fls() function in src/port/fls.c so it could be used in several places. Later we added a bunch of similar facilities in pg_bitutils.h, based on compiler builtins that map to hardware instructions. It's a bit confusing to have both 1-based and 0-based variants of this operation in use in different parts of the tree, and neither is blessed by a standard. Let's drop fls.c and the configure probe, and reuse the newer code. Reviewed-by: David Rowley <dgrowleyml@gmail.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CA%2BhUKG%2B7dSX1XF8yFGmYk-%3D48dbjH2kmzZj16XvhbrWP-9BzRg%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| configure | modified | +0 −13 |
| configure.ac | modified | +0 −1 |
| src/backend/access/hash/hashutil.c | modified | +1 −1 |
| src/backend/optimizer/path/allpaths.c | modified | +3 −2 |
| src/backend/optimizer/prep/prepunion.c | modified | +1 −1 |
| src/backend/utils/mmgr/dsa.c | modified | +13 −1 |
| src/include/pg_config.h.in | modified | +0 −3 |
| src/include/port.h | modified | +0 −4 |
| src/port/fls.c | deleted | +0 −64 |
| src/tools/msvc/Mkvcbuild.pm | modified | +1 −1 |
| src/tools/msvc/Solution.pm | modified | +0 −1 |
Discussion
- Remove fls(), use pg_bitutils.h facilities instead? 9 messages · 2022-07-20 → 2022-07-21