summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add the isunordered intrinsic.Alkis Evlogimenos2004-06-123-1/+18
| | | | llvm-svn: 14159
* Implement tracking of bytecode instruction size and the number of longReid Spencer2004-06-114-0/+32
| | | | | | instructions generated. llvm-svn: 14154
* Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were ↵Chris Lattner2004-06-112-3/+3
| | | | | | | | | being printed incorrectly, and we were reserving 8 extra bytes of stack space for functions on X86. llvm-svn: 14152
* llvm.isnan doesn't access memoryChris Lattner2004-06-111-1/+1
| | | | llvm-svn: 14151
* Constant fold the isnan intrinsicChris Lattner2004-06-111-1/+10
| | | | llvm-svn: 14150
* By far, one of the most common uses of isnan is to make 'isunordered'Chris Lattner2004-06-111-14/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | comparisons. In an 'isunordered' predicate, which looks like this at the LLVM level: %a = call bool %llvm.isnan(double %X) %b = call bool %llvm.isnan(double %Y) %COM = or bool %a, %b We used to generate this code: fxch %ST(1) fucomip %ST(0), %ST(0) setp %AL fucomip %ST(0), %ST(0) setp %AH or %AL, %AH With this patch, we generate this code: fucomip %ST(0), %ST(1) fstp %ST(0) setp %AL Which should make alkis happy. Tested as X86/compare_folding.llx:test1 llvm-svn: 14148
* Fix bug in previous checkinChris Lattner2004-06-111-0/+3
| | | | llvm-svn: 14146
* No really, these are dead nowChris Lattner2004-06-111-2/+0
| | | | llvm-svn: 14145
* Now that compare instructions aren't lumped in with the other twoargfp ↵Chris Lattner2004-06-114-15/+9
| | | | | | | | | instructions, we can get rid of the FpUCOM/FpUCOMi pseudo instructions, which makes stuff simpler and faster. llvm-svn: 14144
* Introduce a new FP instruction type to separate the compare cases from theChris Lattner2004-06-113-12/+13
| | | | | | twoarg cases. llvm-svn: 14143
* Add direct support for the isnan intrinsic, implementing ↵Chris Lattner2004-06-111-9/+22
| | | | | | | | test/Regression/CodeGen/X86/isnan.llx testcase llvm-svn: 14141
* Add support for the setp instructionsChris Lattner2004-06-112-0/+3
| | | | llvm-svn: 14140
* Split compare instruction handling OUT of handleTwoArgFP into handleCompareFP.Chris Lattner2004-06-111-43/+49
| | | | | | | | | | | | This makes the code much simpler, and the two cases really do belong apart. Once we do it, it's pretty obvious how flawed the logic was for A != A case, so I fixed it (fixing PR369). This also uses freeStackSlotAfter instead of inserting an fxchg then popStackAfter'ing in the case where there is a dead result (unlikely, but possible), producing better code. llvm-svn: 14139
* Revert an unneeded interface change to Instruction.hReid Spencer2004-06-112-2/+2
| | | | llvm-svn: 14137
* Fix lowering to work correctlyChris Lattner2004-06-111-3/+12
| | | | llvm-svn: 14134
* I misled Alkis: LLVM should have isnan, not isunordered.Chris Lattner2004-06-113-6/+14
| | | | | | | | isunordered(X, Y) === isnan(X) | isnan(Y) Remove isunordered, add isnan. llvm-svn: 14132
* Turn loads of ConstantPointerNulls into loads of zero... don't spillBrian Gaeke2004-06-111-0/+6
| | | | | | them into the constant pool. llvm-svn: 14128
* Add the isunordered intrinsic.Alkis Evlogimenos2004-06-113-0/+11
| | | | llvm-svn: 14127
* Remove tabs.Reid Spencer2004-06-102-4/+4
| | | | llvm-svn: 14123
* Implement detailed function level data collection and reporting.Reid Spencer2004-06-104-296/+208
| | | | llvm-svn: 14122
* Adjust prototypes to new Handler interface.Reid Spencer2004-06-102-138/+60
| | | | llvm-svn: 14121
* Make the parser deal with functions instead of just function types.Reid Spencer2004-06-104-76/+84
| | | | llvm-svn: 14120
* Doxygenize a comment.Reid Spencer2004-06-101-2/+2
| | | | llvm-svn: 14115
* Implemented the bulk of the functionality. Cleaned up the code.Reid Spencer2004-06-1012-799/+1180
| | | | llvm-svn: 14113
OpenPOWER on IntegriCloud