Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2657
| From | "Alexei A. Frounze" <alexfrunews@gmail.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | 8086 register allocation |
| Date | 2021-05-09 14:28 -0700 |
| Organization | Compilers Central |
| Message-ID | <21-05-005@comp.compilers> (permalink) |
For the fun of it I've implemented a greedy bottom-up local register allocator for the intel 8086 CPU, which is known for its non-uniform use of registers in ALU instructions and memory operands (https://github.com/alexfru/regal86). The motivation for it is that I haven't seen any such register allocator in e.g. the "Dragon" book and may other texts on compilers I've read or skimmed. And even today I can't quite come up with a proper web search request that would return info on such allocators. I've found one paper that very briefly talks about an allocator like this for the IBM 370. This gives a sense that this stuff is very yesterday in terms of both CPU architectures and modern compiler algorithms since many seem to delegate this particular aspect of register allocation to graph (pre)coloring and modern CPUs are more uniform in terms of register use (or there are simply more registers to use). Are there any other texts that introduce and explain such register allocators? Compiler Construction by William M. Waite and Gerhard Goos (section 10.2.2 "Targeting") is a bit too short on the matter. But people somehow have done things like this in the past. Thanks, Alex [I don't recall anything in a textbook about it. x86 register allocators were pretty ad-hoc due to all of the special cases where an operand had to be in a specific register. -John]
Back to comp.compilers | Previous | Next — Next in thread | Find similar
8086 register allocation "Alexei A. Frounze" <alexfrunews@gmail.com> - 2021-05-09 14:28 -0700
Re: 8086 register allocation Fernando <pronesto@gmail.com> - 2021-05-10 04:46 -0700
Re: 8086 register allocation gah4 <gah4@u.washington.edu> - 2021-05-10 14:49 -0700
Re: 8086 register allocation Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2021-05-11 03:35 +0200
Re: 8086 register allocation gah4 <gah4@u.washington.edu> - 2021-05-10 21:19 -0700
Re: 8086 register allocation Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2021-05-11 09:35 +0200
Re: 8086 register allocation Thomas Koenig <tkoenig@netcologne.de> - 2021-05-11 06:44 +0000
csiph-web