- Apr 05, 2013
-
-
Manman Ren authored
There is a difference for FORM_ref_addr between DWARF 2 and DWARF 3+. Since Eric is against guarding DWARF 2 ref_addr with DarwinGDBCompat, we are still in discussion on how to handle this. The correct solution is to update our header to say version 4 instead of version 2 and update tool chains as well. rdar://problem/13559431 llvm-svn: 178806
-
Adrian Prantl authored
llvm-svn: 178804
-
Hal Finkel authored
BCL is normally a conditional branch-and-link instruction, but has an unconditional form (which is used in the SjLj code, for example). To make clear that this BCL instruction definition is specifically the special unconditional form (which does not meaningfully take a condition-register input), rename it to BCLalways. No functionality change intended. llvm-svn: 178803
-
Hal Finkel authored
The DAGCombine logic that recognized a/sqrt(b) and transformed it into a multiplication by the reciprocal sqrt did not handle cases where the sqrt and the division were separated by an fpext or fptrunc. llvm-svn: 178801
-
- Apr 04, 2013
-
-
Jyotsna Verma authored
It fixes following tests for Hexagon: CodeGen/Generic/2003-07-29-BadConstSbyte.ll CodeGen/Generic/2005-10-21-longlonggtu.ll CodeGen/Generic/2009-04-28-i128-cmp-crash.ll CodeGen/Generic/MachineBranchProb.ll CodeGen/Generic/builtin-expect.ll CodeGen/Generic/pr12507.ll llvm-svn: 178794
-
Benjamin Kramer authored
OpndPtrs stored pointers into the Opnd vector that became invalid when the vector grows. Store indices instead. Sadly I only have a large testcase that only triggers under valgrind, so I didn't include it. llvm-svn: 178793
-
Richard Osborne authored
llvm-svn: 178783
-
Richard Osborne authored
At the time when the XCore backend was added there were some issues with with overlapping register classes but these all seem to be fixed now. Describing the register classes correctly allow us to get rid of a codegen only instruction (LDAWSP_lru6_RRegs) and it means we can disassemble ru6 instructions that use registers above r11. llvm-svn: 178782
-
Jakob Stoklund Olesen authored
The Thumb2SizeReduction pass avoids false CPSR dependencies, except it still aggressively creates tMOVi8 instructions because they are so common. Avoid creating false CPSR dependencies even for tMOVi8 instructions when the the CPSR flags are known to have high latency. This allows integer computation to overlap floating point computations. Also process blocks in a reverse post-order and propagate high-latency flags to successors. <rdar://problem/13468102> llvm-svn: 178773
-
Eli Bendersky authored
llvm-svn: 178771
-
Vincent Lejeune authored
llvm-svn: 178763
-
Vincent Lejeune authored
llvm-svn: 178762
-
Vincent Lejeune authored
llvm-svn: 178761
-
Jakob Stoklund Olesen authored
This requires v9 cmov instructions using the %xcc flags instead of the %icc flags. Still missing: - Select floats on %xcc flags. - Select i64 on %fcc flags. llvm-svn: 178737
-
Manman Ren authored
the target system. It was hard-coded to 4 bytes before. I can't get llvm to generate a ref_addr on a reasonably sized testing case. rdar://problem/13559431 llvm-svn: 178722
-
Michael Gottesman authored
Refactored out the helper method FindPredecessorAutoreleaseWithSafePath from ObjCARCOpt::OptimizeReturns. Now ObjCARCOpt::OptimizeReturns is easy to read and reason about. llvm-svn: 178715
-
Michael Gottesman authored
Refactored out the helper function FindPredecessorRetainWithSafePath from ObjCARCOpt::OptimizeReturns. llvm-svn: 178714
-
Michael Gottesman authored
Cleaned up trailing whitespace and added extra slashes in front of a function level comment so that it follow the convention of having 3 slashes. llvm-svn: 178712
-
Michael Gottesman authored
Refactored out a part of ObjCARCOpt::OptimizeReturns into its own method HasSafePathToPredecessorCall. llvm-svn: 178710
-
Michael Gottesman authored
llvm-svn: 178709
-
Michael Gottesman authored
Clean up arc annotations by moving the top/bottom BB annotations into conditional macros that no-op in Release mode instead of #ifdef sections of the code. This is to follow the example of the DEBUG macro. llvm-svn: 178705
-
- Apr 03, 2013
-
-
Arnold Schwaighofer authored
The default logic does not correctly identify costs of casts because they are marked as custom on x86. For some cases, where the shift amount is a scalar we would be able to generate better code. Unfortunately, when this is the case the value (the splat) will get hoisted out of the loop, thereby making it invisible to ISel. radar://13130673 radar://13537826 llvm-svn: 178703
-
Vincent Lejeune authored
llvm-svn: 178675
-
Aaron Ballman authored
llvm-svn: 178674
-
Hal Finkel authored
Incorporating review feedback from Bill Schmidt on r178617. No functionality change intended. llvm-svn: 178672
-
Vincent Lejeune authored
llvm-svn: 178667
-
Aaron Ballman authored
Testing for Visual Studio 2010 SP1 or greater before calling the _xgetbv intrinsic. This also fixes a minor code formatting issue. llvm-svn: 178666
-
Vincent Lejeune authored
llvm-svn: 178665
-
Vincent Lejeune authored
Mesa does not override llvm behavior wrt KILLGT anymore so llvm has to handle KILLGT on its own. llvm-svn: 178664
-
Eli Bendersky authored
llvm-svn: 178662
-
Hal Finkel authored
I discussed this with Bill Schmidt on IRC, and it was decided that this is a safe and reasonable default. llvm-svn: 178659
-
Hal Finkel authored
llvm-svn: 178658
-
Hal Finkel authored
llvm-svn: 178657
-
Ulrich Weigand authored
More direct types in PowerPC AltiVec intrinsics. This patch follows up on work done by Bill Schmidt in r178277, and replaces most of the remaining uses of VRRC in ISEL DAG patterns. The resulting .inc files are identical except for comments, so no change in code generation is expected. llvm-svn: 178656
-
Bill Schmidt authored
For this we need to use a libcall. Previously LLVM didn't implement libcall support for frem, so I've added it in the usual straightforward manner. A test case from the bug report is included. llvm-svn: 178639
-
Tim Northover authored
llvm-svn: 178637
-
Aaron Ballman authored
when getting the host processor information. It emits a .byte sequence on GNUC compilers to work around lack of xgetbv support with older assemblers, and resolves a comment typo found in the previous patch. llvm-svn: 178636
-
Timur Iskhodzhanov authored
llvm-svn: 178634
-
Tim Northover authored
It's a bit of churn in the blame log, but I think there are real benefits to the newer system so I'm making the change in one go. llvm-svn: 178633
-
Eric Christopher authored
llvm-svn: 178624
-