- Apr 23, 2012
-
-
Sirish Pande authored
llvm-svn: 155366
-
Sirish Pande authored
llvm-svn: 155365
-
Sirish Pande authored
llvm-svn: 155364
-
Sirish Pande authored
llvm-svn: 155363
-
Jakob Stoklund Olesen authored
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
-
Sean Callanan authored
interpreter. llvm-svn: 155360
-
DeLesley Hutchins authored
existentially quantified lock expressions. llvm-svn: 155357
-
Douglas Gregor authored
<rdar://problem/11284902>. llvm-svn: 155356
-
Manuel Klimek authored
llvm-svn: 155355
-
Sylvestre Ledru authored
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
-
Bob Wilson authored
llvm-svn: 155353
-
Rafael Espindola authored
llvm-svn: 155352
-
Rafael Espindola authored
llvm-svn: 155351
-
Alexey Samsonov authored
llvm-svn: 155350
-
Hongbin Zheng authored
reference, so that we do not need to type an extra '&' operator when calling the function. llvm-svn: 155349
-
Hongbin Zheng authored
2. Include the helper function and the helper class in the LoopGenerator.h into the polly namespace. llvm-svn: 155348
-
Alexander Potapenko authored
Fix issue 67 by checking that the interface functions weren't redefined in the compiled source file. llvm-svn: 155346
-
Kostya Serebryany authored
llvm-svn: 155345
-
Kostya Serebryany authored
llvm-svn: 155344
-
Kostya Serebryany authored
llvm-svn: 155343
-
Anton Korobeynikov authored
Do not use stdint.h, driver might provide invalid location for it. Instead, provide the types directly. This should fix PR12628 llvm-svn: 155342
-
Kostya Serebryany authored
llvm-svn: 155341
-
Manuel Klimek authored
llvm-svn: 155340
-
Craig Topper authored
Use MVT instead of EVT through all of LowerVECTOR_SHUFFLEtoBlend and not just the switch. Saves a little bit of binary size. llvm-svn: 155339
-
Alexander Potapenko authored
llvm-svn: 155338
-
Craig Topper authored
Make getZeroVector and getOnesVector more alike as far as how they detect 128-bit versus 256-bit vectors. Be explicit about both sizes and use llvm_unreachable. Similar changes to getLegalSplat. llvm-svn: 155337
-
Craig Topper authored
llvm-svn: 155336
-
Craig Topper authored
Tidy up spacing in LowerVECTOR_SHUFFLEtoBlend. Remove code that checks if shuffle operand has a different type than the the shuffle result since it can never happen. llvm-svn: 155333
-
Craig Topper authored
llvm-svn: 155332
-
Craig Topper authored
llvm-svn: 155331
-
Craig Topper authored
llvm-svn: 155330
-
Chris Lattner authored
fixes an assert reading "1239123123123123" when the result is already 64-bit. llvm-svn: 155329
-
Bill Wendling authored
llvm-svn: 155328
-
Bill Wendling authored
intructions are processed. So there's no need to look at them if they're used as operands of other instructions. llvm-svn: 155327
-
Rafael Espindola authored
by a chrome build on OS X. Thanks to Nico Weber for testing a patch and providing the .ii file. llvm-svn: 155326
-
- Apr 22, 2012
-
-
Craig Topper authored
Make Extract128BitVector and Insert128BitVector take an unsigned instead of 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
-
Benjamin Kramer authored
Found by valgrind. llvm-svn: 155324
-
Benjamin Kramer authored
Remove unnecessary StringRef->char*->StringRef conversion, which read uninitialized memory if the input wasn't 0-terminated. Found by valgrind. llvm-svn: 155323
-
Craig Topper authored
llvm-svn: 155321
-
Craig Topper authored
Make calls to getVectorShuffle more consistent. Use shuffle VT for calls to getUNDEF instead of requerying. Use &Mask[0] instead of Mask.data(). llvm-svn: 155320
-