summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Remove Deprecated FeaturesDavid Greene2012-01-271-250/+51
| | | | | | | | | | | | Move to a model where we build whatever branches are checked out in the source directories. This was a bit too smart (and complicated) in handling details best left to the user and the revision control system. In addition, get rid of support for llvm-gcc and building gcc as these are no longer necessary. llvm-svn: 149149
* Revert r149110 and add a testcase that was crashing since that revision.Rafael Espindola2012-01-274-53/+15
| | | | | | | Unfortunately I also had to disable constant-pool-sharing.ll the code it tests has been updated to use the IL logic. llvm-svn: 149148
* Add a "moveInstr" method to LiveIntervals. This can be used to move instructionsLang Hames2012-01-274-1/+234
| | | | | | | | | around within a basic block while maintaining live-intervals. Updated ScheduleTopDownLive in MachineScheduler.cpp to use the moveInstr API when reordering MIs. llvm-svn: 149147
* Backing out ill-considered 'refactor'.Lang Hames2012-01-271-39/+53
| | | | llvm-svn: 149146
* Move some duplicate loops in the coalescer into their own function.Lang Hames2012-01-271-53/+39
| | | | llvm-svn: 149144
* Intel Syntax: Parse mem operand with seg reg. QWORD PTR FS:[320]Devang Patel2012-01-272-3/+7
| | | | llvm-svn: 149142
* Fix typo.Jim Grosbach2012-01-271-1/+1
| | | | llvm-svn: 149137
* Move some patterns back near their instructions and use AddedComplexity to ↵Craig Topper2012-01-271-49/+41
| | | | | | fix priority. Merge some patterns into their instruction definition. llvm-svn: 149122
* Physreg dead defs should be handled too.Lang Hames2012-01-271-1/+1
| | | | llvm-svn: 149118
* smallvectorize.Chris Lattner2012-01-271-6/+6
| | | | llvm-svn: 149117
* continue making the world safe for ConstantDataVector. At this point,Chris Lattner2012-01-2710-75/+108
| | | | | | | we should (theoretically optimize and codegen ConstantDataVector as well as ConstantVector. llvm-svn: 149116
* Unix line endingsMatt Beaumont-Gay2012-01-271-19/+19
| | | | llvm-svn: 149115
* Place the GEP instructions nearer to the instructions which use them.Bill Wendling2012-01-271-37/+36
| | | | | | | | | | | GEP instructions are there for the compiler and shouldn't really output much code (if any at all). When a GEP is stored in the entry block, Fast ISel (for one) will not know that it could fold it into further uses. For instance, inside of the EH handling code. This results in a lot of unnecessary spills and loads which bloat code and slows down pretty much everything. <rdar://problem/10694814> llvm-svn: 149114
* make sure the file's matching header is #include'd first.Chris Lattner2012-01-271-3/+1
| | | | llvm-svn: 149113
* Rewrite CanShareConstantPoolEntry to be implemented in terms of theChris Lattner2012-01-271-26/+26
| | | | | | | | mid-level constant folding APIs instead of doing its own analysis. This makes it more general (e.g. can now share a <2 x i64> with a <4 x i32>) and avoid duplicating a bunch of logic. llvm-svn: 149111
* enhance constant folding to be able to constant fold bitcast of Chris Lattner2012-01-273-2/+51
| | | | | | ConstantVector's to integer type. llvm-svn: 149110
* Keep source location information for X86 MCFixup's.Jim Grosbach2012-01-272-18/+23
| | | | llvm-svn: 149106
* Source information in 'expected relocatable expression' diagnostic.Jim Grosbach2012-01-271-1/+1
| | | | llvm-svn: 149105
* Better user diagnostics for more ARM MachO relocation errors.Jim Grosbach2012-01-271-4/+8
| | | | llvm-svn: 149102
* Better diagnostic for malformed .org assembly directive.Jim Grosbach2012-01-279-19/+26
| | | | | | Provide source line number information. llvm-svn: 149101
* Rewrite instruction operands in AdjustCopiesBackFrom. Fixes PR11861.Lang Hames2012-01-272-4/+27
| | | | llvm-svn: 149097
* Tidy up.Jim Grosbach2012-01-261-1/+1
| | | | llvm-svn: 149096
* Keep source information, if available, around for ARM Fixups.Jim Grosbach2012-01-263-9/+15
| | | | | | | | | | | | | | | | | Adjust an example MachObjectWriter diagnostic to use the information to issue a better message. Before: LLVM ERROR: unknown ARM fixup kind! After: x.s:6:5: error: unsupported relocation on symbol beq bar ^ rdar://9800182 llvm-svn: 149093
* Add simple support for keeping MCFixup source information.Jim Grosbach2012-01-264-2/+38
| | | | | | | Can be used to issue more user friendly diagnostics for faulty relocation constructs and such. llvm-svn: 149092
* llvm-mc pass through SourceMgr to MCContext.Jim Grosbach2012-01-261-1/+1
| | | | llvm-svn: 149091
* Add SourceMgr to MCContext for backend diagnostics.Jim Grosbach2012-01-262-3/+7
| | | | llvm-svn: 149090
* Handle call-clobbered ymm registers on Win64.Jakob Stoklund Olesen2012-01-263-1/+56
| | | | | | | | | | | | | | The Win64 calling convention has xmm6-15 as callee-saved while still clobbering all ymm registers. Add a YMM_HI_6_15 pseudo-register that aliases the clobbered part of the ymm registers, and mark that as call-clobbered. This allows live xmm registers across calls. This hack wouldn't be necessary with RegisterMask operands representing the call clobbers, but they are not quite operational yet. llvm-svn: 149088
* Use -H on darwin as well.Eric Christopher2012-01-261-1/+1
| | | | | | Patch by Liang Wang! llvm-svn: 149085
* progress making the world safe to ConstantDataVector. WhileChris Lattner2012-01-264-64/+93
| | | | | | | | we're at it, allow PatternMatch's "neg" pattern to match integer vector negations, and enhance ComputeNumSigned bits to handle shl of vectors. llvm-svn: 149082
* tidy up forward declarations.Chris Lattner2012-01-262-9/+5
| | | | llvm-svn: 149078
* smallvectorize and ArrayRef'ize some stuff.Chris Lattner2012-01-262-5/+5
| | | | llvm-svn: 149077
* Reduce a lot of code duplication by implementing Chris Lattner2012-01-261-138/+16
| | | | | | | | | ConstantExpr::getWithOperandReplaced and ConstantExpr::replaceUsesOfWithOnConstant in terms of ConstantExpr::getWithOperands. While we're at it, make sure that ConstantExpr::getWithOperands covers all instructions: it was missing insert/extractvalue. llvm-svn: 149076
* Update comment for r149070.Chad Rosier2012-01-261-3/+1
| | | | llvm-svn: 149075
* Replace the use of isPredicable() with isPredicated() inChad Rosier2012-01-262-3/+46
| | | | | | | | | MachineBasicBlock::canFallThrough(). We're interested in the state of the instruction (i.e., is this a barrier or not?), not if the instruction is predicable or not. rdar://10501092 llvm-svn: 149070
* Clear kill flags before propagating a copy.Jakob Stoklund Olesen2012-01-264-1/+145
| | | | | | | | | | The live range of the source register may be extended when a redundant copy is eliminated. Make sure any kill flags between the two copies are cleared. This fixes PR11765. llvm-svn: 149069
* Tidy up. Fix mismatched return types for error handling.Jim Grosbach2012-01-261-8/+4
| | | | llvm-svn: 149062
* comment tweaksGabor Greif2012-01-261-15/+15
| | | | llvm-svn: 149060
* Add support for the R_ARM_TARGET1 relocation, which should be given to ↵James Molloy2012-01-268-3/+44
| | | | | | | | relocations applied to all C++ constructors and destructors. This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. llvm-svn: 149057
* Fix for the following bug in AVX codegen for double-to-int conversions:Victor Umansky2012-01-263-3/+22
| | | | | | | | | | | | | . "fptosi" and "fptoui" IR instructions are defined with round-to-zero rounding mode. . Currently for AVX mode for <4xdouble> and <8xdouble> the "VCVTPD2DQ.128" and "VCVTPD2DQ.256" instructions are selected (for .fp_to_sint. DAG node operation ) by AVX codegen. However they use round-to-nearest-even rounding mode. . Consequently, the conversion produces incorrect numbers. The fix is to replace selection of VCVTPD2DQ instructions with VCVTTPD2DQ instructions. The latter use truncate (i.e. round-to-zero) rounding mode. As .fp_to_sint. DAG node operation is used only for lowering of "fptosi" and "fptoui" IR instructions, the fix in X86InstrSSE.td definition file doesn.t have an impact on other LLVM flows. The patch includes changes in the .td file, LIT test for the changes and a fix in a legacy LIT test (which produced asm code conflicting with LLVN IR spec). llvm-svn: 149056
* Add HasXOP predicate check covering a bunch of XOP intrinsic patterns.Craig Topper2012-01-261-0/+2
| | | | llvm-svn: 149054
* Fix AVX vs SSE patterns ordering issue for VPCMPESTRM and VPCMPISTRM.Craig Topper2012-01-261-2/+4
| | | | llvm-svn: 149053
* Remove some more patterns by custom lowering intrinsics to target specific ↵Craig Topper2012-01-262-25/+14
| | | | | | nodes. llvm-svn: 149052
* unbreak test/Bitcode/shuffle.ll.Chris Lattner2012-01-261-0/+3
| | | | llvm-svn: 149033
* simplify by using ShuffleVectorInst::getMaskValue.Chris Lattner2012-01-261-10/+8
| | | | llvm-svn: 149029
* eliminate the Constant::getVectorElements method. There are better (andChris Lattner2012-01-266-69/+32
| | | | | | | more robust) ways to do what it was doing now. Also, add static methods for decoding a ShuffleVector mask. llvm-svn: 149028
* Continue improving support for ConstantDataAggregate, and use theChris Lattner2012-01-265-419/+149
| | | | | | new methods recently added to (sometimes greatly!) simplify code. llvm-svn: 149024
* Add a ConstantDataVector::getSplatValue() method, for parity withChris Lattner2012-01-262-39/+91
| | | | | | | | | | ConstantVector. Fix some outright bugs in the implementation of ConstantArray and Constant struct, which would cause us to not make one big UndefValue when asking for an array/struct with all undef elements. Enhance Constant::isAllOnesValue to work with ConstantDataVector. llvm-svn: 149021
* llvm-config: Add support for CMake build trees in which the buildPeter Collingbourne2012-01-261-7/+19
| | | | | | mode does not form part of the path. llvm-svn: 149010
* some general cleanup, using new methods and tidying up old code.Chris Lattner2012-01-262-95/+47
| | | | llvm-svn: 149006
* fix pasto in the new (and still unused) ShuffleVectorInst::getShuffleMask ↵Chris Lattner2012-01-261-1/+1
| | | | | | method. llvm-svn: 149005
OpenPOWER on IntegriCloud