Lines Matching full:selects

64     cl::desc("CHR merges a group of N branches/selects where N >= this value"));
123 // The original number of conditional branches / selects
125 // The decrease of the number of conditional branches / selects in the hot
138 SmallVector<SelectInst *, 8> Selects;
273 // True-biased and false-biased selects, respectively. Used only for the
385 // All the true-biased selects in the function
387 // All the false-biased selects in the function
391 // A map from biased selects to their branch bias
452 if (RI.Selects.size() > 0)
453 OS << " S" << RI.Selects.size();
685 for (SelectInst *SI : RI.Selects) {
687 // Pick the first select in Selects in the entry block. Note Selects is
695 // Check that HoistPoint is the first one in Selects in the entry block,
698 for (SelectInst *SI : RI.Selects) {
706 "HoistPoint must be the first one in Selects");
790 // Try to look for selects in the direct child blocks (as opposed to in
802 SmallVector<SelectInst *, 8> Selects;
813 Selects.push_back(SI);
818 if (Selects.size() > 0) {
820 for (auto *SI : Selects)
825 RI.Selects.push_back(SI);
851 // Check that any of the branch and the selects in the region could be
855 // selects in the first blocks.
857 // For example, for the following scope/region with selects, we want to insert
872 // Select 2. If we can't hoist c3, we drop Selects 1 & 2.
879 SmallVector<SelectInst *, 8> &Selects = RI.Selects;
880 if (RI.HasBranch || !Selects.empty()) {
887 // Initialize Unhoistables with the selects.
888 for (SelectInst *SI : Selects) {
891 // Remove Selects that can't be hoisted.
892 for (auto it = Selects.begin(); it != Selects.end(); ) {
908 it = Selects.erase(it);
915 // Update InsertPoint after potentially removing selects.
923 // If the branch isn't hoistable, drop the selects in the entry
927 CHR_DEBUG(dbgs() << "Dropping selects in entry block \n");
929 for (SelectInst *SI : Selects) {
932 for (SelectInst *SI : Selects) {
939 llvm::erase_if(Selects, [EntryBB](SelectInst *SI) {
956 for (auto *SI : Selects) {
962 "checkHoistValue for selects");
968 for (auto *SI : Selects) {
1031 for (SelectInst *SI : RI.Selects) {
1069 // unnecessary splits at scopes with no branch/selects. If
1109 for (SelectInst *SI : RI.Selects)
1301 for (SelectInst *SI : RI.Selects) {
1331 << " true-selects " << Scope->TrueBiasedSelects.size()
1332 << " false-selects " << Scope->FalseBiasedSelects.size() << "\n");
1373 // Put the biased selects in Unhoistables because they should stay where they
1377 for (SelectInst *SI : RI.Selects) {
1399 for (SelectInst *SI : RI.Selects) {
1479 // Hoist the dependent condition values of the branches and the selects in the
1494 for (SelectInst *SI : RI.Selects) {
1505 // Negate the predicate if an ICmp if it's used only by branches or selects by
1506 // swapping the operands of the branches or the selects. Returns true if success.
1625 for (SelectInst *SI : RI.Selects)
1638 // Assert that all the condition values of the biased branches and selects have
1658 for (SelectInst *SI : RI.Selects) {
1747 // Hoist the conditional values of the branches/selects.
1754 // Create the combined branch condition and constant-fold the branches/selects
1847 // constant-fold the branches/selects in the hot path.
1862 for (SelectInst *SI : RI.Selects) {
1875 << " branches or selects";
2011 // branches and/or selects and create scopes.
2017 // branches/selects of the inner/lower scope can't be hoisted up to the
2019 // branches/selects in a scope (including subscopes) don't share at least
2025 // After splitting, set the biased regions and selects of a scope (a tree