FailedChanges

Summary

  1. Revert r359520
  2. [TargetLowering] findOptimalMemOpLowering. NFCI. This was a local static funtion in SelectionDAG, which I've promoted to TargetLowering so that I can reuse it to estimate the cost of a memory operation in D59787. Differential Revision: https://reviews.llvm.org/D59766
  3. [ARM GlobalISel] Widen small shift operands The legalizer was already widening the shift amount. Add tests for that behaviour, and also support widening the shifted value.
  4. [AsmPrinter] Make AsmPrinter::HandlerInfo::Handler a unique_ptr Handlers.clear() in AsmPrinter::doFinalization() will destroy these handlers. A unique_ptr makes the ownership clearer.
  5. [ARM GlobalISel] Be more careful about bailing out Bail out on function arguments/returns with types aggregating an unsupported type. This fixes cases where we would happily and incorrectly lower functions taking e.g. [1 x i64] parameters, when we don't even support plain i64 yet.
Revision 359544 by xbolva00:
Revert r359520
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-pdbutil/PrettyFunctionDumper.cpptrunk/tools/llvm-pdbutil/PrettyFunctionDumper.cpp
Revision 359543 by sjoerdmeijer:
[TargetLowering] findOptimalMemOpLowering. NFCI.

This was a local static funtion in SelectionDAG, which I've promoted to
TargetLowering so that I can reuse it to estimate the cost of a memory
operation in D59787.

Differential Revision: https://reviews.llvm.org/D59766
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.htrunk/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpptrunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpptrunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Revision 359542 by rovka:
[ARM GlobalISel] Widen small shift operands

The legalizer was already widening the shift amount. Add tests for that
behaviour, and also support widening the shifted value.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpptrunk/lib/Target/ARM/ARMLegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-legalize-binops.mirtrunk/test/CodeGen/ARM/GlobalISel/arm-legalize-binops.mir
Revision 359541 by maskray:
[AsmPrinter] Make AsmPrinter::HandlerInfo::Handler a unique_ptr

Handlers.clear() in AsmPrinter::doFinalization() will destroy these handlers.
A unique_ptr makes the ownership clearer.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/AsmPrinter.htrunk/include/llvm/CodeGen/AsmPrinter.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpptrunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/BPF/BPFAsmPrinter.cpptrunk/lib/Target/BPF/BPFAsmPrinter.cpp
Revision 359540 by rovka:
[ARM GlobalISel] Be more careful about bailing out

Bail out on function arguments/returns with types aggregating an
unsupported type. This fixes cases where we would happily and
incorrectly lower functions taking e.g. [1 x i64] parameters, when we
don't even support plain i64 yet.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMCallLowering.cpptrunk/lib/Target/ARM/ARMCallLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-unsupported.lltrunk/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll

Summary

  1. [analyzer][UninitializedObjectChecker] PR41611: Regard vector types as primitive https://bugs.llvm.org/show_bug.cgi?id=41611 Similarly to D61106, the checker ran over an llvm_unreachable for vector types: struct VectorSizeLong { VectorSizeLong() {} __attribute__((__vector_size__(16))) long x; }; void __vector_size__LongTest() { VectorSizeLong v; } Since, according to my short research, "The vector_size attribute is only applicable to integral and float scalars, although arrays, pointers, and function return values are allowed in conjunction with this construct." [src: https://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Vector-Extensions.html#Vector-Extensions] vector types are safe to regard as primitive. Differential Revision: https://reviews.llvm.org/D61246
Revision 359539 by szelethus:
[analyzer][UninitializedObjectChecker] PR41611: Regard vector types as primitive

https://bugs.llvm.org/show_bug.cgi?id=41611

Similarly to D61106, the checker ran over an llvm_unreachable for vector types:

struct VectorSizeLong {
  VectorSizeLong() {}
  __attribute__((__vector_size__(16))) long x;
};

void __vector_size__LongTest() {
  VectorSizeLong v;
}
Since, according to my short research,

"The vector_size attribute is only applicable to integral and float scalars,
although arrays, pointers, and function return values are allowed in conjunction
with this construct."
[src: https://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Vector-Extensions.html#Vector-Extensions]

vector types are safe to regard as primitive.

Differential Revision: https://reviews.llvm.org/D61246
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.htrunk/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
The file was modified/cfe/trunk/test/Analysis/cxx-uninitialized-object-ptr-ref.cpptrunk/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
The file was modified/cfe/trunk/test/Analysis/cxx-uninitialized-object.cpptrunk/test/Analysis/cxx-uninitialized-object.cpp