1. [mlir] Refactor BoolAttr to be a special case of IntegerAttr (details)
  2. [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI (details)
  3. [Statepoint] Migrate a few tests to gc-live bundle format and fix assert (details)
Commit c0cd1f1c5cc97e0c90727b3e4d5f52dd6a7aae55 by riddleriver
[mlir] Refactor BoolAttr to be a special case of IntegerAttr

This simplifies a lot of handling of BoolAttr/IntegerAttr. For example, a lot of places currently have to handle both IntegerAttr and BoolAttr. In other places, a decision is made to pick one which can lead to surprising results for users. For example, DenseElementsAttr currently uses BoolAttr for i1 even if the user initialized it with an Array of i1 IntegerAttrs.

Differential Revision:
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedmlir/test/Transforms/sccp-callgraph.mlir
The file was modifiedmlir/test/Conversion/SCFToStandard/convert-to-cfg.mlir
The file was modifiedmlir/test/Dialect/Standard/canonicalize-cf.mlir
The file was modifiedmlir/test/Transforms/cse.mlir
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/test/Transforms/inlining.mlir
The file was modifiedmlir/test/Transforms/sccp.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/test/Target/import.ll
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/lib/IR/AttributeDetail.h
Commit 198762680e1e66518ee531c9cce5bf1933accea3 by Vedant Kumar
[LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI

Cache the results from getMachineBasicBlocks in LexicalScopes to speed
up UserValueScopes::dominates queries.  This replaces the caching done
in UserValueScopes. Compared to the old caching method, this reduces
memory traffic when a VarLoc is copied (e.g. when a VarLocMap grows),
and enables caching across basic blocks.

When compiling sqlite 3.5.7 (CTMark version), this patch reduces the
number of calls to getMachineBasicBlocks from 10,207 to 1,093. I also
measured a small compile-time reduction (~ 0.1% of total wall time, on
average, on my machine).

As a drive-by, I made the DebugLoc in UserValueScopes a const reference
to cut down on MetadataTracking traffic.

Reviewers: jmorse, Orlando, aprantl, nikic

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision:
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/lib/CodeGen/LexicalScopes.cpp
The file was modifiedllvm/include/llvm/CodeGen/LexicalScopes.h
Commit 4c735439fd9a0cfea9ae366df8b36281436d4708 by listmail
[Statepoint] Migrate a few tests to gc-live bundle format and fix assert

The assert was missed in 0e7c7705, migrating the test revealed the problem.
The file was modifiedllvm/test/CodeGen/X86/statepoint-invoke.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-live-in.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-allocas.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-call-lowering.ll