Home
last modified time | relevance | path

Searched +full:keep +full:- +full:a +full:- +full:live (Results 1 – 25 of 514) sorted by relevance

12345678910>>...21

/freebsd/contrib/llvm-project/lld/ELF/
H A DMarkLive.cpp1 //===- MarkLive.cpp -------------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file implements --gc-sections, which is a feature to remove unused
11 // from known GC-root symbols or sections. Naturally the feature is
12 // implemented as a mark-sweep garbage collector.
14 // Here's how it works. Each InputSectionBase has a "Live" bit. The bit is off
15 // by default. Starting with GC-root symbols or sections, markLive function
16 // defined in this file visits all reachable sections to set their Live
17 // bits. Writer will then ignore sections whose Live bits are off, so that
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DLiveVariables.h1 //===-- llvm/CodeGen/LiveVariables.h - Live Variable Analysis ---*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
16 // This class computes live variables using a sparse implementation based on
17 // the machine code SSA form. This class computes live variable information for
18 // each virtual and _register allocatable_ physical register in a function. It
19 // uses the dominance properties of SSA form to efficiently compute live
21 // live within a single basic block (allowing it to do a single local analysis
22 // to resolve physical register lifetimes in each basic block). If a physical
26 //===----------------------------------------------------------------------===//
[all …]
H A DLiveIntervals.h1 //===- LiveIntervals.h - Live Interval Analysis -----------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 /// numbering of each the machine instructions (in this implemention depth-first
11 /// order) an interval [i, j) is said to be a live interval for register v if
12 /// there is no instruction with number j' > j such that v is live at j' and
13 /// there is no instruction with number i' < i such that v is live at i'. In
17 //===----------------------------------------------------------------------===//
69 /// Live interval pointers for all the virtual registers.
76 /// This vector is parallel to RegMaskSlots, it holds a pointer to the
[all …]
H A DFunctionLoweringInfo.h1 //===- FunctionLoweringInfo.h - Lower functions from LLVM IR ---*- C++ -*--===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
53 //===--------------------------------------------------------------------===//
54 /// FunctionLoweringInfo - This contains information that is global to a
55 /// function that is used when lowering a region of the function.
65 /// CanLowerReturn - true iff the function's return value can be lowered to
72 /// DemoteRegister - if CanLowerReturn is false, DemoteRegister is a vreg
73 /// allocated to hold a pointer to the hidden sret parameter.
[all …]
H A DMachineSSAUpdater.h1 //===- MachineSSAUpdater.h - Unstructured SSA Update Tool -------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
31 /// MachineSSAUpdater - This class updates SSA form for a set of virtual
33 /// or another unstructured transformation wants to rewrite a set of uses of one
34 /// vreg with uses of a set of vregs.
39 /// AvailableVals - This keeps track of which value to use on a per-block
40 /// basis. When we insert PHI nodes, we keep track of them here.
47 /// InsertedPHIs - If this is non-null, the MachineSSAUpdater adds all PHI
[all …]
H A DLiveRangeEdit.h1 //===- LiveRangeEdit.h - Basic tools for split and spill --------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // The LiveRangeEdit class represents changes done to a virtual register when it
12 // The parent register is never changed. Instead, a number of new virtual
15 //===----------------------------------------------------------------------===//
51 /// Called immediately before erasing a dead machine instruction.
54 /// Called when a virtual register is no longer used. Return false to defer
58 /// Called before shrinking the live range of a virtual register.
61 /// Called after cloning a virtual register.
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DLiveRangeEdit.cpp1 //===-- LiveRangeEdit.cpp - Basic tools for editing a register live range -===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // The LiveRangeEdit class represents changes done to a virtual register when it
11 //===----------------------------------------------------------------------===//
29 STATISTIC(NumFracRanges, "Number of live ranges fractured by DCE");
38 VRM->setIsSplitFromReg(VReg, VRM->getOriginal(OldReg)); in createEmptyIntervalFrom()
41 if (Parent && !Parent->isSpillable()) in createEmptyIntervalFrom()
45 // the main range here---it will be constructed later after the subranges in createEmptyIntervalFrom()
58 VRM->setIsSplitFromReg(VReg, VRM->getOriginal(OldReg)); in createFrom()
[all …]
H A DRegAllocEvictionAdvisor.h1 //===- RegAllocEvictionAdvisor.h - Interference resolution ------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
16 #include "llvm/Config/llvm-config.h"
33 // Live ranges pass through a number of stages as we try to allocate them.
34 // Some of the stages may also create new live ranges:
36 // - Region splitting.
37 // - Per-block splitting.
38 // - Local splitting.
39 // - Spilling.
[all …]
H A DCriticalAntiDepBreaker.cpp1 //===- CriticalAntiDepBreaker.cpp - Anti-dep breaker ----------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 // implements register anti-dependence breaking along a blocks
11 // critical path during post-RA scheduler.
13 //===----------------------------------------------------------------------===//
39 #define DEBUG_TYPE "post-RA-sched"
45 Classes(TRI->getNumRegs(), nullptr), KillIndices(TRI->getNumRegs(), 0), in CriticalAntiDepBreaker()
46 DefIndices(TRI->getNumRegs(), 0), KeepRegs(TRI->getNumRegs(), false) {} in CriticalAntiDepBreaker()
51 const unsigned BBSize = BB->size(); in StartBlock()
[all …]
H A DLiveIntervals.cpp1 //===- LiveIntervals.cpp - Live Interval Analysis -------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 /// basic blocks of the function in DFS order and computes live intervals for
14 //===----------------------------------------------------------------------===//
39 #include "llvm/Config/llvm-config.h"
72 OS << "Live intervals for machine function: " << MF.getName() << ":\n"; in run()
80 "Live Interval Analysis", false, false)
84 "Live Interval Analysis", false, false) in INITIALIZE_PASS_DEPENDENCY()
96 "precompute-phys-liveness", cl::Hidden,
[all …]
H A DAggressiveAntiDepBreaker.h1 //==- llvm/CodeGen/AggressiveAntiDepBreaker.h - Anti-Dep Support -*- C++ -*-==//
5 // SPDX-License-Identifier: Apache-2.
[all...]
H A DLiveVariables.cpp1 //===-- LiveVariables.cpp - Live Variable Analysis for Machine Code -------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
16 // This class computes live variables using a sparse implementation based on
17 // the machine code SSA form. This class computes live variable information for
18 // each virtual and _register allocatable_ physical register in a function. It
19 // uses the dominance properties of SSA form to efficiently compute live
21 // live within a single basic block (allowing it to do a single local analysis
22 // to resolve physical register lifetimes in each basic block). If a physical
26 //===----------------------------------------------------------------------===//
[all …]
H A DRegAllocGreedy.h1 //==- RegAllocGreedy.h ------- greedy register allocator ----------*-C++-*-==//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 //===----------------------------------------------------------------------===//
66 // RegInfo - Keep additional information about each live range.
70 // Cascade - Eviction loop prevention. See
191 // Enum CutOffStage to keep a track whether the register allocation failed
198 // lcr-max-depth cutoff encountered
201 // lcr-max-interf cutoff encountered
215 /// Cached per-block interference maps
[all …]
/freebsd/contrib/llvm-project/lld/COFF/
H A DMarkLive.cpp1 //===- MarkLive.cpp -------------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
19 // Set live bit on for each reachable chunk. Unmarked (unreachable)
23 llvm::TimeTraceScope timeScope("Mark live"); in markLive()
26 // We build up a worklist of sections which have been marked as live. We only in markLive()
31 // COMDAT section chunks are dead by default. Add non-COMDAT chunks. Do not in markLive()
32 // traverse DWARF sections. They are live, but they should not keep other in markLive()
36 if (sc->live && !sc->isDWARF()) in markLive()
40 if (c->live) in markLive()
[all …]
/freebsd/contrib/llvm-project/llvm/tools/llvm-objdump/
H A DSourcePrinter.h1 //===-- SourcePrinter.h - source interleaving utilities --------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
25 /// Stores a single expression representing the location of a source-level
44 // Information we want to track about one column in which we are printing a
45 // variable live range.
57 // All live variables we know about in the object/image file.
70 // Get the column number (in characters) at which the first live variable
74 // Indent to the first live-range column to the right of the currently
76 // TODO: formatted_raw_ostream uses "column" to mean a number of characters
[all …]
H A DSourcePrinter.cpp1 //===-- SourcePrinter.cpp - source interleaving utilities -------
[all...]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSSAUpdater.h1 //===- SSAUpdater.h - Unstructured SSA Update Tool --------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
34 /// Helper class for SSA formation on a set of values defined in
38 /// transformation wants to rewrite a set of uses of one value with uses of a
44 /// This keeps track of which value to use on a per-block basis. When we
45 /// insert PHI nodes, we keep track of them here.
51 /// PHI nodes are given a name based on ProtoName.
54 /// If this is non-null, the SSAUpdater adds all PHI nodes that it creates to
[all …]
/freebsd/contrib/file/
H A DTODO1 Most TODOs live in the TODO section of doc/file.man (i.e. file(1)).
3 file, not here. More speculative material can live here.
8 ---
10 reimplement the apprentice and non-pattern magic methods in Python,
11 and compile the magic patterns to a giant regex (or something similar;
12 maybe using Ragel (http://www.complang.org/ragel/)) so that only a
15 hard-wired routines). In this regard, note that hplip, which is
16 BSD-licensed, has a magic reimplementation in Python.
17 ---
19 ---
[all …]
/freebsd/contrib/llvm-project/lld/docs/ELF/
H A Dstart-stop-gc.rst1 -z start-stop-gc
4 If your ``-Wl,--gc-sections`` build fail with a linker error like this:
8 …mbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://l…
11 suffice under ``--gc-sections``.
14 symbols. In October 2015, GNU ld switched behavior and made a ``__start_meta``
15 reference from a live section retain all ``meta`` input sections. This
20 GNU ld 2.37 added ``-z start-stop-gc`` to restore the traditional behavior
21 ld.lld 13.0.0 defaults to ``-z start-stop-gc`` and supports ``-z nostart-stop-gc``
24 The Apple ld64 linker has a similar ``section$start`` feature and always
25 allowed GC (like ``-z start-stop-gc``).
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DPromoteMemoryToRegister.cpp1 //===- PromoteMemoryToRegister.cpp - Convert allocas to registers ---------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 // traversing the function in depth-first order to rewrite loads and stores as
15 //===----------------------------------------------------------------------===//
61 STATISTIC(NumSingleStore, "Number of alloca's promoted with a single store");
66 // Only allow direct and non-volatile loads and stores... in isAllocaPromotable()
67 for (const User *U : AI->users()) { in isAllocaPromotable()
70 // not have any meaning for a local alloca. in isAllocaPromotable()
71 if (LI->isVolatile() || LI->getType() != AI->getAllocatedType()) in isAllocaPromotable()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanValue.h1 //===- VPlanValue.h - Represent Values in Vectorizer Plan -----------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
18 //===----------------------------------------------------------------------===//
41 // flow into, within and out of the VPlan. VPValues can stand for live-ins
43 // and live-outs which the VPlan will need to fix accordingly.
69 // the front-end and back-end of VPlan so that the middle-end is as
72 // for multiple underlying IRs (Polly?) by providing a new VPlan front-end,
73 // back-end and analysis information for the new IR.
82 VPValueSC, /// A generic VPValue, like live-in values or defined by a recipe
[all …]
/freebsd/usr.sbin/nscd/
H A Dnscd.conf.515 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
46 Each line specifies either an attribute and a
48 or an attribute, a
50 and a
62 (for example, if some third-party
64 .Bl -tag -width indent
69 .It Va enable-cache Oo Ar cachename Oc Op Cm yes | no
72 .It Va positive-time-to-live Oo Ar cachename Oc Op Ar value
73 Sets the TTL (time-to-live) for the specified cache in seconds.
77 .It Va positive-policy Oo Ar cachename Oc Op Cm fifo | lru | lfu
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DDeadArgumentElimination.cpp1 //===- DeadArgumentElimination.cpp - Eliminate dead arguments -------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 // pass also deletes dead return values in a similar way.
14 // This pass is often useful as a cleanup pass to run after aggressive
15 // interprocedural passes, which add possibly-dead arguments or return values.
17 //===----------------------------------------------------------------------===//
67 // DAH uses this to specify a different ID.
91 return CB.getCalledFunction() && !CB.getCalledFunction()->isDeclaration(); in isMustTailCalleeAnalyzable()
126 /// If this is an function that takes a ... list, and if llvm.vastart is never
[all …]
/freebsd/tests/
H A DREADME6 kyua test -k /usr/tests/Kyuafile
24 discoverability of tests. We want a mapping such as:
26 /usr/src/bin/cp/ -> /usr/tests/bin/cp/
27 /usr/src/lib/libc/ -> /usr/tests/lib/libc/
28 /usr/src/usr.bin/cut/ -> /usr/tests/usr.bin/cut/
33 src/lib/libcrypt/ library live in src/lib/libcrypt/tests/. The tests/
38 a single test suite definition.
40 * The src/tests/ hierarchy also includes cross-functional test programs:
41 i.e. test programs that cover more than a single utility or library
45 tools or libraries live next to the source code.
[all …]
/freebsd/contrib/llvm-project/lld/MachO/
H A DMarkLive.cpp1 //===- MarkLive.cpp -------------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
19 #include "mach-o/compact_unwind_encoding.h"
28 // Keep track of the entry that caused us to mark `isec` as live.
35 // Type-erased interface to MarkLiveImpl. Used for adding roots to the liveness
47 // -why_live is a rarely used option, so we don't want support for that flag
48 // to slow down the main -dead_strip code path. As such, we employ templates
66 // We build up a worklist of sections which have been marked as live. We
78 if (isec->isLive(off)) in enqueue()
[all …]

12345678910>>...21