- Mar 10, 2014
-
-
Reed Kotler authored
llvm-svn: 203469
-
JF Bastien authored
llvm-svn: 203468
-
Benjamin Kramer authored
No functionality change. llvm-svn: 203465
-
Daniel Sanders authored
Summary: This is a white lie to workaround a widespread bug in the -mfp64 implementation. The problem is that none of the 32-bit fpu ops mention the fact that they clobber the upper 32-bits of the 64-bit FPR. This allows MFHC1 to be scheduled on the wrong side of most 32-bit FPU ops. Fixing that requires a major overhaul of the FPU implementation which can't be done right now due to time constraints. MFHC1 is one of two affected instructions. These instructions are the only FPU instructions that don't read or write the lower 32-bits. We therefore pretend that it reads the bottom 32-bits to artificially create a dependency and prevent the scheduler changing the behaviour of the code. The other instruction is MTHC1 which will be fixed once I've have found a failing test case for it. The testcase is test-suite/SingleSource/UnitTests/Vector/simple.c when given TARGET_CFLAGS="-mips32r2 -mfp64 -mmsa". Reviewers: jacksprat, matheusalmeida Reviewed By: jacksprat Differential Revision: http://llvm-reviews.chandlerc.com/D2966 llvm-svn: 203464
-
Aaron Ballman authored
Removing llvm::distance and llvm::copy for iterator_range based on post-commit review feedback. Adding an explicit range-based constructor to SmallVector, which supersedes the llvm::copy functionality. llvm-svn: 203460
-
Matheus Almeida authored
llvm-svn: 203459
-
Tim Northover authored
The function was making too many assumptions about its input: 1. The NEON_VDUP optimisation was far too aggressive, assuming (I think) that the input would always be BUILD_VECTOR. 2. We were treating most unknown concats as legal (by returning Op rather than SDValue()). I think only concats of pairs of vectors are actually legal. http://llvm.org/PR19094 llvm-svn: 203450
-
Chandler Carruth authored
as well. I don't see any particular need but it imposes no cost to support it and it makes the API cleaner. llvm-svn: 203448
-
Chandler Carruth authored
now that there is essentially no cost to doing so. Yay C++11. llvm-svn: 203447
-
Craig Topper authored
llvm-svn: 203444
-
Craig Topper authored
llvm-svn: 203442
-
Chandler Carruth authored
and caught by the MSan bootstrap build bot. This should hopefully get the bot green at long last. llvm-svn: 203441
-
Craig Topper authored
llvm-svn: 203440
-
Craig Topper authored
llvm-svn: 203439
-
Chandler Carruth authored
commit. Sorry for the churn, just trying to keep it out of any functionality changed. llvm-svn: 203438
-
Chandler Carruth authored
the stack of the analysis group because they are all immutable passes. This is made clear by Craig's recent work to use override systematically -- we weren't overriding anything for 'finalizePass' because there is no such thing. This is kind of a lame restriction on the API -- we can no longer push and pop things, we just set up the stack and run. However, I'm not invested in building some better solution on top of the existing (terrifying) immutable pass and legacy pass manager. llvm-svn: 203437
-
NAKAMURA Takumi authored
- Use constructor instead of initializer list. - Disable ManyUnusedBits for now. llvm-svn: 203436
-
Chandler Carruth authored
llvm-svn: 203435
-
Chandler Carruth authored
lines under 80-columns, etc. llvm-svn: 203434
-
Craig Topper authored
llvm-svn: 203433
-
Chandler Carruth authored
clang-format, but with some modifications by me where it got things wrong or got confused. llvm-svn: 203432
-
Chandler Carruth authored
constructors from the classes which only have a single reference member to many other places. This resulted in them copying their single member instead of moving. =/ Fix this. There's really not a useful test to add sadly because these move constructors are only called when something deep inside some standard library implementation *needs* to move them. Many of the types aren't even user-impacting types. Or, the objects are copyable anyways and so the result was merely a performance problem rather than a correctness problem. Anyways, thanks for the review. And this is a great example of why I wish I colud have the compiler write these for me. llvm-svn: 203431
-
David Majnemer authored
This is fallout from r203429. llvm-svn: 203430
-
David Majnemer authored
Split by comma once instead of multiple times. Moving this upfront makes the rest of the code considerably simpler. No functional change. llvm-svn: 203429
-
Chandler Carruth authored
class that might (at some point) need them. llvm-svn: 203428
-
Chandler Carruth authored
members as being te workaround MSVC. llvm-svn: 203427
-
Chandler Carruth authored
synthesize a move constructor. Thus, for any types where move semantics are important (yea, that's essentially every type...) you must explicitly define the special members. Do so systematically throughout the pass manager as the core of the design relies heavily on move semantics. This will hopefully fix the build with MSVC 2013. We still don't know why MSVC 2012 accepted this code, but it almost certainly wasn't doing the right thing. I've also added explicit to a few single-argument constructors spotted in passing. llvm-svn: 203426
-
Venkatraman Govindaraju authored
llvm-svn: 203424
-
Bob Wilson authored
llvm-svn: 203423
-
- Mar 09, 2014
-
-
Ed Maste authored
FreeBSD's rtld requires the DF_ORIGIN flag set in order to process $ORIGIN in rpath. FreeBSD bug http://bugs.freebsd.org/187114 llvm-svn: 203419
-
Craig Topper authored
llvm-svn: 203418
-
Benjamin Kramer authored
No functionality change. llvm-svn: 203415
-
Benjamin Kramer authored
llvm-svn: 203414
-
Benjamin Kramer authored
No change in functionality. llvm-svn: 203413
-
Chandler Carruth authored
Still more work to be done here to leverage C++11, but this clears out the glaring issues. llvm-svn: 203395
-
Chandler Carruth authored
llvm-svn: 203394
-
Ahmed Charles authored
llvm-svn: 203393
-
Chandler Carruth authored
horrible smart pointer by std::unique_ptr and strict move semantics, rip this out. llvm-svn: 203392
-
Chandler Carruth authored
it is available. Also make the move semantics sufficiently correct to tolerate move-only passes, as the PassManagers *are* move-only passes. llvm-svn: 203391
-
Ahmed Charles authored
llvm-svn: 203387
-