summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Hexagon V5 (floating point) support in cfe.Sirish Pande2012-04-235-829/+1628
| | | | llvm-svn: 155363
* Reapply r155136 after fixing PR12599.Jakob Stoklund Olesen2012-04-237-56/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message: Defer some shl transforms to DAGCombine. The shl instruction is used to represent multiplication by a constant power of two as well as bitwise left shifts. Some InstCombine transformations would turn an shl instruction into a bit mask operation, making it difficult for later analysis passes to recognize the constsnt multiplication. Disable those shl transformations, deferring them to DAGCombine time. An 'shl X, C' instruction is now treated mostly the same was as 'mul X, C'. These transformations are deferred: (X >>? C) << C --> X & (-1 << C) (When X >> C has multiple uses) (X >>? C1) << C2 --> X << (C2-C1) & (-1 << C2) (When C2 > C1) (X >>? C1) << C2 --> X >>? (C1-C2) & (-1 << C2) (When C1 > C2) The corresponding exact transformations are preserved, just like div-exact + mul: (X >>?,exact C) << C --> X (X >>?,exact C1) << C2 --> X << (C2-C1) (X >>?,exact C1) << C2 --> X >>?,exact (C1-C2) The disabled transformations could also prevent the instruction selector from recognizing rotate patterns in hash functions and cryptographic primitives. I have a test case for that, but it is too fragile. llvm-svn: 155362
* Implemented zext as a no-op cast in the IRSean Callanan2012-04-231-4/+6
| | | | | | interpreter. llvm-svn: 155360
* Thread-safety analysis: support new "pointer to member" syntax forDeLesley Hutchins2012-04-232-1/+28
| | | | | | existentially quantified lock expressions. llvm-svn: 155357
* Teach RequireCompleteType about multi-dimensional arrays. FixesDouglas Gregor2012-04-232-1/+10
| | | | | | <rdar://problem/11284902>. llvm-svn: 155356
* Fix PR12608. Patch contributed by Yang Chen.Manuel Klimek2012-04-232-1/+27
| | | | llvm-svn: 155355
* Conflict with st_dev/st_ino identifiers under Debian GNU/HurdSylvestre Ledru2012-04-232-6/+6
| | | | | | | | | | | | | The problem is that the struct file_status on UNIX systems has two members called st_dev and st_ino; those are also members of the struct stat, and they are reserved identifiers which can also be provided as #define (and this is the case for st_dev on Hurd). The solution (attached) is to rename them, for example adding a "fs_" prefix (= file status) to them. Patch by Pino Toscano llvm-svn: 155354
* Add a test for svn r155263.Bob Wilson2012-04-231-0/+2
| | | | llvm-svn: 155353
* Inline helper function into only caller.Rafael Espindola2012-04-232-6/+1
| | | | llvm-svn: 155352
* Add another testcase that was not being covered.Rafael Espindola2012-04-231-0/+18
| | | | llvm-svn: 155351
* [ASan] use CLANG_VERSION in Makefile (currently 3.2)Alexey Samsonov2012-04-231-2/+3
| | | | llvm-svn: 155350
* Refactor: Pass the argument 'IRBuilder' and 'AfterBlock' of function ↵Hongbin Zheng2012-04-233-18/+22
| | | | | | | | 'createLoop' by reference, so that we do not need to type an extra '&' operator when calling the function. llvm-svn: 155349
* 1. Add a header guard for LoopGenerators.h to prevent multiple inclusion.Hongbin Zheng2012-04-231-0/+5
| | | | | | 2. Include the helper function and the helper class in the LoopGenerator.h into the polly namespace. llvm-svn: 155348
* Fix issue 67 by checking that the interface functions weren't redefined in ↵Alexander Potapenko2012-04-231-4/+18
| | | | | | the compiled source file. llvm-svn: 155346
* [asan] fix typoKostya Serebryany2012-04-231-1/+1
| | | | llvm-svn: 155345
* [asan] fix asan issue #66 (correctly report type of the bug)Kostya Serebryany2012-04-232-2/+3
| | | | llvm-svn: 155344
* [asan] update docsKostya Serebryany2012-04-231-16/+27
| | | | llvm-svn: 155343
* Do not use stdint.h, driver might provide invalid location for it. Instead, ↵Anton Korobeynikov2012-04-231-1/+3
| | | | | | | | provide the types directly. This should fix PR12628 llvm-svn: 155342
* [tsan] use llvm/ADT/Statistic.h for tsan statsKostya Serebryany2012-04-231-40/+17
| | | | llvm-svn: 155341
* Fixes comment referencing old name.Manuel Klimek2012-04-231-1/+1
| | | | llvm-svn: 155340
* Use MVT instead of EVT through all of LowerVECTOR_SHUFFLEtoBlend and not ↵Craig Topper2012-04-231-2/+2
| | | | | | just the switch. Saves a little bit of binary size. llvm-svn: 155339
* Bump the LLVM minor version. This should fix our 32-bit Linux build.Alexander Potapenko2012-04-231-1/+1
| | | | llvm-svn: 155338
* Make getZeroVector and getOnesVector more alike as far as how they detect ↵Craig Topper2012-04-231-13/+16
| | | | | | 128-bit versus 256-bit vectors. Be explicit about both sizes and use llvm_unreachable. Similar changes to getLegalSplat. llvm-svn: 155337
* Tidy up by removing some 'else' after 'return'Craig Topper2012-04-231-44/+60
| | | | llvm-svn: 155336
* Tidy up spacing in LowerVECTOR_SHUFFLEtoBlend. Remove code that checks if ↵Craig Topper2012-04-231-39/+34
| | | | | | shuffle operand has a different type than the the shuffle result since it can never happen. llvm-svn: 155333
* Add a couple llvm_unreachables.Craig Topper2012-04-231-0/+2
| | | | llvm-svn: 155332
* Remove some tab characers.Craig Topper2012-04-231-8/+8
| | | | llvm-svn: 155331
* Remove some 'else' after 'return'. No functional change.Craig Topper2012-04-231-3/+7
| | | | llvm-svn: 155330
* Don't die with an assertion if the Result bitwidth is already correct. ThisChris Lattner2012-04-231-1/+1
| | | | | | fixes an assert reading "1239123123123123" when the result is already 64-bit. llvm-svn: 155329
* Cleanup whitespace.Bill Wendling2012-04-231-32/+32
| | | | llvm-svn: 155328
* Limit the number of times we recurse through this algorithm. All of theBill Wendling2012-04-231-5/+17
| | | | | | | intructions are processed. So there's no need to look at them if they're used as operands of other instructions. llvm-svn: 155327
* Add a testcase that we already get right but was not being tested. FoundRafael Espindola2012-04-221-0/+10
| | | | | | | by a chrome build on OS X. Thanks to Nico Weber for testing a patch and providing the .ii file. llvm-svn: 155326
* Make Extract128BitVector and Insert128BitVector take an unsigned instead of ↵Craig Topper2012-04-221-99/+68
| | | | | | an ConstantNode SDValue. getConstant was almost always called just before only to have the functions take it apart and build a new ConstantSDNode. llvm-svn: 155325
* Sema: Initialize NSString method cache members.Benjamin Kramer2012-04-221-1/+3
| | | | | | Found by valgrind. llvm-svn: 155324
* Remove unnecessary StringRef->char*->StringRef conversion, which read ↵Benjamin Kramer2012-04-221-1/+1
| | | | | | | | uninitialized memory if the input wasn't 0-terminated. Found by valgrind. llvm-svn: 155323
* Convert getNode(UNDEF) to getUNDEF.Craig Topper2012-04-221-6/+7
| | | | llvm-svn: 155321
* Make calls to getVectorShuffle more consistent. Use shuffle VT for calls to ↵Craig Topper2012-04-221-8/+7
| | | | | | getUNDEF instead of requerying. Use &Mask[0] instead of Mask.data(). llvm-svn: 155320
* Tidy up. 80 columns and argument alignment.Craig Topper2012-04-221-18/+17
| | | | llvm-svn: 155319
* Simplify code by converting multiple places that were manually concatenating ↵Craig Topper2012-04-221-20/+18
| | | | | | 128-bit vectors to use either CONCAT_VECTORS or a helper function. CONCAT_VECTORS will itself be lowered to the same pattern as before. The helper function is needed for concats of BUILD_VECTORs since getNode(CONCAT_VECTORS) will just return a large BUILD_VECTOR and we may be trying to lower large BUILD_VECTORS when this occurs. llvm-svn: 155318
* Cleanup testcase.Rafael Espindola2012-04-221-3/+2
| | | | llvm-svn: 155317
* An attribute in a explicit template installation should take precedence overRafael Espindola2012-04-222-2/+15
| | | | | | | | | | | the tempale arguments in deciding the visibility. This agrees with gcc 4.7. Found by trying to build chrome with component=shared_library with 155314 reverted. llvm-svn: 155316
* cleaned line endings in the newly added test fileElena Demikhovsky2012-04-221-68/+68
| | | | llvm-svn: 155315
* Revert 155102 but add a fixme while I debug what is wrong with chrome'sRafael Espindola2012-04-222-4/+14
| | | | | | components build. llvm-svn: 155314
* ARM: Initialize the HasRAS bit.Benjamin Kramer2012-04-221-0/+1
| | | | | | Found by valgrind. llvm-svn: 155313
* Better C++11 support is no longer an advantage of GCC.Benjamin Kramer2012-04-221-2/+0
| | | | llvm-svn: 155312
* Tidy up this test more:Chandler Carruth2012-04-222-22/+23
| | | | | | | | | | | | | 1) Make the checked assertions a bit more precise. We really want the canonical forms coming out of reassociate to be exactly what is expected. 2) Remove other passes, and switch the test to actually directly check that reassociate makes the important transforms and canonicalizations. 3) Fold in a related test case now that we're using FileCheck. Make the same tidying changes to it. llvm-svn: 155311
* FileCheck-ize a test, and tidy it up a touch.Chandler Carruth2012-04-221-9/+14
| | | | llvm-svn: 155310
* ZERO_EXTEND/SIGN_EXTEND/TRUNCATE optimization for AVX2Elena Demikhovsky2012-04-225-14/+158
| | | | llvm-svn: 155309
* Remove some potential warnings about variables used uninitialized.Bill Wendling2012-04-222-4/+4
| | | | llvm-svn: 155307
* PR12571: Objects of type clang::ConstantArrayType aren't always emitted withRichard Smith2012-04-222-21/+48
| | | | | | | type llvm::ArrayType -- sometimes we emit them as packed structs. Don't assert if such a global array has an element type with a non-trivial destructor. llvm-svn: 155305
OpenPOWER on IntegriCloud