summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix some bugs in HMEditor's moveAllOperandsInto logic.Lang Hames2012-02-211-9/+10
| | | | llvm-svn: 151006
* Check for the correct size in the invariant marker.Nick Lewycky2012-02-201-4/+7
| | | | llvm-svn: 151003
* Fix machine-cp by having it to check sub-register indicies. e.g.Evan Cheng2012-02-202-3/+27
| | | | | | | | | | | | ecx = mov eax al = mov ch The second copy is not a nop because the sub-indices of ecx,ch is not the same of that of eax/al. Re-enabled machine-cp. PR11940 llvm-svn: 151002
* Fix 80-column violation.Chad Rosier2012-02-201-1/+2
| | | | llvm-svn: 150998
* InstCombine: Removing the base from the address calculation is only safe ↵Benjamin Kramer2012-02-201-1/+1
| | | | | | when the GEPs are inbounds. llvm-svn: 150978
* Make this a bit prettier and more obvious when a derived type isn'tEric Christopher2012-02-201-1/+3
| | | | | | derived from anything. llvm-svn: 150975
* If a derived type is also a composite type, print that informationEric Christopher2012-02-201-2/+7
| | | | | | too. llvm-svn: 150974
* Add support for runtime languages on our forward declarations.Eric Christopher2012-02-201-2/+5
| | | | llvm-svn: 150973
* InstCombine: When comparing two GEPs that were derived from the same base ↵Benjamin Kramer2012-02-201-0/+14
| | | | | | | | pointer but use different types, expand the offset calculation and to the compare on the offset if profitable. This came up in SmallVector code. llvm-svn: 150962
* InstCombine: Make OptimizePointerDifference more aggressive.Benjamin Kramer2012-02-201-27/+27
| | | | | | | | | - Ignore pointer casts. - Also expand GEPs that aren't constantexprs when they have one use or only constant indices. - We now compile "&foo[i] - &foo[j]" into "i - j". llvm-svn: 150961
* Teach the DAGCombiner that certain loadext nodes followed by ANDs can be ↵James Molloy2012-02-201-0/+82
| | | | | | converted to zeroexts. llvm-svn: 150957
* Improve generated code for extending loads and some trunc stores on ARM.James Molloy2012-02-202-7/+140
| | | | | | Teach TargetSelectionDAG about lengthening loads for vector types and set v4i8 as legal. Allow FP_TO_UINT for v4i16 from v4i32. llvm-svn: 150956
* Make post-ra tail duplication bundle safe. No test case as recent codegenEvan Cheng2012-02-201-3/+6
| | | | | | flow changes have already hidden the bug. rdar://10893812 llvm-svn: 150949
* Rename class Evaluate to Evaluator and put it in an anonymous namespace.Nick Lewycky2012-02-201-12/+17
| | | | llvm-svn: 150947
* fold comparisons of gep'd alloca points with null to false,Chris Lattner2012-02-201-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementing PR12013. We now compile the testcase to: __Z4testv: ## @_Z4testv ## BB#0: ## %_ZN4llvm15SmallVectorImplIiE9push_backERKi.exit pushq %rbx subq $64, %rsp leaq 32(%rsp), %rbx movq %rbx, (%rsp) leaq 64(%rsp), %rax movq %rax, 16(%rsp) movl $1, 32(%rsp) leaq 36(%rsp), %rax movq %rax, 8(%rsp) leaq (%rsp), %rdi callq __Z1gRN4llvm11SmallVectorIiLj8EEE movq (%rsp), %rdi cmpq %rbx, %rdi je LBB0_2 ## BB#1: callq _free LBB0_2: ## %_ZN4llvm11SmallVectorIiLj8EED1Ev.exit addq $64, %rsp popq %rbx ret instead of: __Z4testv: ## @_Z4testv ## BB#0: pushq %rbx subq $64, %rsp xorl %eax, %eax leaq (%rsp), %rbx addq $32, %rbx movq %rbx, (%rsp) movq %rbx, 8(%rsp) leaq 64(%rsp), %rcx movq %rcx, 16(%rsp) je LBB0_2 ## BB#1: movl $1, 32(%rsp) movq %rbx, %rax LBB0_2: ## %_ZN4llvm15SmallVectorImplIiE9push_backERKi.exit addq $4, %rax movq %rax, 8(%rsp) leaq (%rsp), %rdi callq __Z1gRN4llvm11SmallVectorIiLj8EEE movq (%rsp), %rdi cmpq %rbx, %rdi je LBB0_4 ## BB#3: callq _free LBB0_4: ## %_ZN4llvm11SmallVectorIiLj8EED1Ev.exit addq $64, %rsp popq %rbx ret This doesn't shrink clang noticably though. llvm-svn: 150944
* Move constructors out-of-line and flesh out their documentation. NoChandler Carruth2012-02-201-2/+32
| | | | | | | functionality changed. This is in preparation for some refactoring of how this class behaves. llvm-svn: 150941
* Move EvaluateFunction and EvaluateBlock into a class, and make the class storeNick Lewycky2012-02-191-122/+137
| | | | | | the information that they pass around between them. No functionality change! llvm-svn: 150939
* Silence operator precedence warning.Benjamin Kramer2012-02-191-1/+1
| | | | llvm-svn: 150921
* Remove dead code. Improve llvm_unreachable text. Simplify some control flow.Ahmed Charles2012-02-1917-88/+22
| | | | llvm-svn: 150918
* StringRef'ize EmitSourceFileHeader().Ahmed Charles2012-02-191-1/+1
| | | | llvm-svn: 150917
* Remove some unneeded includes and fix ordering in X86ISelLowering.cpp. ↵Craig Topper2012-02-191-4/+1
| | | | | | Remove unneeded 'using namespace'. llvm-svn: 150916
* Add machinery for pushing live ranges onto bundle starts while bundling.Lang Hames2012-02-191-2/+207
| | | | llvm-svn: 150915
* Simplify moveEnteringDownFrom rules.Lang Hames2012-02-191-11/+3
| | | | llvm-svn: 150914
* Unify all shuffle mask checking functions take a mask and VT instead of ↵Craig Topper2012-02-191-85/+68
| | | | | | VectorShuffleSDNode. llvm-svn: 150913
* Skip through instructions rather than operands when looking for last use slot.Lang Hames2012-02-191-1/+1
| | | | llvm-svn: 150912
* APFloat::toString(): Fix overrun at scanning.NAKAMURA Takumi2012-02-191-1/+1
| | | | | | FYI, clang/test/SemaTemplate/template-id-printing.cpp had been failing due to it on cygwin-clang. llvm-svn: 150911
* Fix TODO and trailing whitespace.Lang Hames2012-02-191-10/+14
| | | | llvm-svn: 150910
* Defer sanity checks on live intervals until after all have been updated. ↵Lang Hames2012-02-191-171/+170
| | | | | | Hold (LiveInterval, LiveRange) pairs to update, rather than vregs. llvm-svn: 150909
* Make a bunch of X86ISelLowering shuffle functions static now that they are ↵Craig Topper2012-02-192-172/+51
| | | | | | no longer needed by isel. llvm-svn: 150908
* comment fix ARM.hJia Liu2012-02-191-1/+1
| | | | llvm-svn: 150904
* some comment fix for X86 and ARMJia Liu2012-02-198-8/+8
| | | | llvm-svn: 150902
* Add vmfunc instruction to X86 assembler and disassembler.Craig Topper2012-02-194-20/+27
| | | | llvm-svn: 150899
* Fix issue with bitwise and precedence.Ahmed Charles2012-02-181-1/+1
| | | | llvm-svn: 150897
* Hashing.h - utilities for hashing various data types.Talin2012-02-182-0/+47
| | | | llvm-svn: 150890
* White space fixes.Rafael Espindola2012-02-181-7/+7
| | | | llvm-svn: 150886
* Temporarily disable this assert. Looks like it found a similar issue whenRafael Espindola2012-02-181-1/+3
| | | | | | building bullet. llvm-svn: 150885
* Don't skip debug instructions when looking for the insertion point ofRafael Espindola2012-02-181-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the cast. If we do, we can end up with inst1 --------------- < Insertion point dbg inst new inst instead of the desired inst1 new inst --------------- < Insertion point dbg inst Another option would be for InsertNoopCastOfTo (or its callers) to move the insertion point and we would end up with inst1 dbg inst new inst --------------- < Insertion point but that complicates the callers. This fixes PR12018 (and firefox's build). llvm-svn: 150884
* Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, ↵Jia Liu2012-02-18293-384/+385
| | | | | | MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
* Add X86InstrSVM.td that I forgot to add in r150873.Craig Topper2012-02-181-0/+62
| | | | llvm-svn: 150874
* Add X86 assembler and disassembler support for AMD SVM instructions. ↵Craig Topper2012-02-184-71/+61
| | | | | | Original patch by Kay Tiong Khoo. Few tweaks by me for code density and to reduce replication. llvm-svn: 150873
* Trivial cleanup to group the generic 'armvN' cases with the 'arm' case,Chandler Carruth2012-02-181-4/+4
| | | | | | etc. No functionality changed. llvm-svn: 150867
* Fix a rather nasty regression from r150690: LHS != RHS does not imply ↵Eli Friedman2012-02-181-1/+2
| | | | | | LHS->stripPointerCasts() != RHS->stripPointerCasts(). llvm-svn: 150863
* Bring HMEditor into line with LLVM coding standards.Lang Hames2012-02-171-160/+163
| | | | llvm-svn: 150851
* Ignore the lifetime intrinsics in fast-isel.Eric Christopher2012-02-171-0/+4
| | | | llvm-svn: 150848
* Don't print out pointer values in SUnit::dump().Jakob Stoklund Olesen2012-02-171-5/+3
| | | | llvm-svn: 150842
* Sink variable into assertMatt Beaumont-Gay2012-02-171-2/+2
| | | | llvm-svn: 150841
* Add support for regmask slots to HMEditor. Also fixes a comment error.Lang Hames2012-02-171-3/+17
| | | | llvm-svn: 150840
* Fix typo in comment ldopen() -> dlopen().Kevin Enderby2012-02-171-1/+1
| | | | llvm-svn: 150836
* Handle regmask operands in ARMInstrInfo.Jakob Stoklund Olesen2012-02-172-7/+9
| | | | llvm-svn: 150833
* Put back the initializing the targets in the disassembler API with a comment asKevin Enderby2012-02-171-0/+13
| | | | | | | to why this is needed. This broke the darwin's otool(1) program. This change was made in r144385. llvm-svn: 150832
OpenPOWER on IntegriCloud