[SelectionDAG] Replace `isKnownNeverZeroFloat` with `isKnownNeverLogicalZero` using `KnownFPClass` (#190621)
In so doing, this also corrects miscompiles caused by
`isKnownNeverZeroFloat` mishandling denormals in DAZ floats.
SymbolizableOjbectFile: Convert Wasm file offset to section offset for DWARF (#191068)
Wasm's object and linking format lacks virtual addresses like ELF et al.
As a result, linked files generally use file offsets as "addresses",
whereas
objects and DWARF sections use code section offsets.
This has led to incorrect interpretation of addresses in llvm-objdump
and llvm-symbolizer for linked files.
This change to SerializableObjectFile checks the input ModuleOffset, and
if it falls within a wasm code section, adjusts it to a section offset
before querying the DwarfContext. (For object files, Sec.getAddress() is
0 so it works for object files too). It extends the existing DWARF test
for llvm-symbolizer to include a linked file, and also adds an
equivalent for objdump.
Fixes #129523
[PowerPC] Simplify implementation of atomis loads
The code for atomic loads is verbose. There are 10 different
operations and 4 memory sizes to support, which means 40 pseudo
instructions are used, with all the details repeated. This PR
changes the following:
- Use a loop over the operations and the sizes to create the pseudo instruction
- Adds the memory size as last operand to the pseudo instruction
- Updates the C++ code to take advantage of the memory size in the pseudo instruction
[NVPTX] Merge consecutive elements while buffering constant vectors with sub-byte datatype. (#183628)
NVPTXAsmPrinter currently buffers one element at a time while generating
PTX for constant global vectors. This causes an assertion when dealing
with sub-byte datatype (like i4) since we allocate lesser buffer size.
This PR fixes the printer to merge consecutive elements to form a full
byte before buffering.
[libc++] Add positive test coverage for the string optimization on associative containers (#187345)
Unfortunately, this test needs to be somewhat tied to the fact that we
implement the optimization for std::string, but in practice it would
have caught the issue that the optimization was previously disabled, so
it does provide value.
Towards #187105
ValueTracking: Handle frexp exp in computeKnownConstantRange
Compute the bounds based on the known exponent range.
Only handles IEEE cases since I don't see an easy way to
get the bounds in general.
Test uses instcombine instead of checking for the range
attribute, since apparently attributor doesn't handle introducing
range attributes from computeConstantRange.
[Clang] Fix assertion failure when storing to ext_vector_type bool elements (#189305)
#189260
Fix assertion failure in boolean vector indexing by truncating to i1.
games/wesnoth: update to 1.8.17 release (+)
What's new in version 1.18.7:
Updated translations: Bengali, Chinese (Simplified), Czech, French, Hungarian, Portuguese (Brazil)
Miscellaneous and Bug Fixes
Fix time of day sounds not playing.
Release notes: https://github.com/wesnoth/wesnoth/blob/1.18.7/changelog.md
[LV] Don't access loop after executePlan in native path (NFC). (#191277)
Bring native path in line with inner loop path: the loop may become
invalid once we are able to remove the scalar loop in the native path as
well. Match inner loop behavior by reporting vectorization before
executePlan, and using F instead of L->getHeader()->getParent().
[scudo] Refactor the wrapper code into a single file. (#190857)
Allow using a define to create a prefix rather than trying to use
android/bionic checks.