- May 03, 2012
-
-
Sirish Pande authored
This adds new instructions for Hexagon V4 architecture. llvm-svn: 156071
-
- May 01, 2012
-
-
Bill Wendling authored
The TargetPassManager's default constructor wants to initialize the PassManager to 'null'. But it's illegal to bind a null reference to a null l-value. Make the ivar a pointer instead. PR12468 llvm-svn: 155902
-
- Apr 23, 2012
-
-
Preston Gurd authored
on X86 Atom. Some of our tests failed because the tail merging part of the BranchFolding pass was creating new basic blocks which did not contain live-in information. When the anti-dependency code in the Post-RA scheduler ran, it would sometimes rename the register containing the function return value because the fact that the return value was live-in to the subsequent block had been lost. To fix this, it is necessary to run the RegisterScavenging code in the BranchFolding pass. This patch makes sure that the register scavenging code is invoked in the X86 subtarget only when post-RA scheduling is being done. Post RA scheduling in the X86 subtarget is only done for Atom. This patch adds a new function to the TargetRegisterClass to control whether or not live-ins should be preserved during branch folding. This is necessary in order for the anti-dependency optimizations done during the PostRASchedulerList pass to work properly when doing Post-RA scheduling for the X86 in general and for the Intel Atom in particular. The patch adds and invokes the new function trackLivenessAfterRegAlloc() instead of using the existing requiresRegisterScavenging(). It changes BranchFolding.cpp to call trackLivenessAfterRegAlloc() instead of requiresRegisterScavenging(). It changes the all the targets that implemented requiresRegisterScavenging() to also implement trackLivenessAfterRegAlloc(). It adds an assertion in the Post RA scheduler to make sure that post RA liveness information is available when it is needed. It changes the X86 break-anti-dependencies test to use –mcpu=atom, in order to avoid running into the added assertion. Finally, this patch restores the use of anti-dependency checking (which was turned off temporarily for the 3.1 release) for Intel Atom in the Post RA scheduler. Patch by Andy Zhang! Thanks to Jakob and Anton for their reviews. llvm-svn: 155395
-
Chandler Carruth authored
test suite failures. The failures occur at each stage, and only get worse, so I'm reverting all of them. Please resubmit these patches, one at a time, after verifying that the regression test suite passes. Never submit a patch without running the regression test suite. llvm-svn: 155372
-
Sirish Pande authored
llvm-svn: 155367
-
Sirish Pande authored
llvm-svn: 155366
-
Sirish Pande authored
llvm-svn: 155365
-
- Apr 21, 2012
-
-
NAKAMURA Takumi authored
Thanks to Andy Gibbs, to report the issue. llvm-svn: 155287
-
NAKAMURA Takumi authored
llvm-svn: 155286
-
NAKAMURA Takumi authored
llvm-svn: 155281
-
- Apr 20, 2012
-
-
Craig Topper authored
Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent. llvm-svn: 155188
-
- Apr 18, 2012
-
-
Chandler Carruth authored
commits have had several major issues pointed out in review, and those issues are not being addressed in a timely fashion. Furthermore, this was all committed leading up to the v3.1 branch, and we don't need piles of code with outstanding issues in the branch. It is possible that not all of these commits were necessary to revert to get us back to a green state, but I'm going to let the Hexagon maintainer sort that out. They can recommit, in order, after addressing the feedback. Reverted commits, with some notes: Primary commit r154616: HexagonPacketizer - There are lots of review comments here. This is the primary reason for reverting. In particular, it introduced large amount of warnings due to a bad construct in tablegen. - Follow-up commits that should be folded back into this when reposting: - r154622: CMake fixes - r154660: Fix numerous build warnings in release builds. - Please don't resubmit this until the three commits above are included, and the issues in review addressed. Primary commit r154695: Pass to replace transfer/copy ... - Reverted to minimize merge conflicts. I'm not aware of specific issues with this patch. Primary commit r154703: New Value Jump. - Primarily reverted due to merge conflicts. - Follow-up commits that should be folded back into this when reposting: - r154703: Remove iostream usage - r154758: Fix CMake builds - r154759: Fix build warnings in release builds - Please incorporate these fixes and and review feedback before resubmitting. Primary commit r154829: Hexagon V5 (floating point) support. - Primarily reverted due to merge conflicts. - Follow-up commits that should be folded back into this when reposting: - r154841: Remove unused variable (fixing build warnings) There are also accompanying Clang commits that will be reverted for consistency. llvm-svn: 155047
-
- Apr 16, 2012
-
-
David Blaikie authored
llvm-svn: 154841
-
Sirish Pande authored
llvm-svn: 154829
-
- Apr 15, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 154759
-
NAKAMURA Takumi authored
llvm-svn: 154758
-
- Apr 13, 2012
-
-
Sirish Pande authored
llvm-svn: 154703
-
Sirish Pande authored
llvm-svn: 154696
-
Sirish Pande authored
llvm-svn: 154695
-
Craig Topper authored
Silence various build warnings from Hexagon backend that show up in release builds. Mostly converting 'assert(0)' to 'llvm_unreachable' to silence warnings about missing returns. Also fold some variable declarations into asserts to prevent the variables from being unused in release builds. llvm-svn: 154660
-
Ted Kremenek authored
llvm-svn: 154622
-
- Apr 12, 2012
-
-
Evandro Menezes authored
llvm-svn: 154620
-
Sirish Pande authored
llvm-svn: 154616
-
Evandro Menezes authored
llvm-svn: 154597
-
- Mar 27, 2012
-
-
Craig Topper authored
llvm-svn: 153502
-
- Mar 22, 2012
-
-
Craig Topper authored
llvm-svn: 153245
-
- Mar 17, 2012
-
-
Craig Topper authored
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. llvm-svn: 152997
-
Craig Topper authored
llvm-svn: 152981
-
Craig Topper authored
llvm-svn: 152980
-
Craig Topper authored
Pass TargetOptions to HexagonTargetMachine constructor by reference to match other targets and the base class. llvm-svn: 152979
-
- Mar 11, 2012
-
-
Craig Topper authored
llvm-svn: 152538
-
- Mar 05, 2012
-
-
Craig Topper authored
llvm-svn: 152016
-
- Mar 04, 2012
-
-
Craig Topper authored
llvm-svn: 152001
-
Craig Topper authored
llvm-svn: 151996
-
- Feb 28, 2012
-
-
Evan Cheng authored
llvm-svn: 151645
-
Daniel Dunbar authored
Revert r151623 "Some ARM implementaions, e.g. A-series, does return stack prediction. ...", it is breaking the Clang build during the Compiler-RT part. llvm-svn: 151630
-
Evan Cheng authored
the processor keeps a return addresses stack (RAS) which stores the address and the instruction execution state of the instruction after a function-call type branch instruction. Calling a "noreturn" function with normal call instructions (e.g. bl) can corrupt RAS and causes 100% return misprediction so LLVM should use a unconditional branch instead. i.e. mov lr, pc b _foo The "mov lr, pc" is issued in order to get proper backtrace. rdar://8979299 llvm-svn: 151623
-
Evandro Menezes authored
llvm-svn: 151582
-
- Feb 27, 2012
-
-
Craig Topper authored
Remove HexagonGenIntrinsics.inc from Hexagon cmake file. It does not appear in the Makefile and the output it produces isn't used. The Hexagon intrinsics are all in the global Intrinsics.gen. llvm-svn: 151514
-
- Feb 24, 2012
-
-
Benjamin Kramer authored
llvm-svn: 151398
-