[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE

definition below all of the header #include lines, lib/Transforms/...
edition.

This one is tricky for two reasons. We again have a couple of passes
that define something else before the includes as well. I've sunk their
name macros with the DEBUG_TYPE.

Also, InstCombine contains headers that need DEBUG_TYPE, so now those
headers #define and #undef DEBUG_TYPE around their code, leaving them
well formed modular headers. Fixing these headers was a large motivation
for all of these changes, as "leaky" macros of this form are hard on the
modules implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206844 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth
2014-04-22 02:55:47 +00:00
parent 4da253756d
commit 7962dbdc65
98 changed files with 202 additions and 111 deletions

View File

@ -14,7 +14,6 @@
//
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "lowerinvoke"
#include "llvm/Transforms/Scalar.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
@ -25,6 +24,8 @@
#include "llvm/Support/CommandLine.h"
using namespace llvm;
#define DEBUG_TYPE "lowerinvoke"
STATISTIC(NumInvokes, "Number of invokes replaced");
namespace {