1. A method for allocating entries in a branch target buffer (BTB) in a pipelined data processing system, comprising: fetching instructions from a plurality of instructions; determining that one of the plurality of instructions is a branch instruction; decoding the branch instruction to determine a branch target address; determining if the branch target address location can be obtained without causing a further stall condition in the pipelined data processing system; and selectively allocating a BTB entry based on the determination.