1. A parallel-code optimization system comprising: a siloed program reference identifier to identify, in intraprocedural paths of a computer program, siloed references to lvalues that are free of cross-thread interference using a Procedural Concurrency Graph (PCG); a PCG generator executed by a processor, the PCG generator to produce an initial PCG of the computer program by generating a unidirected graph of the computer program including nodes representing procedures in the computer program and edges connecting pairs of the nodes that are for procedures operable to execute in parallel, and for each pair of nodes connected by an edge, determining whether the procedures of the pair of nodes immediately interfere on an lvalue, and if the procedures of the pair of nodes immediately interfere on the lvalue, including the lvalue in an immediate interference set, apply a concurrency-type refinement to identify an edge to remove from the initial PCG and apply an interference-type refinement to identify an lvalue to remove from the immediate interference set of the initial PCG, and determine a refined PCG from the applying of the concurrency-type refinery ent and the interference-type refinement to the initial PCG, wherein the refined PCG includes the initial PCG with the edge identified by the concurrency-type refinement removed and with the lvalue identified by the interference-type refinement removed from the immediate interference set, and wherein the refined PCG is used to: determine a union of immediate interference sets for a selected node, determine a set of lvalues that are immediately accessed by the selected node; and subtract the union of immediate interference sets from the set of lvalues to determine the siloed references; and a non-transitory storage device to store the refined PCG.