[llvm-commits] [llvm] r109047 - in /llvm/trunk: lib/Target/ARM/ARMFastISel.cpp lib/Target/ARM/ARMISelLowering.cpp lib/Target/ARM/ARMISelLowering.h lib/Target/ARM/CMakeLists.txt lib/Target/ARM/Makefile test/CodeGen/ARM/fast-isel.ll

Eric Christopher echristo at apple.com
Mon Jul 26 11:28:36 PDT 2010


On Jul 26, 2010, at 11:27 AM, Evan Cheng wrote:

> This is breaking ARM -O0. e.g.
> 
> unsigned FastEmit_ISD_Constant_MVT_i32_i(MVT RetVT, uint64_t imm0) {
>  if (RetVT.SimpleTy != MVT::i32)
>    return 0;
>  if ((!Subtarget->isThumb()) && (Subtarget->hasV6T2Ops())) {
>    return FastEmitInst_i(ARM::MOVi32imm, ARM::GPRRegisterClass, imm0);
>  }
>  if ((Subtarget->isThumb2())) {
> =>  return FastEmitInst_i(ARM::t2MOVi32imm, ARM::GPRRegisterClass, imm0);
>  }
>  return 0;
> }
> 
> But FastISel::FastEmitInst_i isn't creating the right instructions for ARM since it doesn't add the default predicate operands. I'm going to disable fastisel for ARM for now.
> 

Yep.  PR7707 :)

I was just about to turn it off myself :)

It should have just been ignoring the instructions and I'm finding out why it isn't.

-eric





More information about the llvm-commits mailing list