aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2003-06-05Do not preset the cc register, the instructions actually use it.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6637 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05* Stop ignoring cc registers, since we actually use them in branches.Misha Brukman
* Added comment as to why we are still ignoring predict and annul bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6636 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Minor tuning -- avoid a non-inlinable function call on every operand.Vikram S. Adve
Also, reorder a couple of functions for inlining. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6635 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Fix (bogus) possibly uninitialized warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6634 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Added lazy function resolution to the JIT.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6633 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05* The textual output of (non-)predicted FP branches is the same.Misha Brukman
* Stop mapping FBcc instructions to deprecated opcodes, map to FBPcc instead. * Fixed opf in FCMPxy instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Remove duplicate passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Fix bug: InstCombine/2003-06-05-BranchInvertInfLoop.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6630 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Test seteq AND setneChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6628 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Implement generation of cmp R, C to not use an extra registerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6627 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Special case simple binary operator X op CChris Lattner
This avoid generating a register to hold C, which in turn speeds up the register allocator by a lot: ~9% on 164.gzip and ~17% on 256.bzip2. This also speeds up other passes. This also speeds up execution of the program marginally, and makes the asm much easier to read. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6626 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Add instructions for (add|sub|and|or|xor)ri(8|16|32)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Fix bug: Jello/2003-06-04-bzip2-bug.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6624 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05New testcase, the JIT currently handles this right, I just don't want toChris Lattner
reintroduce a bug that didn't have a testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6623 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Fixed a bug so initialization code is always inserted in mainAnand Shukla
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05New testcase for PHI handlingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6621 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Use a constant expr GEP instead of an actual instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6620 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05All store instructions really want 'rd' in the first field.Misha Brukman
Special cases: STFSRx and STXFSRx - they operate on predefined rd=0 or rd=1, and expect %fsr as the parameter in assembly. They are disabled (since not used) until an encoding, both for code generation and output, is chosen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05Added missing 'rs1' field to F3_rdrs1imm13, 'rd' to F3_rdrs1rs2.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04lib/CodeGen/Mapping/MappingInfo.cpp:Brian Gaeke
Update file comment to contain a bunch of the overview mapping-info documentation previously buried within the file. Remove some unnecessary include/using stmts. Rename pass to MappingInfoCollector. Rewrite a lot of it so it doesn't use global instance variables and so it outputs into MappingInfo objects and then dumps those out, instead of going straight to an assembly file. Change name of factory to getMappingInfoCollector. Fold prologue & epilogue writers into MappingInfo methods. lib/Target/Sparc/FInfo.cpp: Correct file comment to reflect above change lib/Target/Sparc/Sparc.cpp: Change name of factory to getMappingInfoCollector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6617 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Add file comment. Include <vector> and <string>. Update include guardsBrian Gaeke
to reflect file's current location. Add definition of class MappingInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6616 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Revert brians patch to get mapping info working againChris Lattner
sorry dude git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6615 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Had to comment out a line in outByte() to get it to compile because Out and ↵Tanya Lattner
tmp were undeclared. I was not sure what Brian wanted, so I will let him fix this. But now it compiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6614 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Make this work with counter > 127Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6613 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04* Instead of re-inventing the MachineConstantPool emitter that's already givenMisha Brukman
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6612 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Add prerelease license to cvsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6611 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04* Institute a hack for the Sparc call to mmap() to get our generated code to beMisha Brukman
laid out closer to the VM so that calls to library functions (e.g. puts()) and callback (e.g. JITResolver::CompilationCallback) fit into 30 bits of the call instruction. * Abort if architecture is not yet supported (not X86 or Sparc) because it likely requires a different set of parameters to mmap() . * Stop using hard-coded values for page size; use sysconf(_SC_PAGESIZE) instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6610 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Make writeNumber() void. Get ready to decouple it from .byte directive output.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Modify tracing rules to use opt -trace[m] instead of llc -trace[m].Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6607 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Made changes suggested by ChrisSumant Kowshik
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6606 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Made changes suggested by Chris; Renamed 'union' function to unionSetsWithSumant Kowshik
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Clean up previous code.Chris Lattner
Add new combination to turn seteq X, 0 -> not(cast X to bool) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6604 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Add new setCondition memberChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6603 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04I have finally seen the light. The code to change the opcode must live higher inMisha Brukman
the loop, and in both cases. In the first case, it is a VReg that is a constant so it may be actually converted to a constant. In the second case, it is already a constant, but then if it doesn't change its type (e.g. to become a register and have the value loaded from memory if it is too large to live in its instruction field), we must change the opcode BEFORE the 'continue', otherwise we miss the opportunity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6602 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Added the 4.7 instruction class and all the FMOVcc instructions in them.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6601 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Modernize testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6600 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Implement combination of boolean not with branchChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6599 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Add new test for inverting branchesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6598 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Comment out opcodes currently unused in the Sparc backend.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6597 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04No really, you _cannot use_ getelementptr on an unsized type: that makesChris Lattner
no sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6595 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Added instruction format class 3.15 and floating-point compare instructions.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6594 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Undo one of those last fixes -- it was incorrect.Vikram S. Adve
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6593 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Sparc's dlsym() requires the special operand RTLD_SELF to find a symbol in theMisha Brukman
currently-running process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6592 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04Avoid generating a getelementptr instruction of a functionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6591 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03Pass through the emitConstantPool() call to the real emitter.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6590 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03Make the write*map methods more self-contained. Document some more.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6589 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03Improved how tracing can be used:Vikram S. Adve
-- added new targets %.trace-out-llc and %.trace-out-cbe -- either TRACE=yes or TRACEM=yes is still needed and chooses how to trace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6585 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03Minor cleanups:Chris Lattner
* Document the MOTy namespace correctly for doxygen * Eliminate usage of the MachineOpCode typedef, which should eventually be eliminated entirely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6584 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03Remove usage of typedefChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6583 91177308-0d34-0410-b5e6-96231b3b80d8