WebAssembly: add option to disable register coloring

Having this hidden option makes it easier to debug other issues.

llvm-svn: 259482
This commit is contained in:
JF Bastien 2016-02-02 09:30:01 +00:00
parent 5c36e5938d
commit dc1255f02f
1 changed files with 7 additions and 0 deletions

View File

@ -29,6 +29,10 @@ using namespace llvm;
#define DEBUG_TYPE "wasm-reg-coloring"
static cl::opt<bool>
DisableRegColoring("disable-wasm-reg-coloring", cl::Hidden, cl::init(false),
cl::desc("Disable WebAssembly register coloring"));
namespace {
class WebAssemblyRegColoring final : public MachineFunctionPass {
public:
@ -76,6 +80,9 @@ bool WebAssemblyRegColoring::runOnMachineFunction(MachineFunction &MF) {
<< "********** Function: " << MF.getName() << '\n';
});
if (DisableRegColoring)
return false;
// If there are calls to setjmp or sigsetjmp, don't perform coloring. Virtual
// registers could be modified before the longjmp is executed, resulting in
// the wrong value being used afterwards. (See <rdar://problem/8007500>.)