This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: "insn outside basic block" in custom back end
- From: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- To: Frank Riese <hippo at informatik dot uni-bremen dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 18 Oct 2006 15:45:45 +0200
- Subject: Re: "insn outside basic block" in custom back end
- References: <200610171907.00723.hippo@informatik.uni-bremen.de>
On Tue, Oct 17, 2006 at 07:07:00PM +0200, Frank Riese wrote:
> Hi,
>
> I have the following problem with a back end I've written after the following
> changes in the machine header, to tell GCC that the machine is word-addressed
> with a word width of 16 Bit:
>
> #define BITS_PER_UNIT 16
> #define UNITS_PER_WORD 1
> #define BITS_PER_WORD 16
You might get to know many parts of GCC that you'd rather not know about.
Btw, the c4x has BITS_PER_UNIT == 32, so it is not impossible to set it to
something else than 8.
> function8.c: In function 'foo':
> function8.c:3: error: insn outside basic block
> (insn 28 20 29 (set (reg/f:QI 20)
> (subreg:QI (reg:HI 18) 0)) 3 {movqi} (nil)
> (nil))
> function8.c:3: internal compiler error: in rtl_verify_flow_info, at
> cfgrtl.c:2065
-fdump-rtl-all-details will give you an idea of how far the compiler
gets, and thus maybe a clue to which pass runs into problems. Also, a
backtrace from the debugger is nice to have.
--
Rask Ingemann Lambertsen