1. [clang] [clang-offload-bundler] Fix finding installed llvm-objcopy (details)
  2. [X86] Teach EmitTest to handle ISD::SSUBO/USUBO in order to use the Z (details)
Commit f89e758d886a40aa44f13c4ab488c06fc8892654 by mgorny
[clang] [clang-offload-bundler] Fix finding installed llvm-objcopy
Allow finding installed llvm-objcopy in PATH if it's not present in the
directory containing clang-offload-bundler.  This is the case if clang
is being built stand-alone, and llvm-objcopy is already installed while
the c-o-b tool is still present in build directory.
This is consistent with how e.g. llvm-symbolizer is found in LLVM.
However, most of similar searches in LLVM and Clang are performed
without special-casing the program directory.
Fixes r369955.
Differential Revision:
llvm-svn: 374754
The file was modifiedclang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
Commit f4d03213f3ca31c67339a82489fc930f4cfd56f6 by craig.topper
[X86] Teach EmitTest to handle ISD::SSUBO/USUBO in order to use the Z
flag from the subtract directly during isel.
This prevents isel from emitting a TEST instruction that
optimizeCompareInstr will need to remove later.
In some of the modified tests, the SUB gets duplicated due to the flags
being needed in two places and being clobbered in between.
optimizeCompareInstr was able to optimize away the TEST that was using
the result of one of them, but optimizeCompareInstr doesn't know to turn
SUB into CMP after removing the TEST. It only knows how to turn SUB into
CMP if the result was already dead.
With this change the TEST never exists, so optimizeCompareInstr doesn't
have to remove it. Then it can just turn the SUB into CMP immediately.
Fixes PR43649.
llvm-svn: 374755
The file was modifiedllvm/test/CodeGen/X86/ssub_sat_vec.ll
The file was modifiedllvm/test/CodeGen/X86/ssub_sat.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/known-bits.ll