Summary: Fixes http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap-msan/builds/14002 and http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/35392/steps/build_Lld/logs/stdio
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65843
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368117
91177308-0d34-0410-b5e6-
96231b3b80d8
llvm-rc
llvm-readobj
llvm-readelf
+ llvm-reduce
llvm-rtdyld
llvm-size
llvm-split
if (C.end - C.begin == 0)
NewChunks.push_back(C);
else {
- int Half = (C.begin + C.end) / 2;
+ unsigned Half = (C.begin + C.end) / 2;
NewChunks.push_back({C.begin, Half});
NewChunks.push_back({Half + 1, C.end});
SplitOne = true;
}
void llvm::runDeltaPass(
- TestRunner &Test, int Targets,
+ TestRunner &Test, unsigned Targets,
std::function<std::unique_ptr<Module>(std::vector<Chunk>, Module *)>
ExtractChunksFromModule) {
if (!Targets)
using namespace llvm;
struct Chunk {
- int begin;
- int end;
+ unsigned begin;
+ unsigned end;
/// Operator when populating CurrentChunks in Generic Delta Pass
friend bool operator!=(const Chunk &C1, const Chunk &C2) {
/// Other implementations of the Delta Debugging algorithm can also be found in
/// the CReduce, Delta, and Lithium projects.
void runDeltaPass(
- TestRunner &Test, int Targets,
+ TestRunner &Test, unsigned Targets,
std::function<std::unique_ptr<Module>(std::vector<Chunk>, Module *)>
ExtractChunksFromModule);
// Get functions inside desired chunks
std::set<Function *> FuncsToKeep;
- int I = 0, FunctionCount = 1;
+ unsigned I = 0, FunctionCount = 1;
for (auto &F : *Clone) {
if (!F.isDeclaration() && I < ChunksToKeep.size()) {
if (FunctionCount >= ChunksToKeep[I].begin &&
// Get GVs inside desired chunks
std::set<GlobalVariable *> GVsToKeep;
- int I = 0, GVCount = 1;
+ unsigned I = 0, GVCount = 1;
for (auto &GV : Clone->globals()) {
if (GV.hasInitializer() && I < ChunksToKeep.size()) {
if (GVCount >= ChunksToKeep[I].begin && GVCount <= ChunksToKeep[I].end)