emit-rtl.c (132727) | emit-rtl.c (146906) |
---|---|
1/* Emit RTL for the GCC expander. 2 Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 3 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free --- 2896 unchanged lines hidden (view full) --- 2905/* Return the first nonnote insn emitted in current sequence or current 2906 function. This routine looks inside SEQUENCEs. */ 2907 2908rtx 2909get_first_nonnote_insn (void) 2910{ 2911 rtx insn = first_insn; 2912 | 1/* Emit RTL for the GCC expander. 2 Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 3 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free --- 2896 unchanged lines hidden (view full) --- 2905/* Return the first nonnote insn emitted in current sequence or current 2906 function. This routine looks inside SEQUENCEs. */ 2907 2908rtx 2909get_first_nonnote_insn (void) 2910{ 2911 rtx insn = first_insn; 2912 |
2913 while (insn) | 2913 if (insn) |
2914 { | 2914 { |
2915 insn = next_insn (insn); 2916 if (insn == 0 || GET_CODE (insn) != NOTE) 2917 break; | 2915 if (NOTE_P (insn)) 2916 for (insn = next_insn (insn); 2917 insn && NOTE_P (insn); 2918 insn = next_insn (insn)) 2919 continue; 2920 else 2921 { 2922 if (GET_CODE (insn) == INSN 2923 && GET_CODE (PATTERN (insn)) == SEQUENCE) 2924 insn = XVECEXP (PATTERN (insn), 0, 0); 2925 } |
2918 } 2919 2920 return insn; 2921} 2922 2923/* Return the last nonnote insn emitted in current sequence or current 2924 function. This routine looks inside SEQUENCEs. */ 2925 2926rtx 2927get_last_nonnote_insn (void) 2928{ 2929 rtx insn = last_insn; 2930 | 2926 } 2927 2928 return insn; 2929} 2930 2931/* Return the last nonnote insn emitted in current sequence or current 2932 function. This routine looks inside SEQUENCEs. */ 2933 2934rtx 2935get_last_nonnote_insn (void) 2936{ 2937 rtx insn = last_insn; 2938 |
2931 while (insn) | 2939 if (insn) |
2932 { | 2940 { |
2933 insn = previous_insn (insn); 2934 if (insn == 0 || GET_CODE (insn) != NOTE) 2935 break; | 2941 if (NOTE_P (insn)) 2942 for (insn = previous_insn (insn); 2943 insn && NOTE_P (insn); 2944 insn = previous_insn (insn)) 2945 continue; 2946 else 2947 { 2948 if (GET_CODE (insn) == INSN 2949 && GET_CODE (PATTERN (insn)) == SEQUENCE) 2950 insn = XVECEXP (PATTERN (insn), 0, 2951 XVECLEN (PATTERN (insn), 0) - 1); 2952 } |
2936 } 2937 2938 return insn; 2939} 2940 2941/* Return a number larger than any instruction's uid in this function. */ 2942 2943int --- 2765 unchanged lines hidden --- | 2953 } 2954 2955 return insn; 2956} 2957 2958/* Return a number larger than any instruction's uid in this function. */ 2959 2960int --- 2765 unchanged lines hidden --- |