SuccessChanges

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

Summary

  1. Revert "[llvm][NFC] Cleanup uses of std::function in Inlining-related APIs" (details)
  2. [DebugInfo] llvm rejects DWARF operator DW_OP_push_object_address (details)
  3. [NFCI] Removed '%' from llc in test case in ab699d78a26f147b (details)
  4. [DebugInfo] support for DW_AT_data_location in llvm (details)
  5. [CodeGen] Refactor CreateStackTemporary (details)
  6. Fixed bot failure after 4042ada1c1fe4a9cd5 (details)
  7. [ARM][MachineOutliner] Add Machine Outliner support for ARM. (details)
  8. Correct the argument list of command `breakpoint read` (details)
  9. Fixed bot failure after ab699d78a26f147b (details)
Commit 454de99a6fec705e76ed7743bf538f7a77296f59 by mtrofin
Revert "[llvm][NFC] Cleanup uses of std::function in Inlining-related APIs"

This reverts commit 767db5be67cab5aa04d81227725765cad9620611.
The file was modifiedllvm/include/llvm/Transforms/Utils/Cloning.h
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/include/llvm/Analysis/InlineCost.h
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
The file was modifiedllvm/lib/Transforms/IPO/InlineSimple.cpp
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
Commit ab699d78a26f147b56537326ecadc072f8f5a03b by SourabhSingh.Tomar
[DebugInfo] llvm rejects DWARF operator DW_OP_push_object_address

llvm rejects DWARF operator DW_OP_push_object_address.This DWARF
operator is needed for Flang to support allocatable array.

Summary:
Currently llvm rejects DWARF operator DW_OP_push_object_address.
below error is produced when llvm finds this operator.

[..]
invalid expression
!DIExpression(151)
warning: ignoring invalid debug info in pushobj.ll
[..]

There are some parts missing in support of this operator, need to
be completed.

Testing
-added a unit testcase
-check-debuginfo
-check-llvm

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D79306
The file was addedllvm/test/DebugInfo/dwarfdump-pushobjectaddress.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
Commit a2545c3499a03cc1fdbd5f638f88572b23adf570 by SourabhSingh.Tomar
[NFCI] Removed '%' from llc in test case in ab699d78a26f147b
The file was modifiedllvm/test/DebugInfo/dwarfdump-pushobjectaddress.ll
Commit 4042ada1c1fe4a9cd546600602281686bb2270cd by SourabhSingh.Tomar
[DebugInfo] support for DW_AT_data_location in llvm

This patch adds support for DWARF attribute DW_AT_data_location.

Summary:
Dynamic arrays in fortran are described by array descriptor and
data allocation address. Former is mapped to DW_AT_location and
later is mapped to DW_AT_data_location.

Testing:
unit test cases added (hand-written)
check llvm
check debug-info

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D79592
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/unittests/IR/MetadataTest.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was addedllvm/test/Bitcode/dataLocation.ll
The file was addedllvm/test/DebugInfo/dwarfdump-dataLocationVar.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was addedllvm/test/Verifier/array_dataLocation.ll
The file was modifiedllvm/unittests/IR/DebugTypeODRUniquingTest.cpp
The file was addedllvm/test/DebugInfo/dwarfdump-dataLocationExp.ll
Commit 8ce4a8f6dfbe5ed34ebdc5baf904e5102514d81c by david.sherwood
[CodeGen] Refactor CreateStackTemporary

I've created a new variant of CreateStackTemporary that takes
TypeSize and Align arguments, and made the older instances of
CreateStackTemporary call this new function. This refactoring is
in preparation for more patches in this area related to scalable
vectors and improving the alignment calculations.

Differential Revision: https://reviews.llvm.org/D79933
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit f83d66c249bffe576460c7d233d295818775a651 by SourabhSingh.Tomar
Fixed bot failure after 4042ada1c1fe4a9cd5

Added '-' in `mtriple` in test case
There was a bot failure due to this:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-debian/builds/6790
The file was modifiedllvm/test/DebugInfo/dwarfdump-dataLocationExp.ll
Commit 0e4827aa4e4ae25813f66d3b872db67d93813009 by yvan.roux
[ARM][MachineOutliner] Add Machine Outliner support for ARM.

Enables Machine Outlining for ARM and Thumb2 modes.  This is the first
patch of the series which adds all the basic logic for the support, and
only handles tail-calls and thunks.

The outliner can be turned on by using clang -moutline option or -mllvm
-enable-machine-outliner one (like AArch64).

Differential Revision: https://reviews.llvm.org/D76066
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedllvm/test/CodeGen/ARM/machine-outliner-thunk.ll
The file was addedllvm/test/CodeGen/ARM/machine-outliner-unoutlinable.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was addedllvm/test/CodeGen/ARM/machine-outliner-unsafe-registers.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
The file was addedllvm/test/CodeGen/ARM/machine-outliner-tail.ll
Commit 7c89297cf7eecd52327915de587df8183793afac by Raphael Isemann
Correct the argument list of command `breakpoint read`

Summary: Command `breakpoint read` should not accept breakpoint ids as
arguments, and in fact, it is not implemented to deal with breakpoint id
arguments either. So this patch is to correct the argument list of this
command so that the help text won't misguide users.

Reviewers: teemperor, JDevlieghere, jingham

Reviewed By: teemperor, JDevlieghere

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D79722
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
Commit d6b937056d49450a3ea8a304be2fd677ccf71ac1 by SourabhSingh.Tomar
Fixed bot failure after ab699d78a26f147b

Added `target triple` to the test case, it was failing on
aarch64 bot:
http://lab.llvm.org:8011/builders/flang-aarch64-ubuntu/builds/97
The file was modifiedllvm/test/DebugInfo/dwarfdump-pushobjectaddress.ll