Home | History | Annotate | Download | only in IPO

Lines Matching defs:Uses

84     /// with no registered uses (in Uses) will never be marked alive and will
99 /// arguments it uses. This allows the MaybeLive values to be marked live
102 /// - Uses[ret F] = ret G
104 /// - Uses[arg F] = ret G
107 /// - Uses[ret F] = arg F
109 /// - Uses[arg F] = arg G
112 UseMap Uses;
133 // DAH uses this to specify a different ID.
287 // Loop over the argument list, transferring uses of the old arguments over to
356 for (Use &U : Fn.uses()) {
415 // that U is really a use of an insertvalue instruction that uses the
425 // depends on all uses of that aggregate, but if it is used as a return
430 // we don't change RetValNum, but do survey all our uses.
433 for (const Use &UU : IV->uses()) {
470 /// SurveyUses - This looks at all the uses of the given value
471 /// Returns the Liveness deduced from the uses of this value.
473 /// Adds all uses that cause the result to be MaybeLive to MaybeLiveRetUses. If
477 // Assume it's dead (which will only hold if there are no uses at all..).
480 for (const Use &U : V->uses()) {
489 // checking out whether or not it uses any of its incoming arguments or whether
490 // any callers use the return value. This fills in the LiveValues set and Uses
510 // These vectors map each return value to the uses that make it MaybeLive, so
511 // we can add those to the Uses map if the return value really turns out to be
534 // Loop all uses of the function.
535 for (const Use &U : F.uses()) {
557 // Check all uses of the return value.
561 // This use uses a part of our return value, survey the uses of
607 // See what the effect of this use is (recording any uses that cause
620 /// MaybeLive, it also takes all uses in MaybeLiveUses and records them in Uses,
629 // Note any uses of this value, so this return value can be
630 // marked live whenever one of the uses becomes live.
633 Uses.insert(std::make_pair(*UI, RA));
642 /// values (according to Uses) live as well.
656 /// mark any values that are used by this value (according to Uses) live as
670 /// to any other values it uses (according to Uses).
675 UseMap::iterator Begin = Uses.lower_bound(RA);
676 UseMap::iterator E = Uses.end();
681 // Erase RA from the Uses map (from the lower bound to wherever we ended up
683 Uses.erase(Begin, I);
753 // even in the absence of explicit uses of the return value, code generation
946 // Our return value has uses, but they will get removed later on.
962 // uses of this struct, we will just rebuild it using
981 // Now, replace all uses of the old call instruction with the return
998 // Loop over the argument list, transferring uses of the old arguments over to
1010 // If this argument is dead, replace any uses of it with null constants