| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Emit an error message if the value passed to __builtin_returnaddress isn't a ↵ | Bill Wendling | 2014-01-05 | 1 | -0/+7 | |
| | | | | | | | | | | | constant __builtin_returnaddress requires that the value passed into is be a constant. However, at -O0 even a constant expression may not be converted to a constant. Emit an error message intead of crashing. llvm-svn: 198531 | |||||
| * | [SparcV9]: Implement RETURNADDR and FRAMEADDR lowering in SPARC64. | Venkatraman Govindaraju | 2014-01-04 | 1 | -39/+54 | |
| | | | | | | | Fixes PR18356. llvm-svn: 198480 | |||||
| * | [Sparc] Handle atomic loads/stores in sparc backend. | Venkatraman Govindaraju | 2014-01-01 | 1 | -3/+35 | |
| | | | | | llvm-svn: 198286 | |||||
| * | [SparcV9]: Custom lower UMULO/SMULO so that the arguments are send to ↵ | Venkatraman Govindaraju | 2014-01-01 | 1 | -0/+52 | |
| | | | | | | | __multi3() in correct order. llvm-svn: 198281 | |||||
| * | [SparcV9] For codegen generated library calls that return float, set inreg ↵ | Venkatraman Govindaraju | 2013-12-29 | 1 | -0/+6 | |
| | | | | | | | | | flag manually in LowerCall(). This makes the sparc backend to generate Sparc64 ABI compliant code. llvm-svn: 198149 | |||||
| * | [SparcV9]: Implement lowering of long double (fp128) arguments in Sparc64 ABI. | Venkatraman Govindaraju | 2013-12-29 | 1 | -8/+60 | |
| | | | | | | | Also, pass fp128 arguments to varargs through integer registers if necessary. llvm-svn: 198145 | |||||
| * | [SPARCV9]: Adjust the resultant pointer of DYNAMIC_STACKALLOC with the stack ↵ | Venkatraman Govindaraju | 2013-12-09 | 1 | -3/+5 | |
| | | | | | | | BIAS on sparcV9. llvm-svn: 196755 | |||||
| * | [Sparc]: Implement getSetCCResultType() in SparcTargetLowering so that ↵ | Venkatraman Govindaraju | 2013-12-09 | 1 | -0/+6 | |
| | | | | | | | umulo/smulo can be lowered on sparcv9 without an assertion error. llvm-svn: 196751 | |||||
| * | [SparcV9]: Expand MULHU/MULHS:i64 and UMUL_LOHI/SMUL_LOHI:i64 on sparcv9. | Venkatraman Govindaraju | 2013-12-08 | 1 | -0/+7 | |
| | | | | | | | This fixes PR18150. llvm-svn: 196735 | |||||
| * | [SparcV9] Enable custom lowering of DYNAMIC_STACKALLOC in sparc64. | Venkatraman Govindaraju | 2013-11-24 | 1 | -6/+11 | |
| | | | | | llvm-svn: 195573 | |||||
| * | Expand rotate instructions on sparcv9 as well. | Roman Divacky | 2013-11-12 | 1 | -0/+2 | |
| | | | | | llvm-svn: 194500 | |||||
| * | [SparcV9] Handle i64 <-> float conversions in sparcv9 mode. | Venkatraman Govindaraju | 2013-11-03 | 1 | -28/+136 | |
| | | | | | llvm-svn: 193957 | |||||
| * | [Sparc] Expand FP_TO_UINT, UINT_TO_FP for fp128. | Venkatraman Govindaraju | 2013-11-03 | 1 | -3/+42 | |
| | | | | | llvm-svn: 193947 | |||||
| * | [SparcV9] Add ctpop instruction for i64. Also, expand ctlz, cttz and bswap. | Venkatraman Govindaraju | 2013-11-03 | 1 | -0/+7 | |
| | | | | | llvm-svn: 193941 | |||||
| * | SparcV9 doesnt have rem instruction either. | Roman Divacky | 2013-10-31 | 1 | -0/+8 | |
| | | | | | llvm-svn: 193789 | |||||
| * | [Sparc] Disable tail call optimization for sparc64. | Venkatraman Govindaraju | 2013-10-09 | 1 | -0/+3 | |
| | | | | | | | This patch fixes PR17506. llvm-svn: 192294 | |||||
| * | [Sparc] Implement JIT for SPARC. | Venkatraman Govindaraju | 2013-10-08 | 1 | -0/+1 | |
| | | | | | | | | No new testcases. However, this patch makes all supported JIT testcases in test/ExecutionEngine pass on Sparc. llvm-svn: 192176 | |||||
| * | [Sparc] Custom lower addc/adde/subc/sube on i64 in sparc64. | Venkatraman Govindaraju | 2013-10-06 | 1 | -0/+55 | |
| | | | | | | | This is required because i64 is a legal type but addxcc/subxcc reads icc carry bit, which are 32 bit conditional codes. llvm-svn: 192054 | |||||
| * | [Sparc] Use correct alignment while loading/storing fp128 values. | Venkatraman Govindaraju | 2013-10-05 | 1 | -4/+13 | |
| | | | | | llvm-svn: 192023 | |||||
| * | [Sparc] Respect hasHardQuad parameter correctly when lowering SINT_TO_FP ↵ | Venkatraman Govindaraju | 2013-10-05 | 1 | -1/+1 | |
| | | | | | | | with fp128 operand. llvm-svn: 192015 | |||||
| * | [Sparc] Implements exception handling in SPARC with DwarfCFI. | Venkatraman Govindaraju | 2013-09-26 | 1 | -4/+2 | |
| | | | | | llvm-svn: 191432 | |||||
| * | [Sparc] Add support for TLS in sparc. | Venkatraman Govindaraju | 2013-09-22 | 1 | -2/+101 | |
| | | | | | llvm-svn: 191164 | |||||
| * | [SPARC] Make functions with GLOBAL_OFFSET_TABLE access as non-leaf functions. | Venkatraman Govindaraju | 2013-09-22 | 1 | -0/+4 | |
| | | | | | llvm-svn: 191160 | |||||
| * | [Sparc] Fix lowering FABS on fp128 (long double) on pre-v9 targets. | Venkatraman Govindaraju | 2013-09-21 | 1 | -6/+6 | |
| | | | | | llvm-svn: 191154 | |||||
| * | [Sparc] Correctly handle call to functions with ReturnsTwice attribute. | Venkatraman Govindaraju | 2013-09-05 | 1 | -4/+34 | |
| | | | | | | | | | | | | | In sparc, setjmp stores only the registers %fp, %sp, %i7 and %o7. longjmp restores the stack, and the callee-saved registers (all local/in registers: %i0-%i7, %l0-%l7) using the stored %fp and register windows. However, this does not guarantee that the longjmp will restore the registers, as they were when the setjmp was called. This is because these registers may be clobbered after returning from setjmp, but before calling longjmp. This patch prevents the registers %i0-%i5, %l0-l7 to live across the setjmp call using the register mask. llvm-svn: 190033 | |||||
| * | [Sparc] Fix an assertion failure while lowering fcmp on long double. | Venkatraman Govindaraju | 2013-09-04 | 1 | -1/+1 | |
| | | | | | | | | This assertion is triggered because an integer constant is created with wrong type. llvm-svn: 189948 | |||||
| * | [Sparc] Add support for soft long double (fp128). | Venkatraman Govindaraju | 2013-09-03 | 1 | -18/+396 | |
| | | | | | llvm-svn: 189780 | |||||
| * | [Sparc] Add long double (f128) instructions to sparc backend. | Venkatraman Govindaraju | 2013-08-25 | 1 | -0/+134 | |
| | | | | | llvm-svn: 189198 | |||||
| * | Use register masks on SPARC call instructions. | Jakob Stoklund Olesen | 2013-08-23 | 1 | -0/+13 | |
| | | | | | llvm-svn: 189085 | |||||
| * | [Sparc] Rewrite MBB's live-in registers for leaf functions. Also, add | Venkatraman Govindaraju | 2013-07-30 | 1 | -7/+9 | |
| | | | | | | | | | register i7 as a live-in if current function's return address is taken. This revision fixes PR16269. llvm-svn: 187433 | |||||
| * | Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector ↵ | Craig Topper | 2013-07-14 | 1 | -3/+3 | |
| | | | | | | | size. llvm-svn: 186274 | |||||
| * | The getRegForInlineAsmConstraint function should only accept MVT value types. | Chad Rosier | 2013-06-22 | 1 | -1/+1 | |
| | | | | | llvm-svn: 184642 | |||||
| * | [Sparc] Delete FPMover Pass and remove Fp* Pseudo-instructions from Sparc ↵ | Venkatraman Govindaraju | 2013-06-08 | 1 | -1/+39 | |
| | | | | | | | backend. llvm-svn: 183613 | |||||
| * | [Sparc]: Use cmp instruction instead of subcc to compare integers. | Venkatraman Govindaraju | 2013-06-07 | 1 | -7/+2 | |
| | | | | | llvm-svn: 183463 | |||||
| * | Sparc: No functionality change. Cleanup whitespaces, comment formatting etc., | Venkatraman Govindaraju | 2013-06-04 | 1 | -21/+22 | |
| | | | | | llvm-svn: 183243 | |||||
| * | Sparc: Add support for indirect branch and blockaddress in Sparc backend. | Venkatraman Govindaraju | 2013-06-03 | 1 | -0/+13 | |
| | | | | | llvm-svn: 183094 | |||||
| * | Sparc: Mark functions calling llvm.vastart and llvm.returnaddress intrinsics ↵ | Venkatraman Govindaraju | 2013-06-01 | 1 | -0/+6 | |
| | | | | | | | as non-leaf functions. llvm-svn: 183079 | |||||
| * | Order CALLSEQ_START and CALLSEQ_END nodes. | Andrew Trick | 2013-05-29 | 1 | -4/+6 | |
| | | | | | | | | | | | | | Fixes PR16146: gdb.base__call-ar-st.exp fails after pre-RA-sched=source fixes. Patch by Xiaoyi Guo! This also fixes an unsupported dbg.value test case. Codegen was previously incorrect but the test was passing by luck. llvm-svn: 182885 | |||||
| * | Track IR ordering of SelectionDAG nodes 2/4. | Andrew Trick | 2013-05-25 | 1 | -21/+21 | |
| | | | | | | | | Change SelectionDAG::getXXXNode() interfaces as well as call sites of these functions to pass in SDLoc instead of DebugLoc. llvm-svn: 182703 | |||||
| * | Also expand 64-bit bitcasts. | Jakob Stoklund Olesen | 2013-05-20 | 1 | -0/+2 | |
| | | | | | llvm-svn: 182229 | |||||
| * | Mark i64 SETCC as expand so it is turned into a SELECT_CC. | Jakob Stoklund Olesen | 2013-05-20 | 1 | -0/+2 | |
| | | | | | llvm-svn: 182227 | |||||
| * | Passing arguments to varags functions under the SPARC v9 ABI. | Jakob Stoklund Olesen | 2013-04-21 | 1 | -0/+47 | |
| | | | | | | | | Arguments after the fixed arguments never use the floating point registers. llvm-svn: 179987 | |||||
| * | Compile varargs functions for SPARCv9. | Jakob Stoklund Olesen | 2013-04-20 | 1 | -31/+57 | |
| | | | | | | | | | | | | | With a little help from the frontend, it looks like the standard va_* intrinsics can do the job. Also clean up an old bitcast hack in LowerVAARG that dealt with unaligned double loads. Load SDNodes can specify an alignment now. Still missing: Calling varargs functions with float arguments. llvm-svn: 179961 | |||||
| * | Remove unused MEMBARRIER DAG node; it's been replaced by ATOMIC_FENCE. | Tim Northover | 2013-04-20 | 1 | -1/+0 | |
| | | | | | llvm-svn: 179939 | |||||
| * | Use i32 for all SPARC shift amounts, even in 64-bit mode. | Jakob Stoklund Olesen | 2013-04-14 | 1 | -2/+2 | |
| | | | | | | | Test case by llvm-stress. llvm-svn: 179477 | |||||
| * | Add support for the abs64 SPARC v9 code model. | Jakob Stoklund Olesen | 2013-04-14 | 1 | -0/+9 | |
| | | | | | | | For when 16 TB just isn't enough. llvm-svn: 179474 | |||||
| * | Add support for the SPARC v9 abs44 code model. | Jakob Stoklund Olesen | 2013-04-14 | 1 | -6/+16 | |
| | | | | | | | | This is the default model for non-PIC 64-bit code. It supports text+data+bss linked anywhere in the low 16 TB of the address space. llvm-svn: 179473 | |||||
| * | Also put target flags on SPARC constant pool references. | Jakob Stoklund Olesen | 2013-04-14 | 1 | -26/+35 | |
| | | | | | | | | Constant pool entries are accessed exactly the same way as global variables. llvm-svn: 179471 | |||||
| * | Add target flags to SPARC address operands. | Jakob Stoklund Olesen | 2013-04-14 | 1 | -14/+30 | |
| | | | | | | | | | | SDNodes and MachineOperands get target flags representing the %hi() and %lo() assembly annotations that eventually become relocations. Also define flags to be used by the 64-bit code models. llvm-svn: 179468 | |||||
| * | Define SPARC code models. | Jakob Stoklund Olesen | 2013-04-13 | 1 | -3/+3 | |
| | | | | | | | | Currently, only abs32 and pic32 are implemented. Add a test case for abs32 with 64-bit code. 64-bit PIC code is currently broken. llvm-svn: 179463 | |||||

