[flang] Better handling of ALLOCATED(pointer) error (#186622)
Some legacy compilers accept a reference to the intrinsic function
ALLOCATED with a pointer argument. (Pointers should be checked with
ASSOCIATED instead, of course.) Emit a good warning, but also interpret
the call to ALLOCATED with a pointer argument as if it had been
correctly spelled. Test that this only applies to the intrinsic
ALLOCATED, not a user-defined function.
[AArch64][llvm] Separate TLBI-only feature gating from TLBIP aliases
Refactor the TLBI system operand definitions so that TLBI and TLBIP
records are emitted through separate helper multiclasses, whilst keeping
the table layout readable.
The feature-scoped wrappers now apply FeatureTLB_RMI, FeatureRME, and
FeatureTLBIW only to TLBI records (it was previously incorrectly also
applied to TLBIP instructions), while TLBIP aliases remain gated only
by FeatureD128, including their nXS forms.
Update testcases accordingly.
[AsmPrinter] Only warn about unsupported remarks section if requested (#187362)
Remarks sections are no longer necessary for basic functioning of
bitstream remarks, so only fire a warning if remarks sections are
force-enabled.
Pull Request: https://github.com/llvm/llvm-project/pull/187362
HBSD: Disable retpolines for the bootloader
We've been building the bootloader with retpolines. With the latest
OpenZFS import, the addition of retpolines now causes the loader to be
too large in size, preventing a successful build.
Applying retpolines to the bootloader doesn't make sense, anyways. An
attacker able to exploit speculative execution vulnerabilities at the
bootloader stage has already won the game.
Signed-off-by: Shawn Webb <shawn.webb at hardenedbsd.org>
Fixes: 8a62a2a5659d1839d8799b4274c04469d7f17c78
[AArch64][SVE] Use multi-vector spill/fill instructions in pseudo expansion
SVE tuple spill/fill pseudos (STR_ZZXI, LDR_ZZZZXI, etc.) currently expand into
N individual STR_ZXI/LDR_ZXI instructions. On targets with SVE2.1 or SME2 we can
directly generate a ptrue + multi-vec op. For the x2 case this is neutral in
code size but can still be beneficial depending on your uarch. I'm going to
assume this is a generally good thing for now.
rdar://168475826
[Utils] Add --use-gh-cli-token flag
This enables automatically getting the token from the gh CLI tool which
was a requested feature.
Reviewers: petrhosek, ilovepi
Reviewed By: petrhosek, ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/186695
[llvm-remarkutil] filter: Add --sort and --dedupe flags (#187338)
Add `--sort` to emit remarks in sorted order and `--dedupe` to
deduplicate identical remarks. Only if these options are requested,
remarks need to be buffered into a sorted map before emission.
Pull Request: https://github.com/llvm/llvm-project/pull/187338
[AArch64][SVE] Use multi-vector spill/fill instructions in pseudo expansion
SVE tuple spill/fill pseudos (STR_ZZXI, LDR_ZZZZXI, etc.) currently expand into
N individual STR_ZXI/LDR_ZXI instructions. On targets with SVE2.1 or SME2 we can
directly generate a ptrue + multi-vec op. For the x2 case this is neutral in
code size but can still be beneficial depending on your uarch. I'm going to
assume this is a generally good thing for now.
rdar://168475826
[NewPM] Adds a port for AArch64ExpandPseudo (#187332)
Adds a port for AArch64ExpandPseudo to NewPM.
- Refactored lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp to extract
base logic as Impl
- Renamed existing pass with "Legacy" suffix and updated references
- Added NewPM pass AArch64ExpandPseudoPass
- Updated tests
Following tests mention this pass but weren't migrated because they need
a full codegen pipeline which doesn't exist yet.
```
LLVM :: CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
LLVM :: CodeGen/AArch64/addg_subg.mir
LLVM :: CodeGen/AArch64/rvmarker-pseudo-expansion-and-outlining.mir
LLVM :: CodeGen/AArch64/spillfill-sve.mir
LLVM :: CodeGen/AArch64/subreg_to_reg_coalescing_issue.mir
```