- Jun 03, 2012
-
-
Craig Topper authored
llvm-svn: 157902
-
Craig Topper authored
llvm-svn: 157899
-
Craig Topper authored
Rename fma4 intrinsics to just fma since they are now used for both FMA4 and FMA3. Autoupgrade support coming in a separate commit. llvm-svn: 157898
-
Manman Ren authored
llvm-svn: 157896
-
Craig Topper authored
Use sse_load_f32/64 for scalar FMA3 intrinsic patterns instead of 128-bit loads to match instruction behavior. llvm-svn: 157895
-
Craig Topper authored
llvm-svn: 157894
-
- Jun 02, 2012
-
-
Benjamin Kramer authored
Apart from being slightly cheaper, this fixes a real bug that hits 32 bit linux systems. When passing a file larger than 2G to be linked (which isn't that uncommon with large projects such as WebKit), clang's driver checks if the file exists but the file size doesn't fit in an off_t and stat(2) fails with EOVERFLOW. Clang then says that the file doesn't exist instead of passing it to the linker. llvm-svn: 157891
-
-
Stepan Dyatkovskiy authored
IntRange converted from struct to class. So main change everywhere is replacement of ".Low/High" with ".getLow/getHigh()" llvm-svn: 157884
-
Stepan Dyatkovskiy authored
IntegersSubsetGeneric, IntegersSubsetMapping: added IntTy template parameter, that allows use either APInt or IntItem. This change allows to write unittest for these classes. llvm-svn: 157880
-
Akira Hatanaka authored
Check that the SDValue TargetLowering::LowerOperation returns is not null before replacing the original node with the returned node. llvm-svn: 157873
-
Chris Lattner authored
llvm-svn: 157872
-
Akira Hatanaka authored
llvm-svn: 157867
-
Akira Hatanaka authored
llvm-svn: 157866
-
Akira Hatanaka authored
llvm-svn: 157865
-
Akira Hatanaka authored
custom-lower unaligned load and store nodes. llvm-svn: 157864
-
Akira Hatanaka authored
llvm-svn: 157863
-
Akira Hatanaka authored
This is the first of a series of patches which make changes to the backend to emit unaligned load/store instructions (lwl,lwr,swl,swr) during instruction selection. llvm-svn: 157862
-
Akira Hatanaka authored
the MachineOperand type has a valid offset. llvm-svn: 157861
-
Jakob Stoklund Olesen authored
No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). llvm-svn: 157854
-
Bill Wendling authored
inject some code in that will run via the "__mod_init_func" method that registers the gcov "writeout" function to execute at exit time. The problem is that the "__mod_term_func" method of specifying d'tors is deprecated on Darwin. And it can lead to some ambiguities when dealing with multiple libraries. <rdar://problem/11110106> llvm-svn: 157852
-
Jakob Stoklund Olesen authored
After physreg coalescing was disabled, these functions can't do anything useful with physregs anyway. llvm-svn: 157849
-
Jakob Stoklund Olesen authored
MCRegAliasIterator can include Reg itself in the list. llvm-svn: 157848
-
- Jun 01, 2012
-
-
Rafael Espindola authored
This removes a bit of context from the verifier erros, but reduces code duplication in a fairly critical part of LLVM and makes dominates easier to test. llvm-svn: 157845
-
Chad Rosier authored
then DestReg is undefined. llvm-svn: 157840
-
Jakob Stoklund Olesen authored
MCRegAliasIterator can optionally visit the register itself, allowing for simpler code. llvm-svn: 157837
-
Manman Ren authored
This patch will optimize the following: sub r1, r3 cmp r3, r1 or cmp r1, r3 bge L1 TO sub r1, r3 bge L1 or ble L1 If the branch instruction can use flag from "sub", then we can eliminate the "cmp" instruction. llvm-svn: 157831
-
Manman Ren authored
Factor out the expansion code into a function. This change is to be enabled in clang. rdar://9877866 llvm-svn: 157830
-
Nuno Lopes authored
BoundsChecking: fix a bug when the handling of recursive PHIs failed and could leave dangling references in the cache add regression tests for this problem. Can already compile & run: PHP, PCRE, and ICU (i.e., all the software I tried) llvm-svn: 157822
-
Hans Wennborg authored
This implements codegen support for accesses to thread-local variables using the local-dynamic model, and adds a clean-up pass so that the base address for the TLS block can be re-used between local-dynamic access on an execution path. llvm-svn: 157818
-
Stepan Dyatkovskiy authored
IntegersSubset devided into IntegersSubsetGeneric and into IntegersSubset itself. The first has no references to ConstantInt and works with IntItem only. IntegersSubsetMapping also made generic. Here added second template parameter "IntegersSubsetTy" that allows to use on of two IntegersSubset types described below. llvm-svn: 157815
-
Chris Lattner authored
llvm-svn: 157813
-
Stepan Dyatkovskiy authored
IntItem cleanup. IntItemBase, IntItemConstantIntImp and IntItem merged into IntItem. All arithmetic operators was propogated from APInt. Also added comparison operators <,>,<=,>=. Currently you will find set of macros that propogates operators from APInt to IntItem in the beginning of IntegerSubset. Note that THESE MACROS WILL REMOVED after all passes will case-ranges compatible. Also note that these macros much smaller pain that something like this: if (V->getValue().ugt(AnotherV->getValue()) { ... } These changes made IntItem full featured integer object. It allows to make IntegerSubset class generic (move out all ConstantInt references inside and add unit-tests) in next commits. llvm-svn: 157810
-
Craig Topper authored
llvm-svn: 157805
-
Craig Topper authored
Remove fadd(fmul) patterns for FMA3. This needs to be implemented by paying attention to FP_CONTRACT and matching @llvm.fma which is not available yet. This will allow us to enablle intrinsic use at least though. llvm-svn: 157804
-
Craig Topper authored
llvm-svn: 157802
-
Craig Topper authored
llvm-svn: 157801
-
Chris Lattner authored
in multiple-return value scenarios, like what happens on X86-64 when returning small structs. llvm-svn: 157800
-
Craig Topper authored
llvm-svn: 157799
-
Chris Lattner authored
types, as well as int<->ptr casts. This allows us to tailcall functions with some trivial casts between the call and return (i.e. because the return types disagree). llvm-svn: 157798
-