Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [ARM] Improve codegen of volatile load/store of i64 (details)
  2. Fix "pointer is null" static analyzer warning. NFCI. (details)
  3. [X86] Standardize shuffle match/lowering function names. NFC. (details)
  4. [ARM][MVE] VPT Blocks: findVCMPToFoldIntoVPS (details)
Commit 60e0120c913dd1d4bfe33769e1f000a076249a42 by victor.campos
[ARM] Improve codegen of volatile load/store of i64
Summary: Instead of generating two i32 instructions for each load or
store of a volatile i64 value (two LDRs or STRs), now emit LDRD/STRD.
These improvements cover architectures implementing ARMv5TE or Thumb-2.
Reviewers: dmgreen, efriedma, john.brawn, nickdesaulniers
Reviewed By: efriedma, nickdesaulniers
Subscribers: nickdesaulniers, vvereschaka, kristof.beyls, hiraditya,
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/ARM/i64_volatile_load_store.ll
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/
Commit 3b417b7cf73b6b5a2953ad4c8178b4394ea4f20e by llvm-dev
Fix "pointer is null" static analyzer warning. NFCI.
The file was modifiedclang/lib/AST/Comment.cpp
Commit c0365aaaa4f20dd92d6f887c4539d1360dbb8c8e by llvm-dev
[X86] Standardize shuffle match/lowering function names. NFC.
We mainly use lowerShuffle*/matchShuffle* - replace the (few)
lowerVectorShuffle*/matchVectorShuffle* cases to be consistent.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e34801c8e6df11b802f58b202f2ce6598734f040 by sjoerd.meijer
[ARM][MVE] VPT Blocks: findVCMPToFoldIntoVPS
This is a recommit of D71330, but with a few things fixed and changed:
1) ReachingDefAnalysis: this was not running with optnone as it was
checking skipFunction(), which other analysis passes don't do. I guess
this is a copy-paste from a codegen pass. 2) VPTBlockPass: here I've
added skipFunction(), because like most/all optimisations, we don't want
to run this with optnone.
This fixes the issues with the initial/previous commit: the VPTBlockPass
was running with optnone, but ReachingDefAnalysis wasn't, and so
VPTBlockPass was crashing querying ReachingDefAnalysis.
I've added test case mve-vpt-block-optnone.mir to check that we don't
run VPTBlock with optnone.
Differential Revision:
The file was addedllvm/test/CodeGen/Thumb2/mve-vpt-block-optnone.mir
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
The file was addedllvm/test/CodeGen/Thumb2/mve-vpt-block-fold-vcmp.mir