- Aug 06, 2003
-
-
Misha Brukman authored
* Doxygen-ified comments * Added capability to make far calls (i.e., beyond 30 bits in CALL instr) which implies that we need to delete function references that were added by the call to addFunctionReference() because the actual call instruction is 10 instructions away (thanks to 64-bit address construction) * Cleaned up code that generates far jumps by using an array+loop SparcV9CodeEmitter.h: * Explained more of the side-effects of emitFarCall() llvm-svn: 7639
-
- Jul 29, 2003
-
-
Misha Brukman authored
llvm-svn: 7399
-
- Jul 27, 2003
-
-
Chris Lattner authored
llvm-svn: 7343
-
- Jul 16, 2003
-
-
Misha Brukman authored
now works in instructions which require a 2-bit or 3-bit INTcc code. Incidentally, that means that the representation of INTcc registers is now the same in both integer and FP instructions. Thus, code became much simpler and cleaner. llvm-svn: 7185
-
- Jul 15, 2003
-
-
Misha Brukman authored
allow, i.e. make a sequence of instructions to enable an indirect call using jump-and-link and 2 temporary registers (which we save and ultimately restore). Warning: if the delay slot of a function call is used to do meaningful work and not just a NOP, this behavior is incorrect. However, the Sparc backend does not yet utilize the delay slots effectively, so it is not necessary to make an overly complicated algorithm for something that's not used. llvm-svn: 7178
-
Misha Brukman authored
* FP double registers are now coded correctly * Removed function which converted registers based on register types, it was broken (because regTypes are broken) llvm-svn: 7175
-
- Jul 03, 2003
-
-
Misha Brukman authored
correct: empirically, "regType" is wrong for a number of registers. Thus, one can only rely on the "regClass" to figure out what kind of register one is dealing with. This change switches to using only "regClass" and adds a few extra DEBUG() print statements and a few clean-ups in comments and code, mostly minor. llvm-svn: 7103
-
- Jun 05, 2003
-
-
Misha Brukman authored
llvm-svn: 6633
-
- Jun 04, 2003
-
-
Misha Brukman authored
in Emitter.cpp, just convert the Sparc version of the constant pool into what's already supported and inter-operate. * Implemented a first pass at lazy function resolution in the JITResolver. That required adding a SparcV9CodeEmitter pointer to simplify generating bit-patterns of the instructions. * SparcV9CodeEmitter now creates and destroys static TheJITResolver, which makes sense because the SparcV9CodeEmitter is the only user of TheJITResolver, and lives for the entire duration of the JIT (via PassManager which lives in VM). * Changed all return values in the JITResolver to uint64_t because of the 64-bit Sparc architecture. * Added a new version of getting the value of a GlobalValue in the SparcV9CodeEmitter, which now works for already-generated functions (JITted or library functions). * Removed little-used and unused functions, cleaning up the internal view of the SparcV9CodeEmitter. llvm-svn: 6612
-
- Jun 02, 2003
-
-
Misha Brukman authored
from lib/Target/X86/X86CodeEmitter.cpp . llvm-svn: 6530
-
- May 30, 2003
-
-
Misha Brukman authored
* ability to save BasicBlock references to be resolved later * register remappings from the enum values to the real hardware numbers llvm-svn: 6449
-
- May 28, 2003
-
-
Misha Brukman authored
llvm-svn: 6381
-
Misha Brukman authored
MachineInstr can later be patched up correctly. llvm-svn: 6378
-
- May 27, 2003
-
-
Misha Brukman authored
MachineCodeEmitter to make a pass-through debugger -- output to memory and to std::cerr. llvm-svn: 6363
-