[clang-format] Align multi-line expressions (#173152)
This patch updates the code in the `AlignTokens` function for finding
regions to align. Now it uses the same logic as the `AlignTokenSequence`
function. Previously it only recognized string literals split across
multiple lines.
Fixes #171022.
The new way for finding where the expression ends identifies a ternary
`?` or `:` operator at the start of the line as the continuation of the
preceding line. The code around line 577 for figuring out whether there
are multiple matches on the same line is updated so that it does not
require the first token on a continued line not to match.
The sample in the bug report has `/**/`. The added test has `//`. This
is because the mess up procedure in the test will remove the line break
following `/**/`.
[18 lines not shown]
[X86] EmitX86BuiltinExpr - attempt to convert SSE41/AVX1 roundps/d/ss/sd builtins to regular rounding modes (#171227)
Adding clauses to `CodeGenFunction::EmitX86BuiltinExpr` to convert
SSE4.1/AVX1 builts `roundps/pd/ss/sd` to regular rounding modes.
We use:
1. `roundeven/floor/ceil/trunc` when not using MXCSR or _MM_FROUND_RAISE_EXC , and FP mode is not strict,
2. `experimental_constrained_roundeven/floor/ceil/trunc` when not using MXCSR or _MM_FROUND_RAISE_EXC , and FP mode is strict
3. `x86_sse41/avx_round_ps/pd/ss/sd` when using MXCSR or _MM_FROUND_RAISE_EXC .
Closes #170273
camcontrol.8: Descriptions before examples
This page has a lot of examples, so having them in the previous order
can be confusing. Rewrite to the normal order where the descriptions
come before the command, followed by a colon, which is still clear even
jumping to the middle of the section.
PR: 291759
MFC after: 3 days
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D54285
[X86] combineSelect - relax "vselect (X & C == 0), LHS, RHS" --> "vselect (X & C != 0), RHS, LHS" type limitation (#173366)
The comparison types don't have to match the select types - they just
have to be the same vector element width (allows an integer comparison
to select float results).
[VectorCombine] foldShuffleOfSelects - support multiple uses of shuffled selects (#173166)
This patch removes the single-use restriction of selects in
foldShuffleOfSelects, allowing the fold to trigger for multi-use
instructions as well if the cost model finds it cheaper.
Fixes #173036
[lldb][NFC] Remove temp allocation SBCommandReturnObject::PutCString (#173365)
Use llvm::StringRef instead of std::string to eliminate an unnecessary
heap allocation when len > 0.
There should not be any functional difference.