diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-11-08 04:47:06 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-11-08 04:47:06 +0000 |
commit | be49526193c5d8856d0b3c2721dfa6a4c4010d6d (patch) | |
tree | cb28dac5901991e22ffd117debed336b9850888e /lib/Target | |
parent | ebfa232e9dd5dbfedc8a4d2f6c58c0828f329e8c (diff) | |
download | external_llvm-be49526193c5d8856d0b3c2721dfa6a4c4010d6d.zip external_llvm-be49526193c5d8856d0b3c2721dfa6a4c4010d6d.tar.gz external_llvm-be49526193c5d8856d0b3c2721dfa6a4c4010d6d.tar.bz2 |
Major overhaul of stack frame management.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1185 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/SparcV9/InstrSelection/InstrForest.cpp | 9 | ||||
-rw-r--r-- | lib/Target/SparcV9/InstrSelection/InstrSelection.cpp | 2 | ||||
-rw-r--r-- | lib/Target/SparcV9/InstrSelection/InstrSelectionSupport.cpp | 4 |
3 files changed, 12 insertions, 3 deletions
diff --git a/lib/Target/SparcV9/InstrSelection/InstrForest.cpp b/lib/Target/SparcV9/InstrSelection/InstrForest.cpp index 199ed65..d460bb7 100644 --- a/lib/Target/SparcV9/InstrSelection/InstrForest.cpp +++ b/lib/Target/SparcV9/InstrSelection/InstrForest.cpp @@ -80,6 +80,15 @@ InstructionNode::InstructionNode(Instruction* I) { opLabel = opLabel + 100; // load/getElem with index vector } + else if (opLabel == Instruction::And || + opLabel == Instruction::Or || + opLabel == Instruction::Xor || + opLabel == Instruction::Not) + { + // Distinguish bitwise operators from logical operators! + if (I->getType() != Type::BoolTy) + opLabel = opLabel + 100; // bitwise operator + } else if (opLabel == Instruction::Cast) { const Type *ITy = I->getType(); diff --git a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp index abbd2f9..fafe023 100644 --- a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp +++ b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp @@ -130,7 +130,7 @@ SelectInstructionsForMethod(Method* method, TargetMachine &target) { cout << endl << "*** Machine instructions after INSTRUCTION SELECTION" << endl; - method->getMachineCode().dump(); + MachineCodeForMethod::get(method).dump(); } return false; diff --git a/lib/Target/SparcV9/InstrSelection/InstrSelectionSupport.cpp b/lib/Target/SparcV9/InstrSelection/InstrSelectionSupport.cpp index 88fd4a4..0a6d7d3 100644 --- a/lib/Target/SparcV9/InstrSelection/InstrSelectionSupport.cpp +++ b/lib/Target/SparcV9/InstrSelection/InstrSelectionSupport.cpp @@ -337,7 +337,7 @@ FixConstantOperandsForInstr(Instruction* vmInstr, if (constantThatMustBeLoaded) { // register the value so it is emitted in the assembly - method->getMachineCode().addToConstantPool( + MachineCodeForMethod::get(method).addToConstantPool( cast<ConstPoolVal>(opValue)); } } @@ -372,7 +372,7 @@ FixConstantOperandsForInstr(Instruction* vmInstr, if (isa<ConstPoolVal>(oldVal)) { // register the value so it is emitted in the assembly - method->getMachineCode().addToConstantPool( + MachineCodeForMethod::get(method).addToConstantPool( cast<ConstPoolVal>(oldVal)); } } |