SuccessChanges

Summary

  1. [profile] Use -fPIC -shared in a test instead of -dynamiclib (details)
  2. New tautological warning for bitwise-or with non-zero constant always (details)
  3. Prune Analysis includes from SelectionDAG.h (details)
  4. Prune a LegacyDivergenceAnalysis and MachineLoopInfo include each (details)
  5. AMDGPU: Remove optnone from a test (details)
  6. [Implicit Modules] Add -cc1 option -fmodules-strict-context-hash which (details)
  7. Avoid including CodeView/SymbolRecord.h from MCStreamer.h (details)
  8. Add -Wbitwise-conditional-parentheses to warn on mixing '|' and '&' with (details)
  9. [Docs] Fix header level. (details)
  10. [analyzer] Fix a crash on tracking Objective-C 'self' as a control (details)
  11. [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor. (details)
Commit b081220cfd46965fa25dbf826cd3f42f4f9e54cd by Vedant Kumar
[profile] Use -fPIC -shared in a test instead of -dynamiclib
This is more portable than -dynamiclib. Also, fix the path to an input
file that broke when the test was moved in r375315.
llvm-svn: 375317
The file was modifiedcompiler-rt/test/profile/Posix/instrprof-get-filename-merge-mode.c
Commit 8b0d14a8f0cc085afa2a9c86c237da81c74517fc by rtrieu
New tautological warning for bitwise-or with non-zero constant always
true.
Taking a value and the bitwise-or it with a non-zero constant will
always result in a non-zero value. In a boolean context, this is always
true.
if (x | 0x4) {}  // always true, intended '&'
This patch creates a new warning group -Wtautological-bitwise-compare
for this warning. It also moves in the existing tautological bitwise
comparisons into this group. A few other changes were needed to the
CFGBuilder so that all bool contexts would be checked. The warnings in
-Wtautological-bitwise-compare will be off by default due to using the
CFG.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=42666 Differential
Revision: https://reviews.llvm.org/D66046
llvm-svn: 375318
The file was addedclang/test/SemaCXX/warn-bitwise-compare.cpp
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Analysis/CFG.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/Sema/warn-bitwise-compare.c
Commit 0ad6c191deef592818d2381b16e1093a0006e7b5 by rnk
Prune Analysis includes from SelectionDAG.h
Only forward declarations are needed here. Follow-on to r375311.
llvm-svn: 375319
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
The file was modifiedllvm/lib/CodeGen/DFAPacketizer.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGISel.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
The file was modifiedllvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Commit 904cd3e06b980baa90c6cd6614321b904a05e162 by rnk
Prune a LegacyDivergenceAnalysis and MachineLoopInfo include each
Now X86ISelLowering doesn't depend on many IR analyses.
llvm-svn: 375320
The file was modifiedllvm/lib/CodeGen/BreakFalseDeps.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMIPeephole.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.h
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
The file was modifiedllvm/include/llvm/CodeGen/FunctionLoweringInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/MSP430/MSP430BranchSelector.cpp
The file was modifiedllvm/lib/CodeGen/ExecutionDomainFix.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNILPSched.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMIChecking.cpp
The file was modifiedllvm/lib/CodeGen/SwiftErrorValueTracking.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
Commit 1aae510893e654361c17dc6d0cb27ac4de6202c8 by Matthew.Arsenault
AMDGPU: Remove optnone from a test
It's not clear why the test had this. I'm unable to break the original
case with the original patch reverted with or without optnone.
This avoids a failure in a future commit.
llvm-svn: 375321
The file was modifiedllvm/test/CodeGen/AMDGPU/extract-subvector-equal-length.ll
Commit 14a3f77ba1034d551e5f8a5bc4cd3ae131738773 by bigcheesegs
[Implicit Modules] Add -cc1 option -fmodules-strict-context-hash which
includes search paths and diagnostics.
Differential Revision: https://reviews.llvm.org/D68528
llvm-svn: 375322
The file was modifiedclang/docs/Modules.rst
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/include/clang/Lex/HeaderSearchOptions.h
The file was addedclang/test/Modules/context-hash.c
Commit 7bbe711fb1b9057e48dec3c15b084eee7f8ff5fb by rnk
Avoid including CodeView/SymbolRecord.h from MCStreamer.h
Move the types needed out so they can be forward declared instead.
llvm-svn: 375325
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
Commit 637af4cc37802a25564aa96c4d4eb3facbcff9b8 by rtrieu
Add -Wbitwise-conditional-parentheses to warn on mixing '|' and '&' with
"?:"
Extend -Wparentheses to cover mixing bitwise-and and bitwise-or with the
conditional operator. There's two main cases seen with this:
unsigned bits1 = 0xf0 | cond ? 0x4 : 0x1; unsigned bits2 = cond1 ? 0xf0
: 0x10 | cond2 ? 0x5 : 0x2;
// Intended order of evaluation: unsigned bits1 = 0xf0 | (cond ? 0x4 :
0x1); unsigned bits2 = (cond1 ? 0xf0 : 0x10) | (cond2 ? 0x5 : 0x2);
// Actual order of evaluation: unsigned bits1 = (0xf0 | cond) ? 0x4 :
0x1; unsigned bits2 = cond1 ? 0xf0 : ((0x10 | cond2) ? 0x5 : 0x2);
Differential Revision: https://reviews.llvm.org/D66043
llvm-svn: 375326
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Sema/parentheses.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit d7cf99ae03704dad87cffe49a83af13f5b949c82 by bigcheesegs
[Docs] Fix header level.
llvm-svn: 375327
The file was modifiedclang/docs/Modules.rst
Commit ab2cec8b85cf84f0c734115205cc8b07b56bd3ae by Artem Dergachev
[analyzer] Fix a crash on tracking Objective-C 'self' as a control
dependency.
'self' was previously never tracked, but now it can be tracked because
it may be part of a condition.
llvm-svn: 375328
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was addedclang/test/Analysis/track-control-dependency-conditions.m
Commit 4a5df7312ec2c14360e4e12596a1ef63be39a480 by Artem Dergachev
[analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.
Patch by Kristóf Umann!
Differential Revision: https://reviews.llvm.org/D68591
llvm-svn: 375329
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was modifiedclang/test/Analysis/novoidtypecrash.c