In this paper, we present a new class of iteratively decoded error correction codes. These codes, which are a modification of irregular repeat-accumulate (IRA) codes, are termed generalized IRA (GIRA) codes, and are designed for improved error floor performance. GIRA codes are systematic, easily encodable, and are decoded with the sum-product algorithm. In this paper we present a density evolution algorithm to compute the threshold of GIRA codes, and find GIRA degree distributions which produce codes with good thresholds. We then propose inner code designs and show using simulation results that they improve upon the error floor performance of IRA codes.