Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix compilation problem on freebsd. Problem noted by Vladimir Merzliakov in | Chris Lattner | 2004-06-17 | 1 | -1/+1 |
| | | | | | | PR371 llvm-svn: 14203 | ||||
* | Use addGlobalAddress and addMBB for call & branch targets instead of addPCDisp. | Brian Gaeke | 2004-06-17 | 2 | -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 Lattner | 2004-06-17 | 40 | -129/+126 |
| | | | | llvm-svn: 14201 | ||||
* | Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID() | Chris Lattner | 2004-06-17 | 1 | -29/+5 |
| | | | | | | Delete two functions that are now methods on the Type class llvm-svn: 14200 | ||||
* | Minor cleanup | Chris Lattner | 2004-06-17 | 1 | -1/+1 |
| | | | | llvm-svn: 14199 | ||||
* | Fix typo in DEBUG printout. | Brian Gaeke | 2004-06-17 | 1 | -1/+1 |
| | | | | llvm-svn: 14196 | ||||
* | Fix a recent regression in Applications/sgefa that Alkis pointed out to me. | Chris Lattner | 2004-06-16 | 1 | -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 Gaeke | 2004-06-16 | 1 | -0/+8 |
| | | | | llvm-svn: 14194 | ||||
* | Um, did someone make a typo or something? | Brian Gaeke | 2004-06-15 | 1 | -1/+1 |
| | | | | llvm-svn: 14192 | ||||
* | isnan is dead | Chris Lattner | 2004-06-15 | 3 | -12/+1 |
| | | | | llvm-svn: 14191 | ||||
* | Remove support for llvm.isnan. Alkis wins :) | Chris Lattner | 2004-06-15 | 1 | -50/+0 |
| | | | | llvm-svn: 14189 | ||||
* | Remove isnan support, correct isunordered support | Chris Lattner | 2004-06-15 | 1 | -10/+2 |
| | | | | llvm-svn: 14187 | ||||
* | Remove support for the isnan intrinsic | Chris Lattner | 2004-06-15 | 1 | -3/+0 |
| | | | | llvm-svn: 14186 | ||||
* | Add basic support for the isunordered intrinsic. The isnan stuff still ↵ | Chris Lattner | 2004-06-15 | 1 | -0/+9 |
| | | | | | | needs to go llvm-svn: 14185 | ||||
* | Fix thinko in visitor... ShiftInsts should currently be delegated | Brian Gaeke | 2004-06-15 | 1 | -1/+2 |
| | | | | | | to visitBinaryOperator. llvm-svn: 14182 | ||||
* | Do not dereference end iterators. It's really bad for the asmwriter's health. | Chris Lattner | 2004-06-15 | 1 | -1/+4 |
| | | | | | | This possibly fixes PR370 llvm-svn: 14181 | ||||
* | I think we'll use the standard lowering passes for now. | Brian Gaeke | 2004-06-15 | 1 | -0/+25 |
| | | | | llvm-svn: 14179 | ||||
* | Fix bug generating code for void call instructions: don't call | Brian Gaeke | 2004-06-15 | 1 | -2/+2 |
| | | | | | | getReg() on void value. llvm-svn: 14178 | ||||
* | Squash a warning from the Solaris assembler by aligning the stack | Brian Gaeke | 2004-06-15 | 1 | -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. Print | Brian Gaeke | 2004-06-15 | 1 | -18/+28 |
| | | | | | | | non-register, non-immed. arguments to SETHI and OR using %hi() and %lo() respectively. llvm-svn: 14176 | ||||
* | Support constant GEP expressions. | Brian Gaeke | 2004-06-15 | 1 | -21/+52 |
| | | | | | | | Support copying long constants to register pairs. Support copying ConstantPointerNulls and ConstantPointerRefs to registers. llvm-svn: 14175 | ||||
* | Add file comment. | Misha Brukman | 2004-06-14 | 1 | -0/+1 |
| | | | | llvm-svn: 14172 | ||||
* | Quick hack to get this file compiling again on Mac OS X. The right thing to do | Brian Gaeke | 2004-06-14 | 1 | -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 after | Brian Gaeke | 2004-06-14 | 1 | -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 Evlogimenos | 2004-06-13 | 1 | -1/+4 |
| | | | | llvm-svn: 14168 | ||||
* | Make assertions more consistent with the rest of the intrinsic | Alkis Evlogimenos | 2004-06-13 | 1 | -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 Evlogimenos | 2004-06-12 | 3 | -1/+18 |
| | | | | llvm-svn: 14159 | ||||
* | Implement tracking of bytecode instruction size and the number of long | Reid Spencer | 2004-06-11 | 4 | -0/+32 |
| | | | | | | instructions generated. llvm-svn: 14154 | ||||
* | Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were ↵ | Chris Lattner | 2004-06-11 | 2 | -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 memory | Chris Lattner | 2004-06-11 | 1 | -1/+1 |
| | | | | llvm-svn: 14151 | ||||
* | Constant fold the isnan intrinsic | Chris Lattner | 2004-06-11 | 1 | -1/+10 |
| | | | | llvm-svn: 14150 | ||||
* | By far, one of the most common uses of isnan is to make 'isunordered' | Chris Lattner | 2004-06-11 | 1 | -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 checkin | Chris Lattner | 2004-06-11 | 1 | -0/+3 |
| | | | | llvm-svn: 14146 | ||||
* | No really, these are dead now | Chris Lattner | 2004-06-11 | 1 | -2/+0 |
| | | | | llvm-svn: 14145 | ||||
* | Now that compare instructions aren't lumped in with the other twoargfp ↵ | Chris Lattner | 2004-06-11 | 4 | -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 the | Chris Lattner | 2004-06-11 | 3 | -12/+13 |
| | | | | | | twoarg cases. llvm-svn: 14143 | ||||
* | Add direct support for the isnan intrinsic, implementing ↵ | Chris Lattner | 2004-06-11 | 1 | -9/+22 |
| | | | | | | | | test/Regression/CodeGen/X86/isnan.llx testcase llvm-svn: 14141 | ||||
* | Add support for the setp instructions | Chris Lattner | 2004-06-11 | 2 | -0/+3 |
| | | | | llvm-svn: 14140 | ||||
* | Split compare instruction handling OUT of handleTwoArgFP into handleCompareFP. | Chris Lattner | 2004-06-11 | 1 | -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.h | Reid Spencer | 2004-06-11 | 2 | -2/+2 |
| | | | | llvm-svn: 14137 | ||||
* | Fix lowering to work correctly | Chris Lattner | 2004-06-11 | 1 | -3/+12 |
| | | | | llvm-svn: 14134 | ||||
* | I misled Alkis: LLVM should have isnan, not isunordered. | Chris Lattner | 2004-06-11 | 3 | -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 spill | Brian Gaeke | 2004-06-11 | 1 | -0/+6 |
| | | | | | | them into the constant pool. llvm-svn: 14128 | ||||
* | Add the isunordered intrinsic. | Alkis Evlogimenos | 2004-06-11 | 3 | -0/+11 |
| | | | | llvm-svn: 14127 | ||||
* | Remove tabs. | Reid Spencer | 2004-06-10 | 2 | -4/+4 |
| | | | | llvm-svn: 14123 | ||||
* | Implement detailed function level data collection and reporting. | Reid Spencer | 2004-06-10 | 4 | -296/+208 |
| | | | | llvm-svn: 14122 | ||||
* | Adjust prototypes to new Handler interface. | Reid Spencer | 2004-06-10 | 2 | -138/+60 |
| | | | | llvm-svn: 14121 | ||||
* | Make the parser deal with functions instead of just function types. | Reid Spencer | 2004-06-10 | 4 | -76/+84 |
| | | | | llvm-svn: 14120 | ||||
* | Doxygenize a comment. | Reid Spencer | 2004-06-10 | 1 | -2/+2 |
| | | | | llvm-svn: 14115 | ||||
* | Implemented the bulk of the functionality. Cleaned up the code. | Reid Spencer | 2004-06-10 | 12 | -799/+1180 |
| | | | | llvm-svn: 14113 |