"Processed value not in any map!" failures

When I build LLVM with ENABLE_EXPENSIVE_CHECKS=1, make check fails:

Running /home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/dg.exp ...
FAIL: /home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll
Failed with signal(SIGABRT) at line 1
while running: llvm-as <
/home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll

llc -march=arm -mattr=+v6

Processed value not in any map!
0 llc 0x09222aa7
1 llc 0x09223146
2 0x4001c400 __kernel_sigreturn + 0
3 libc.so.6 0x4019d018 abort + 392
4 llc 0x08d832ff
5 llc 0x08d83598
6 llc 0x08d84197 llvm::SelectionDAG::LegalizeTypes() + 45
7 llc 0x08d0e8db llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1261
8 llc 0x08d11218
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::ilist_iterator<llvm::Instruction>,
llvm::ilist_iterator<llvm::Instruction>) + 456
9 llc 0x08d11cca
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function&,
llvm::MachineFunction&, llvm::MachineModuleInfo*, llvm::DwarfWriter*,
llvm::TargetInstrInfo const&) + 2460
10 llc 0x08d12aa7
llvm::SelectionDAGISel::runOnFunction(llvm::Function&) + 905
11 llc 0x0916be36
llvm::FPPassManager::runOnFunction(llvm::Function&) + 288
12 llc 0x0916c924
llvm::FunctionPassManagerImpl::run(llvm::Function&) + 124
13 llc 0x0916caf5 llvm::FunctionPassManager::run(llvm::Function&) + 159
14 llc 0x086807a3 main + 2830
15 libc.so.6 0x40186455 __libc_start_main + 229
16 llc 0x0867e991
Stack dump:
0. Program arguments: llc -march=arm -mattr=+v6
1. Running pass 'ARM Instruction Selection' on function '@test3'

... and many more similar failures.

Jay.

FAIL: /home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll
Failed with signal(SIGABRT) at line 1
while running: llvm-as <
/home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll
> llc -march=arm -mattr=+v6
Processed value not in any map!

If it helps, at this point I->dump() gives:

0xa21e504: i64 = TargetConstant <1>

Thanks,
Jay.

Hi Jay,

When I build LLVM with ENABLE_EXPENSIVE_CHECKS=1, make check fails:

Running /home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/dg.exp ...
FAIL: /home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll
Failed with signal(SIGABRT) at line 1
while running: llvm-as <
/home/foad/svn/llvm-project/llvm/trunk/test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll
> llc -march=arm -mattr=+v6
Processed value not in any map!

building with ENABLE_EXPENSIVE_CHECKS=1 turns on a bunch
of extra sanity checking in LegalizeTypes. "make check" used to
pass all tests with this on. I notice that the failing node is a target
constant. These are a special case, and the code dealing with them
was tweaked a little while ago - probably that caused this. I will
take a look.

Ciao,

Duncan.

building with ENABLE_EXPENSIVE_CHECKS=1 turns on a bunch
of extra sanity checking in LegalizeTypes. "make check" used to
pass all tests with this on. I notice that the failing node is a target
constant. These are a special case, and the code dealing with them
was tweaked a little while ago - probably that caused this. I will
take a look.

Thanks for fixing this, Duncan!

Jay.