summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* .zero doesn't work in the Solaris assembler.Brian Gaeke2004-06-181-5/+2
| | | | llvm-svn: 14231
* Get rid of selects the easy wayBrian Gaeke2004-06-181-0/+6
| | | | llvm-svn: 14230
* Make visitAllocaInst() look more like its X86 counterpart.Brian Gaeke2004-06-181-3/+11
| | | | llvm-svn: 14229
* Mess around with allocation order. In particular, I think we ought to beBrian Gaeke2004-06-181-3/+3
| | | | | | using the local & in regs first because they are not clobbered by calls. llvm-svn: 14228
* JMPL has a delay slot.Brian Gaeke2004-06-181-0/+1
| | | | llvm-svn: 14227
* Clean up the commented-out F3_3 stuff.Brian Gaeke2004-06-181-5/+4
| | | | | | Replace it with a working class for FP instrs. llvm-svn: 14226
* Fix jmpl.Brian Gaeke2004-06-181-3/+7
| | | | | | Add some FP moves. llvm-svn: 14225
* Support printing base+offset pairs where the offset is a register.Brian Gaeke2004-06-181-10/+25
| | | | | | Use this for printing the jmpl indirect-call instruction. llvm-svn: 14224
* Support intrinsic calls (although no particular intrinsics are supported yet).Brian Gaeke2004-06-181-4/+22
| | | | | | | Support indirect calls. Support returning a float value. llvm-svn: 14223
* Implement Transforms/InstCombine/and.ll:test17, a common case thatChris Lattner2004-06-181-3/+15
| | | | | | occurs due to unordered comparison macros in math.h llvm-svn: 14221
* Do not function resolve intrinsics. This prevents warnings and possible badChris Lattner2004-06-181-1/+2
| | | | | | | | | things from happening due to declare bool %llvm.isunordered(double, double) declare bool %llvm.isunordered(float, float) llvm-svn: 14219
* Add load instructions for floating-point registers.Brian Gaeke2004-06-181-0/+5
| | | | llvm-svn: 14217
* Support alloca instructions.Brian Gaeke2004-06-181-0/+32
| | | | | | | Support copying floating-point constants to registers. Add assertion to visitCallInst to abort if we hit a NULL calledFunction, for now. llvm-svn: 14216
* Fix printing of Argument objects, problem found by Patrick MeredithChris Lattner2004-06-181-1/+1
| | | | llvm-svn: 14215
* Codegen sub C, X a little bit better for register pressure. Instead ofChris Lattner2004-06-181-12/+27
| | | | | | | | | | | | | | mov REG, C sub REG, X generate: neg X add X, C which uses one less reg llvm-svn: 14213
* Fold setcc instructions into select and branches that are not in the same BB asChris Lattner2004-06-181-4/+2
| | | | | | the setcc. llvm-svn: 14212
* Make storeRegToStackSlot slightly shorter.Brian Gaeke2004-06-171-7/+7
| | | | | | | Make copyRegToReg return 1 instead of -1. Edit a comment in emitPrologue(). llvm-svn: 14211
* Set the isBranch and isTerminator flags on branch instructions correctly.Brian Gaeke2004-06-171-12/+19
| | | | | | Add a FIXME about the (currently unused) JMPL instructions. llvm-svn: 14210
* Emit stores correctly; don't fail an assertion.Brian Gaeke2004-06-171-3/+3
| | | | llvm-svn: 14209
* Support generating machine instructions for Phi nodes (based on x86, but withBrian Gaeke2004-06-171-52/+178
| | | | | | | | | | | modifications for 1 LLVM BB --> many MBBs). Fix store operand order: make it always be Base, Offset, SrcReg (think "[ Base + Offset ] = SrcReg"). Rewrite visitBranchInst() to be even dumber (but working) -- give up on the branch fallthrough trick, for the time being. Make visitSetCondInst() work. llvm-svn: 14208
* Recognize more branches.Brian Gaeke2004-06-171-0/+11
| | | | llvm-svn: 14207
* I love the smell of a freshly broken PowerPC build in the morning.Brian Gaeke2004-06-171-0/+1
| | | | llvm-svn: 14206
* Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable.Brian Gaeke2004-06-172-5/+6
| | | | llvm-svn: 14205
* Do not fold loads into instructions if it is used more than once. In particularChris Lattner2004-06-171-1/+2
| | | | | | | | | | we do not want to fold the load in cases like this: X = load = add A, X = add B, X llvm-svn: 14204
* Fix compilation problem on freebsd. Problem noted by Vladimir Merzliakov inChris Lattner2004-06-171-1/+1
| | | | | | PR371 llvm-svn: 14203
* Use addGlobalAddress and addMBB for call & branch targets instead of addPCDisp.Brian Gaeke2004-06-172-19/+18
| | | | | | | Abort if we see a PCRelativeDisp MachineOperand, to be safe. This matches the X86 backend. llvm-svn: 14202
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-1740-129/+126
| | | | llvm-svn: 14201
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-29/+5
| | | | | | Delete two functions that are now methods on the Type class llvm-svn: 14200
* Minor cleanupChris Lattner2004-06-171-1/+1
| | | | llvm-svn: 14199
* Fix typo in DEBUG printout.Brian Gaeke2004-06-171-1/+1
| | | | llvm-svn: 14196
* Fix a recent regression in Applications/sgefa that Alkis pointed out to me.Chris Lattner2004-06-161-2/+2
| | | | | | | | The vector may actually be empty if the register that we are marking as recently used is not actually allocatable. This happens for physical registers that are not allocatable, like the ST(x) registers on X86. llvm-svn: 14195
* Add int ferror(FILE *)Brian Gaeke2004-06-161-0/+8
| | | | llvm-svn: 14194
* Um, did someone make a typo or something?Brian Gaeke2004-06-151-1/+1
| | | | llvm-svn: 14192
* isnan is deadChris Lattner2004-06-153-12/+1
| | | | llvm-svn: 14191
* Remove support for llvm.isnan. Alkis wins :)Chris Lattner2004-06-151-50/+0
| | | | llvm-svn: 14189
* Remove isnan support, correct isunordered supportChris Lattner2004-06-151-10/+2
| | | | llvm-svn: 14187
* Remove support for the isnan intrinsicChris Lattner2004-06-151-3/+0
| | | | llvm-svn: 14186
* Add basic support for the isunordered intrinsic. The isnan stuff still ↵Chris Lattner2004-06-151-0/+9
| | | | | | needs to go llvm-svn: 14185
* Fix thinko in visitor... ShiftInsts should currently be delegatedBrian Gaeke2004-06-151-1/+2
| | | | | | to visitBinaryOperator. llvm-svn: 14182
* Do not dereference end iterators. It's really bad for the asmwriter's health.Chris Lattner2004-06-151-1/+4
| | | | | | This possibly fixes PR370 llvm-svn: 14181
* I think we'll use the standard lowering passes for now.Brian Gaeke2004-06-151-0/+25
| | | | llvm-svn: 14179
* Fix bug generating code for void call instructions: don't callBrian Gaeke2004-06-151-2/+2
| | | | | | getReg() on void value. llvm-svn: 14178
* Squash a warning from the Solaris assembler by aligning the stackBrian Gaeke2004-06-151-1/+2
| | | | | | on a double-word boundary instead of a single-word boundary. llvm-svn: 14177
* Allow special-casing of operand printing based on opcode. PrintBrian Gaeke2004-06-151-18/+28
| | | | | | | non-register, non-immed. arguments to SETHI and OR using %hi() and %lo() respectively. llvm-svn: 14176
* Support constant GEP expressions.Brian Gaeke2004-06-151-21/+52
| | | | | | | Support copying long constants to register pairs. Support copying ConstantPointerNulls and ConstantPointerRefs to registers. llvm-svn: 14175
* Add file comment.Misha Brukman2004-06-141-0/+1
| | | | llvm-svn: 14172
* Quick hack to get this file compiling again on Mac OS X. The right thing to doBrian Gaeke2004-06-141-0/+8
| | | | | | | | is write an autoconf macro that checks whether __isnan or isnan actually works **using the C++ compiler after #include <cmath>**, instead of doing it the easy way with AC_CHECK_FUNCS(). llvm-svn: 14171
* Make -print-machineinstrs even stronger. You get to see the final code afterBrian Gaeke2004-06-141-0/+11
| | | | | | peepholing, and make it work the same way in the JIT as in LLC. llvm-svn: 14170
* Add constant folding capabilities to the isunordered intrinsic.Alkis Evlogimenos2004-06-131-1/+4
| | | | llvm-svn: 14168
* Make assertions more consistent with the rest of the intrinsicAlkis Evlogimenos2004-06-131-8/+12
| | | | | | | function verification and make it a requirement that both arguments to llvm.isunordered are of the same type. llvm-svn: 14165
OpenPOWER on IntegriCloud