summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Restrict LDA to GEPs with the same pointer offset.Andreas Bolka2009-08-051-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 Lattner2009-08-051-0/+3
| | | | llvm-svn: 78154
* Fix LDA testcases.Andreas Bolka2009-08-051-4/+4
| | | | llvm-svn: 78153
* Fixup C++ style comments are not allowed in ISO C90 to classic C style.Edward O'Callaghan2009-08-0533-646/+720
| | | | llvm-svn: 78152
* Turn some insert_subreg, extract_subreg, subreg_to_reg into implicit_defs.Evan Cheng2009-08-053-8/+28
| | | | llvm-svn: 78151
* Add test case.Zhongxing Xu2009-08-051-0/+12
| | | | llvm-svn: 78150
* If the UnaryOperator has non-location type, use its type to create theZhongxing Xu2009-08-053-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 Wilson2009-08-051-2/+0
| | | | llvm-svn: 78146
* One more. Transfer kill of the larger register when lowering an EXTRACT_SUBREG.Evan Cheng2009-08-052-4/+60
| | | | llvm-svn: 78145
* One more place where subreg lowering forgot to transfer undefness.Evan Cheng2009-08-052-3/+48
| | | | llvm-svn: 78144
* Start porting compiler-rt testsuit to Solaris with new build system. Fix ↵Edward O'Callaghan2009-08-0511-161/+209
| | | | | | some C++ style comments which are not allowed in ISO C90. llvm-svn: 78143
* Major calling convention code refactoring.Dan Gohman2009-08-0547-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 Cheng2009-08-052-2/+42
| | | | | | copy. llvm-svn: 78141
* Remove an unused header.Mike Stump2009-08-051-1/+0
| | | | llvm-svn: 78140
* Various comment fixes.Dan Gohman2009-08-051-3/+8
| | | | llvm-svn: 78139
* Remove an unnecessary flush in the CppBackend's output.Dan Gohman2009-08-051-1/+0
| | | | llvm-svn: 78138
* Don't flush the raw_ostream between each MachineFunction. These flushDan Gohman2009-08-056-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 Wilson2009-08-054-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 Gohman2009-08-051-3/+3
| | | | llvm-svn: 78135
* lli doesn't need <iostream> anymore.Dan Gohman2009-08-051-1/+0
| | | | llvm-svn: 78133
* Support for use of default argument in constructors.Fariborz Jahanian2009-08-053-3/+34
| | | | | | work in progress. llvm-svn: 78132
* Remove needless uses of std::flush in the parent process after aDan Gohman2009-08-051-7/+0
| | | | | | | fork call. This eliminates a need for <iostream>. Also remove needless fsync calls. llvm-svn: 78131
* Privatize the PointerType factory.Owen Anderson2009-08-052-6/+9
| | | | llvm-svn: 78130
* 1) Proper emit displacements for x86, using absolute relocations where necessaryBruno Cardoso Lopes2009-08-056-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 Gohman2009-08-051-3/+7
| | | | | | Add a comment explaining why. llvm-svn: 78128
* Make ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's oldJeffrey Yasskin2009-08-043-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 Cheng2009-08-045-11/+10
| | | | llvm-svn: 78126
* Privatize the VectorType uniquing.Owen Anderson2009-08-042-6/+9
| | | | llvm-svn: 78125
* Begin the process of privatizing the type uniquing tables. No API changes ↵Owen Anderson2009-08-043-427/+440
| | | | | | yet, but there will be in the near future. llvm-svn: 78122
* Check for !isa<Constant> instead of isa<Instruction>. ThisDan Gohman2009-08-041-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 Gohman2009-08-041-1/+1
| | | | | | and 126 if it is not executable. llvm-svn: 78120
* revert r78048, it isn't worth using assertingvh here.Chris Lattner2009-08-044-12/+11
| | | | llvm-svn: 78119
* Update CMakeLists.Benjamin Kramer2009-08-041-1/+0
| | | | llvm-svn: 78118
* It helps if I remember to actually add the file...Owen Anderson2009-08-041-0/+774
| | | | llvm-svn: 78116
* Factor some of the constants+context related code out into a separate ↵Owen Anderson2009-08-0438-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 theDouglas Gregor2009-08-042-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 Cheng2009-08-041-1/+1
| | | | llvm-svn: 78113
* Convert more Neon tests to use FileCheck.Bob Wilson2009-08-043-16/+31
| | | | llvm-svn: 78111
* vtable building for simple inheritance. Still in progress.Mike Stump2009-08-042-4/+30
| | | | llvm-svn: 78110
* Replace dregsingle operand modifier with explicit escaped curly brackets.Bob Wilson2009-08-042-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 Wilson2009-08-043-20/+71
| | | | llvm-svn: 78108
* Clean up the handling of two-address operands in RegScavenger.Jakob Stoklund Olesen2009-08-042-12/+36
| | | | | | This fixes PR4528. llvm-svn: 78107
* Don't give implicit machine operands special treatment in the register ↵Jakob Stoklund Olesen2009-08-041-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 Stump2009-08-042-2/+7
| | | | llvm-svn: 78105
* Enable load / store multiple pass for Thumb2. It's not using ldrd / strd yet.Evan Cheng2009-08-044-8/+53
| | | | llvm-svn: 78104
* remove a random reference to subtarget. Even without this, weChris Lattner2009-08-041-2/+0
| | | | | | | still get "intel syntax" instructions from llc with -x86-asm-syntax=intel llvm-svn: 78103
* Canonicalize else.Mike Stump2009-08-0412-169/+114
| | | | llvm-svn: 78102
* Add NEON single-precision FP support for fabs and fneg.David Goodwin2009-08-045-6/+58
| | | | llvm-svn: 78101
* Test cases for some recent work.Mike Stump2009-08-041-3/+25
| | | | llvm-svn: 78100
* TableGen / AsmMatcher: Tweaks to avoid generating completely bogus matchDaniel Dunbar2009-08-041-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
OpenPOWER on IntegriCloud