Support: Fix incremental build when re-configuring targets
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sat, 13 Feb 2016 22:58:43 +0000 (22:58 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sat, 13 Feb 2016 22:58:43 +0000 (22:58 +0000)
commit3f7f883e060923a0844971e0a8a16e459ef9e099
treee584cbcf955d9dd22a170d5662980d25d661f965
parent08ba012973c80b098b7441a8ce0ee40194596ed4
Support: Fix incremental build when re-configuring targets

r180893 added an indirect include of llvm/Config/Targets.def to
llvm/Support/CodeGen.h, which in turn is included by things like
llvm/IR/Module.h.  After a full build of LLVM and Clang, ninja had to
rebuild 1274 files after reconfiguring.

This commit strips CodeGen.h back down to just a pile of enums and moves
the expensive includes over to CodeGenCWrappers.h (which is only
included in two places).  This gets ninja down to 88 files if you
reconfigure with, e.g., -DLLVM_TARGETS_TO_BUILD=X86.

llvm-svn: 260835
llvm/include/llvm/Support/CodeGen.h
llvm/include/llvm/Support/CodeGenCWrappers.h [new file with mode: 0644]
llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
llvm/lib/Target/TargetMachineC.cpp