OSDN Git Service

DAG->DAG instruction selection for ia64! "hello world" works, not much else.
authorDuraid Madina <duraid@octopus.com.au>
Fri, 28 Oct 2005 17:46:35 +0000 (17:46 +0000)
committerDuraid Madina <duraid@octopus.com.au>
Fri, 28 Oct 2005 17:46:35 +0000 (17:46 +0000)
commitf2db9b88dad3fe129b664471f9f79f4038956c4f
tree2a7c6f72282f2a9ecbea51c3200741d338c08431
parente50caac6b076426b7233f40174d5ebbc3efa4d8c
DAG->DAG instruction selection for ia64! "hello world" works, not much else.
use -enable-ia64-dag-isel to turn this on

TODO: delete lowering stuff from the pattern isel
    : get operations on predicate bits working
    : get other bits of pseudocode going
    : use sampo's mulh/mull-using divide-by-constant magic
    : *so* many patterns ("extr", "tbit" and "dep" will be fun :)
    : add FP
    : add a JIT!
    : get it working 100%

in short: this'll be happier in a couple of weeks, but it's here now so
the tester can make me feel guilty sooner.

OTHER: there are a couple of fixes to the pattern isel, in particular
making the linker happy with big blobs of fun like pypy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24058 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/IA64/IA64.h
lib/Target/IA64/IA64AsmPrinter.cpp
lib/Target/IA64/IA64ISelDAGToDAG.cpp [new file with mode: 0644]
lib/Target/IA64/IA64ISelLowering.cpp [new file with mode: 0644]
lib/Target/IA64/IA64ISelLowering.h [new file with mode: 0644]
lib/Target/IA64/IA64ISelPattern.cpp
lib/Target/IA64/IA64InstrFormats.td
lib/Target/IA64/IA64InstrInfo.td
lib/Target/IA64/IA64RegisterInfo.td
lib/Target/IA64/IA64TargetMachine.cpp
lib/Target/IA64/Makefile