diff options
author | Chris Lattner <sabre@nondot.org> | 2001-07-06 22:00:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-07-06 22:00:42 +0000 |
commit | 6475bdfc719464667753b3862a306ee962370ce7 (patch) | |
tree | 194f699f0eaacf022278be2e92936e53508e9eb3 /docs/HistoricalNotes/2001-07-06-LoweringIRForCodeGen.txt | |
parent | c13aff657ef9e10a2faa599df153f837c4fde64b (diff) | |
download | external_llvm-6475bdfc719464667753b3862a306ee962370ce7.zip external_llvm-6475bdfc719464667753b3862a306ee962370ce7.tar.gz external_llvm-6475bdfc719464667753b3862a306ee962370ce7.tar.bz2 |
Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/HistoricalNotes/2001-07-06-LoweringIRForCodeGen.txt')
-rw-r--r-- | docs/HistoricalNotes/2001-07-06-LoweringIRForCodeGen.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/HistoricalNotes/2001-07-06-LoweringIRForCodeGen.txt b/docs/HistoricalNotes/2001-07-06-LoweringIRForCodeGen.txt new file mode 100644 index 0000000..3e10416 --- /dev/null +++ b/docs/HistoricalNotes/2001-07-06-LoweringIRForCodeGen.txt @@ -0,0 +1,31 @@ +Date: Fri, 6 Jul 2001 16:56:56 -0500 +From: Vikram S. Adve <vadve@cs.uiuc.edu> +To: Chris Lattner <lattner@cs.uiuc.edu> +Subject: lowering the IR + +BTW, I do think that we should consider lowering the IR as you said. I +didn't get time to raise it today, but it comes up with the SPARC +move-conditional instruction. I don't think we want to put that in the core +VM -- it is a little too specialized. But without a corresponding +conditional move instruction in the VM, it is pretty difficult to maintain a +close mapping between VM and machine code. Other architectures may have +other such instructions. + +What I was going to suggest was that for a particular processor, we define +additional VM instructions that match some of the unusual opcodes on the +processor but have VM semantics otherwise, i.e., all operands are in SSA +form and typed. This means that we can re-generate core VM code from the +more specialized code any time we want (so that portability is not lost). + +Typically, a static compiler like gcc would generate just the core VM, which +is relatively portable. Anyone (an offline tool, the linker, etc., or even +the static compiler itself if it chooses) can transform that into more +specialized target-specific VM code for a particular architecture. If the +linker does it, it can do it after all machine-independent optimizations. +This would be the most convenient, but not necessary. + +The main benefit of lowering will be that we will be able to retain a close +mapping between VM and machine code. + +--Vikram + |