[libc++] Move the documentation for availability to our RST docs (#169371)
We have quite a bit of documentation inside <__configuration/availability.h>
about the availability markups. This documentation would be better to have as
part of our general documentation to improve discoverability. A link to the
new location is added to <__configuration/availability.h> as well.
[X86] EltsFromConsecutiveLoads - only attempt to recognise reverse patterns from all load element patterns (#170852)
Noticed while investigating a regression reported after #168706 - don't
attempt this if any elements are zero/undef - there is a potential issue
with reverse(insert_subvector(undef,load(),0)) patterns - but I haven't
managed to create a fail case.
[Sema] Suggest missing format attributes (#166738)
Implements the `-Wmissing-format-attribute` diagnostic as a subgroup of
`-Wformat-nonliteral`. It suggests adding format attributes to function
declarations that call other format functions and pass the format string
to them.
This is an updated implementation of #105479.
---------
Co-authored-by: Budimir Arandjelovic <budimir.arandjelovic at htecgroup.com>
[lldb] Issue a warning when Target XML should have been used but we do not have libxml2 (#170663)
If you connect lldb without libxml2 enabled, to a debug stub,
that server may offer Target XML but lldb will not use it. This
often causes incorrect or missing registers.
So much so that I think users should be made aware of this so
they can find an lldb with libxml2 enabled.
This warning will only be printed when:
* The debug server offered us Target XML but lldb does not have libxml2,
and -
* qRegisterInfo was not supported by the debug server.
This means that (lldb without libxml2) -> (lldb-server or debugserver)
will not warn as we'll fall back to qRegisterInfo. All that's
potentially
missing is advanced register formatting information, which most people
won't notice is missing anyway. If they do, the logs contain information
[34 lines not shown]
[Support][Windows] disk_space handle unicode paths (#170716)
replaces GetDiskFreeSpaceExA with GetDiskFreeSpaceExW to handle user
paths with Unicode characters
fixes: https://github.com/llvm/llvm-project/issues/170571
I’m not entirely sure the fix is correct, so I’d appreciate it if
someone more familiar with the code could review it. Thanks!
[MLIR][Python] make Sliceable inherit from Sequence (#170551)
Generates type stubs like
```python
class RegionSequence(Sequence[Region]):
def __add__(self, arg: RegionSequence, /) -> list[Region]: ...
def __iter__(self) -> RegionIterator:
"""Returns an iterator over the regions in the sequence."""
```
[BOLT] Add assert wehn calling insertBTI on empty BBs
BOLT may generate empty BBs, e.g. around function splitting, to hold
temporary labels. If they are the target of a new indirect branch, the
BTI should be inserted into the first "real" BasicBlock.
[AMDGPU] Make rotr illegal (#166558)
fshr is already legal and is strictly more powerful than rotr, so we
should only need selection patterns for fshr.
[python] Fix loc_tracebacks() (#170831)
There were two bugs lurking in mlir.ir.loc_tracebacks():
1) The default None parameter was not handled correctly (passed to a
C++ function that expects ints.
2) The `yield` was incorrectly indented meaning loc_tracebacks()
could not be nested (a "generator didn't yield" exception would be
raised).
Added testing of loc_tracebacks by replacing the custom contextmanager
in the auto_location.py test with the loc_tracebacks() API.
Had to harden the test to line number differences.
---------
Co-authored-by: James Molloy <jmolloy at google.com>