Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Restrict LDA to GEPs with the same pointer offset. | Andreas Bolka | 2009-08-05 | 1 | -11/+27 |
| | | | | | | | We can not simply apply ZIV testing to the pointer offsets, as this would incorrectly return independence for e.g. (GEP x,0,i; GEP x,1,-i). llvm-svn: 78155 | ||||
* | add a temporary hook to allow reuse of the asmprinter from the disassembler. | Chris Lattner | 2009-08-05 | 1 | -0/+3 |
| | | | | llvm-svn: 78154 | ||||
* | Fix LDA testcases. | Andreas Bolka | 2009-08-05 | 1 | -4/+4 |
| | | | | llvm-svn: 78153 | ||||
* | Fixup C++ style comments are not allowed in ISO C90 to classic C style. | Edward O'Callaghan | 2009-08-05 | 33 | -646/+720 |
| | | | | llvm-svn: 78152 | ||||
* | Turn some insert_subreg, extract_subreg, subreg_to_reg into implicit_defs. | Evan Cheng | 2009-08-05 | 3 | -8/+28 |
| | | | | llvm-svn: 78151 | ||||
* | Add test case. | Zhongxing Xu | 2009-08-05 | 1 | -0/+12 |
| | | | | llvm-svn: 78150 | ||||
* | If the UnaryOperator has non-location type, use its type to create the | Zhongxing Xu | 2009-08-05 | 3 | -2/+19 |
| | | | | | | | | | constant value. If the UnaryOperator has location type, create the constant with int type and pointer width. This fixes the bug that all pointer increments 'p++' evaluated to Unknown. llvm-svn: 78147 | ||||
* | Oops. I didn't mean to commit this piece yet. | Bob Wilson | 2009-08-05 | 1 | -2/+0 |
| | | | | llvm-svn: 78146 | ||||
* | One more. Transfer kill of the larger register when lowering an EXTRACT_SUBREG. | Evan Cheng | 2009-08-05 | 2 | -4/+60 |
| | | | | llvm-svn: 78145 | ||||
* | One more place where subreg lowering forgot to transfer undefness. | Evan Cheng | 2009-08-05 | 2 | -3/+48 |
| | | | | llvm-svn: 78144 | ||||
* | Start porting compiler-rt testsuit to Solaris with new build system. Fix ↵ | Edward O'Callaghan | 2009-08-05 | 11 | -161/+209 |
| | | | | | | some C++ style comments which are not allowed in ISO C90. llvm-svn: 78143 | ||||
* | Major calling convention code refactoring. | Dan Gohman | 2009-08-05 | 47 | -2195/+2078 |
| | | | | | | | | | | | | | | | | | | | Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. llvm-svn: 78142 | ||||
* | If the insert_subreg source is <undef>, insert an implicit_def instead of a ↵ | Evan Cheng | 2009-08-05 | 2 | -2/+42 |
| | | | | | | copy. llvm-svn: 78141 | ||||
* | Remove an unused header. | Mike Stump | 2009-08-05 | 1 | -1/+0 |
| | | | | llvm-svn: 78140 | ||||
* | Various comment fixes. | Dan Gohman | 2009-08-05 | 1 | -3/+8 |
| | | | | llvm-svn: 78139 | ||||
* | Remove an unnecessary flush in the CppBackend's output. | Dan Gohman | 2009-08-05 | 1 | -1/+0 |
| | | | | llvm-svn: 78138 | ||||
* | Don't flush the raw_ostream between each MachineFunction. These flush | Dan Gohman | 2009-08-05 | 6 | -12/+0 |
| | | | | | | | | | | | calls were originally put in place because errs() at one time was not unbuffered, and these print routines are commonly used with errs() for debugging. However, errs() is now properly unbuffered, so the flush calls are no longer needed. This significantly reduces the number of write(2) calls for regular asm printing when there are many small functions. llvm-svn: 78137 | ||||
* | Change DAG nodes for Neon VLD2/3/4 operations to return multiple results. | Bob Wilson | 2009-08-05 | 4 | -31/+108 |
| | | | | | | | | | Get rid of yesterday's code to fix the register usage during isel. Select the new DAG nodes to machine instructions. The new pre-alloc pass to choose adjacent registers for these results is not done, so the results of this will generally not assemble yet. llvm-svn: 78136 | ||||
* | cerr isn't buffered so it doesn't need to be flushed. | Dan Gohman | 2009-08-05 | 1 | -3/+3 |
| | | | | llvm-svn: 78135 | ||||
* | lli doesn't need <iostream> anymore. | Dan Gohman | 2009-08-05 | 1 | -1/+0 |
| | | | | llvm-svn: 78133 | ||||
* | Support for use of default argument in constructors. | Fariborz Jahanian | 2009-08-05 | 3 | -3/+34 |
| | | | | | | work in progress. llvm-svn: 78132 | ||||
* | Remove needless uses of std::flush in the parent process after a | Dan Gohman | 2009-08-05 | 1 | -7/+0 |
| | | | | | | | fork call. This eliminates a need for <iostream>. Also remove needless fsync calls. llvm-svn: 78131 | ||||
* | Privatize the PointerType factory. | Owen Anderson | 2009-08-05 | 2 | -6/+9 |
| | | | | llvm-svn: 78130 | ||||
* | 1) Proper emit displacements for x86, using absolute relocations where necessary | Bruno Cardoso Lopes | 2009-08-05 | 6 | -31/+77 |
| | | | | | | | | | | for ELF to work. 2) RIP addressing: Use SIB bytes for absolute relocations where RegBase=0, IndexReg=0. 3) The JIT can get the real address of cstpools and jmptables during code emission, fix that for object code emission llvm-svn: 78129 | ||||
* | Use _exit rather than exit in the child process after a failed exec. | Dan Gohman | 2009-08-05 | 1 | -3/+7 |
| | | | | | | Add a comment explaining why. llvm-svn: 78128 | ||||
* | Make ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's old | Jeffrey Yasskin | 2009-08-04 | 3 | -5/+96 |
| | | | | | | address from the reverse mapping, and add a test that this works now. llvm-svn: 78127 | ||||
* | Fix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode. | Evan Cheng | 2009-08-04 | 5 | -11/+10 |
| | | | | llvm-svn: 78126 | ||||
* | Privatize the VectorType uniquing. | Owen Anderson | 2009-08-04 | 2 | -6/+9 |
| | | | | llvm-svn: 78125 | ||||
* | Begin the process of privatizing the type uniquing tables. No API changes ↵ | Owen Anderson | 2009-08-04 | 3 | -427/+440 |
| | | | | | | yet, but there will be in the near future. llvm-svn: 78122 | ||||
* | Check for !isa<Constant> instead of isa<Instruction>. This | Dan Gohman | 2009-08-04 | 1 | -1/+1 |
| | | | | | | | matches what the comment says, and it avoids spurious BitCast instructions for Argument values. llvm-svn: 78121 | ||||
* | Follow Unix behavior and return 127 if the command is not found, | Dan Gohman | 2009-08-04 | 1 | -1/+1 |
| | | | | | | and 126 if it is not executable. llvm-svn: 78120 | ||||
* | revert r78048, it isn't worth using assertingvh here. | Chris Lattner | 2009-08-04 | 4 | -12/+11 |
| | | | | llvm-svn: 78119 | ||||
* | Update CMakeLists. | Benjamin Kramer | 2009-08-04 | 1 | -1/+0 |
| | | | | llvm-svn: 78118 | ||||
* | It helps if I remember to actually add the file... | Owen Anderson | 2009-08-04 | 1 | -0/+774 |
| | | | | llvm-svn: 78116 | ||||
* | Factor some of the constants+context related code out into a separate ↵ | Owen Anderson | 2009-08-04 | 38 | -834/+56 |
| | | | | | | | | header, to make LLVMContextImpl.h not hideous. Also, fix some MSVC compile errors. llvm-svn: 78115 | ||||
* | Move the template instantiation logic for template arguments into the | Douglas Gregor | 2009-08-04 | 2 | -50/+89 |
| | | | | | | | | | | general tree transformation. Also, implement template instantiation for parameter packs. In addition, introduce logic to enter the appropriate context for subexpressions that are not potentially evaluated. llvm-svn: 78114 | ||||
* | Fix test. | Evan Cheng | 2009-08-04 | 1 | -1/+1 |
| | | | | llvm-svn: 78113 | ||||
* | Convert more Neon tests to use FileCheck. | Bob Wilson | 2009-08-04 | 3 | -16/+31 |
| | | | | llvm-svn: 78111 | ||||
* | vtable building for simple inheritance. Still in progress. | Mike Stump | 2009-08-04 | 2 | -4/+30 |
| | | | | llvm-svn: 78110 | ||||
* | Replace dregsingle operand modifier with explicit escaped curly brackets. | Bob Wilson | 2009-08-04 | 2 | -4/+2 |
| | | | | | | | For other VLDn and VSTn operations, we need to list the multiple registers explicitly anyway, so there's no point in special-casing this one usage. llvm-svn: 78109 | ||||
* | Convert a few Neon tests to use FileCheck. | Bob Wilson | 2009-08-04 | 3 | -20/+71 |
| | | | | llvm-svn: 78108 | ||||
* | Clean up the handling of two-address operands in RegScavenger. | Jakob Stoklund Olesen | 2009-08-04 | 2 | -12/+36 |
| | | | | | | This fixes PR4528. llvm-svn: 78107 | ||||
* | Don't give implicit machine operands special treatment in the register ↵ | Jakob Stoklund Olesen | 2009-08-04 | 1 | -5/+2 |
| | | | | | | | | | scavenger. Imp-def is *not* allowed to redefine a live register. Imp-use is *not* allowed to use a dead register. llvm-svn: 78106 | ||||
* | Restlyize to match other targets, fixes cmake build to boot. | Mike Stump | 2009-08-04 | 2 | -2/+7 |
| | | | | llvm-svn: 78105 | ||||
* | Enable load / store multiple pass for Thumb2. It's not using ldrd / strd yet. | Evan Cheng | 2009-08-04 | 4 | -8/+53 |
| | | | | llvm-svn: 78104 | ||||
* | remove a random reference to subtarget. Even without this, we | Chris Lattner | 2009-08-04 | 1 | -2/+0 |
| | | | | | | | still get "intel syntax" instructions from llc with -x86-asm-syntax=intel llvm-svn: 78103 | ||||
* | Canonicalize else. | Mike Stump | 2009-08-04 | 12 | -169/+114 |
| | | | | llvm-svn: 78102 | ||||
* | Add NEON single-precision FP support for fabs and fneg. | David Goodwin | 2009-08-04 | 5 | -6/+58 |
| | | | | llvm-svn: 78101 | ||||
* | Test cases for some recent work. | Mike Stump | 2009-08-04 | 1 | -3/+25 |
| | | | | llvm-svn: 78100 | ||||
* | TableGen / AsmMatcher: Tweaks to avoid generating completely bogus match | Daniel Dunbar | 2009-08-04 | 1 | -17/+75 |
| | | | | | | | | | | functions. - Fix variant flattening when the variant embeds an operand reference. - Ignore instructions which reference an operand multiple times (e.g., "xorb $dst, $dst"), and operands which have extra flags (e.g., "$dst:subreg32"). llvm-svn: 78099 |