Inspired by the answer to this question about sunbeams, I realized that there may be a way to exploit Simulacrum to do basically anything an infinite number of times.
Specifically, the course of action would be this:
Be Xanar, a 17th sorcerer. At level 17 you chose Simulacrum as your new spell known, and used your per-level replacement to replace one of your previous spells with Wish. You also know Dispel Magic, and took the Magic Initiate feat to pick up Eldritch Blast.
Cast Simulacrum on yourself, creating a simulacrum with all of your spell slots except the 7th level one. Give it a forked, metal rod worth at least 250 gp, attuned to the Abyss.
Give your simulacrum the following command: "Cast Wish to create a simulacrum of the wizard Xanar. Then immediately repeat this entire command to the new simulacrum. After doing that, take the forked rod and us it to Plane Shift to a random location within the Abyss, dropping the forked rod before you leave. Then search for the nearest demon if there is one, and cast Eldritch Blast on it. Then, cast Dispel Magic on yourself, intentionally failing the saving throw."
Your simulacrum (henceforth Simulacrum A), acting on your turn, casts Wish using it's 9th-level spell slot, creating another simulacrum of Xanar, who still has a 9th-level spell slot. This new simulacrum (henceforth simulacrum B), will thus also still have a 9th-level spell slot.
Note: We aren't using Wish to cast Simulacrum using the "replicate a spell" feature, since that would require being in range of Xanar to cast it. Instead we use the second option to wish for the simulacrum to be made no matter how far away he is. This isn't asking for much beyond the basic, and so should be a valid wish. This does incur the 33% chance to not be able to cast Wish ever again, but that's for your simulacrums and thus doesn't matter.
Simulacrum A, following your order, repeats said order to simulacrum B as a free action.
Simulacrum B, following the order of simulacrum A, and still acting on your turn, becomes the new simulacrum A and repeats steps 4-6.
At this point, since all newly created simulacrum act on the same turn, and all cast Wish on that turn, an infinite number of simulacra are created. On the next turn, those infinite simulacra continue to follow the rest of the order they were given, leading to:
The first simulacrum uses the rod to cast Plane Shift, dropping the rod just before it leaves. The next simulacrum then takes it's turn, picking up the rod (interaction), casting Plane Shift (action), and then dropping the rod as well before it leaves (free action). In this way, the rod travels along the infinite line of simulacra, allowing all of them to cast Plane Shift.
Infinite simulacra of Xanar appear at every point in the Abyss, and cast an infinite number of Eldritch Blasts upon every demon there.
Every demon takes an infinite amount of force damage, and dies.
Every simulacra casts Dispel Magic on itself, and ceases to exist.
The important thing here is the difference between "arbitrarily large" and "infinite". Most supposedly "infinite" tricks in DnD are really just arbitrarily large, which means that they can be repeated any number of times, perhaps even over a very short period of time, but ultimately they need to stop at some point. That number can be as big as you want, but it can't be infinity.
This is important since the Abyss is both infinitely large and contains an infinite number of demons. Any spell which can simply kill an arbitrarily large number of demons would be insufficient, since no matter how many you kill, there would always be an infinite amount left.
Since this trick is recursive, however, and happens on one turn, it actually is infinite, and can therefore be used to kill all infinity demons. Since Eldritch Blast always hits on a 20, and no demon (that I could find) is immune to force damage, and there are potentially infinite Xanars ready to cast it on them, it doesn't matter how hard any given demon is to hit or how many hit points they have or whatever.
Note that this all does assume that a wished-for simulacrum can take an action immediately, on the same turn that it was created. Otherwise, it would take an infinite amount of time to create the infinite simulacra, which would defeat the whole purpose. For the purposes of this discussion, we will assume that this holds true, though a DM could obviously rule otherwise.
Aside from that issue, do you guys see any flaws in this plan? Any improvements that could be made?
Not necessarily, because math, and not at all in Adventurers League
The key problem is:
Each of which is designed to deal with essential parts of this otherwise-legal plan.
tl;dr: ℵ1 is greater than ℵ0
You can't, because that's a Wizard-only spell. However, you might be able to do that with a permissive DM or with an appropriate homebrew sorcerous origin. You can also just cast it directly via wish, which you can cast multiple times if you have the right Epic Boon(s).
You almost certainly can't do this. There's no time between casting and the effects happening. You could use Contingency for this (there are ways to have more spell slots around), except Plane Shift is too high of a level. Instead, you need to be friends with, or True Polymorph into, a Metallic Dragon variant spellcaster that knows Plane Shift (for reasons. You can also coerce one into service with Gate+Dominate Monster or whatever), and have your simulacra using twinned wish duplicating simulacrum. Despite the fact that this makes no sense (Wish-duplicated spells shouldn't be twinnable since you aren't casting them), it is legal via Sage Advice Compendium errata stuff:
And so by spending 7 sorcery points your simulacra can duplicate both you and the dragon (or a simulacrum of her), or you and a simulacrum of you.
Assuming you take one extra day or use up your 8th level slot or have a relevant magic item or class feature to cast Simulacrum again without using up your 9th level slot, that also solves the need to be using the cheat-y wish instead of the normal one: since the first casting gets you two simulacra and they each still have wish ready, the first one can copy you and the second one, and the second one can copy two of those copies, and so on. One out of every 9 copies needs to be a dragon.
You could have done this with Gynosphinxes instead, but you can't simulacrum those because they can't turn into a beast or humanoid while retaining the ability to turn back like Metallic Dragons can. Since draconic spellcasting has no components, the dragon simulacra can warp parties of 8 Xanar simulacra to the Abyss without the need for rods.
Sidenote — you have infinitely many Xanar in the Material Plane for a bit here, which might be uncomfortable but doesn't have any mechanical penalties and can be dealt with by having the dragons warp sooner if it is a problem for some reason. Next problem:
No, Infinite simulacra of Xanar appear at infinitely many points in the Abyss, and cast their infinite Eldritch Blasts upon infinitely many demons there. Your infinity and the Abyss are not guaranteed to be equal in size. In my games, for example, the Abyss is infinitely larger: you have only ℵ0 simulacra while the Abyss has ℵ0 layers with ℵ1 squares on each layer.
Other people run the Abyss as only having ℵ0 or some smaller number of points or spaces on each layer. In that case, this might be a larger number than the number of demons. Even so, there's no guarantee that your ℵ0 is the same size as their ℵ0. It might be bigger, smaller, or something else entirely — the game does not in any way define the superstructure of the Abyss. Comparing infinities is not easy, that's why ∞ - ∞ is undefined, not 0.
To solve this problem for sure, you would need a system to generate an uncountable number of simulacra. That is, you would need the demons to not be able to apply Cantor Diagonalization to your onslaught and, in so doing, show that at least one demon wasn't attacked. I am not sure if this can be done or how you would do it.
Even if you did it, your sets would each be ℵ1 large, and you'd still have an ∞ - ∞ situation for your DM to define the result of. To get around that, you'd need to incorporate the source of the demons into your simulacrum creation, so that the number of simulacra can be shown to be greater than the number of demons at infinity and the result of the subtraction can be medium-well-defined.
You also need a mapping function to get your simulacra to not all be bunched onto the same points, but that's a smaller problem likely solved by assuming a 1-to-1 correspondence between Material Plane spaces and Abyss spaces, somewhat supported by the explanation of how planes work in the DMG.
Even then you are gonna miss infinitely many demons, though because of the next problem:
Not necessarily. Demons in antimagic fields won't, and, in fact, no, Xanars can't warp into such spaces! So that's infinitely many demons this won't kill.
Also, you're rolling initiative and even with infinitely many rolls you won't beat any creature who rolls higher than it is possible for you to roll or who has special abilities allowing it to go first. Any creature who goes before you might take actions to elude your army, for example by casting antimagic field or plane shift or wall of force or meld into stone or doing anything else that negates infinitely many eldritch blasts. And any creature who doesn't go before you still might escape with reactions unless they are surprised (which, admittedly, seems likely, but is still not guaranteed). And those who don't, might, like with antimagic field residents, be immune anyway for some other reason.
That said, this will still kill infinitely many demons, so it may well still be worth a try. Just watch out for the infinitely many survivors who immediately plane shift in on your position and give you a bad day.