[cmake] Simplify LLVM_ON_WIN32 logic (#173525)
This is just a vestige of an old llvm-config.h configuration macro that
was removed long ago. LLVM_ON_UNIX remains, but its main purpose is to
enable targetting bare metal through -DCMAKE_SYSTEM_NAME=Generic (see
1422f1bf2b1).
[VPlan] Support truncated IVs in getSCEVExprForVPValue. (NFCI)
Handle truncated inductions in getSCEVExprForVPValue. This means we are
able to compute SCEV expressions for more inductions used in the
VPlan-based cost model, which should produce costs matching the legacy
cost model.
truss - Prevent infinite loop when exec fails.
* And remove waitpid(2) call that can never reliably catch this error when
we do a real fork(2), and not a vfork(2).
[SLP]Enable float point math ops as copyables elements.
Patch enables support for float point math operations as base
instructions for copyable elements. It also fixes some scheduling
issues, found during testing
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/169857
Recommit after revert in 9008922707915a6632fb74ed301bce11d8775e2a
fsck_msdosfs: avoid warnings about too-long initializer strings
Mark `dot_name` and `dotdot_name` as as `__non_string`, to avoid
warnings from clang 21 similar to:
sbin/fsck_msdosfs/dir.c:466:39: error: initializer-string for character array is too long, array size is 11 but initializer has size 12 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
466 | static const u_char dot_name[11] = ". ";
| ^~~~~~~~~~~~~
sbin/fsck_msdosfs/dir.c:467:39: error: initializer-string for character array is too long, array size is 11 but initializer has size 12 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
467 | static const u_char dotdot_name[11] = ".. ";
| ^~~~~~~~~~~~~
MFC after: 3 days
[CI] Finish Python Version TODOs
There were a couple TODOs in .ci related to Python typing changes after
v3.10. Now that Windows is python version matched to Linux at Python
3.12, we do not need to keep using the old syntax.
truss - Fix xsyscall printing of 6th argument. Fix lseek arguments.
* The 6th argument of an xsyscall gets buried underneath one extra stack
value, so we need to add 2*sizeof(register_t) to the RSP register value.
* The 3rd argument of lseek(2) gets passed in the place where the 4th
argument is expected.
* Add "execve" to the list in syscalls.c, in order to print the path string.
Explicitly specify the number of return values as 0, and print a newline
after printing the Syscall Entry information in that case.
This does the right thing, since "execve" only returns a value when it
fails, and errors are handled separately in truss(1).
* At least for very basic programs, truss(1) should now be somewhat useable
again, but a lot remains to make it great again.