- Aug 10, 2015
-
-
Chih-Hung Hsieh authored
These changes are for Android x86_64 targets to be compatible with current Android g++ and conform to AMD64 ABI. https://llvm.org/bugs/show_bug.cgi?id=23897 * Return type of long double (fp128) should be fp128, not x86_fp80. * Vararg of long double (fp128) could be in register and overflowed to memory. https://llvm.org/bugs/show_bug.cgi?id=24111 * Return value of long double (fp128) _Complex should be in memory like a structure of {fp128,fp128}. Differential Revision: http://reviews.llvm.org/D11437 llvm-svn: 244468
-
Mark Heffernan authored
This change adds the new unroll metadata "llvm.loop.unroll.enable" which directs the optimizer to unroll a loop fully if the trip count is known at compile time, and unroll partially if the trip count is not known at compile time. This differs from "llvm.loop.unroll.full" which explicitly does not unroll a loop if the trip count is not known at compile time With this change "#pragma unroll" generates "llvm.loop.unroll.enable" rather than "llvm.loop.unroll.full" metadata. This changes the semantics of "#pragma unroll" slightly to mean "unroll aggressively (fully or partially)" rather than "unroll fully or not at all". The motivating example for this change was some internal code with a loop marked with "#pragma unroll" which only sometimes had a compile-time trip count depending on template magic. When the trip count was a compile-time constant, everything works as expected and the loop is fully unrolled. However, when the trip count was not a compile-time constant the "#pragma unroll" explicitly disabled unrolling of the loop(!). Removing "#pragma unroll" caused the loop to be unrolled partially which was desirable from a performance perspective. llvm-svn: 244467
-
Mark Heffernan authored
This change adds the unroll metadata "llvm.loop.unroll.enable" which directs the optimizer to unroll a loop fully if the trip count is known at compile time, and unroll partially if the trip count is not known at compile time. This differs from "llvm.loop.unroll.full" which explicitly does not unroll a loop if the trip count is not known at compile time. The "llvm.loop.unroll.enable" is intended to be added for loops annotated with "#pragma unroll". llvm-svn: 244466
-
Chad Rosier authored
llvm-svn: 244465
-
Sanjay Patel authored
llvm-svn: 244464
-
Sanjay Patel authored
llvm-svn: 244463
-
Joerg Sonnenberger authored
llvm-svn: 244462
-
Yaron Keren authored
llvm-svn: 244461
-
Sanjay Patel authored
llvm-svn: 244460
-
Johannes Doerfert authored
With a deque (or any other sequential container) it is not sound to take the address of the elements when the container is still under construction. With a pointer based container this is save. llvm-svn: 244459
-
Sanjay Patel authored
llvm-svn: 244458
-
Yaron Keren authored
llvm-svn: 244457
-
Michael Kruse authored
The PHI node with multiple incoming edges from inside the region. Thanks Tobias for coming up with the example. llvm-svn: 244456
-
Yaron Keren authored
llvm-svn: 244455
-
Daniel Jasper authored
We couldn't calculate the removal ranges properly at this point. llvm-svn: 244454
-
David Blaikie authored
Summary: I've copy/pasted the LLVM_NOEXCEPT definition macro goo from LLVM's Compiler.h. Is there somewhere I should put this in Compiler RT? Is there a useful header to define/share things like this? Reviewers: samsonov Differential Revision: http://reviews.llvm.org/D11780 llvm-svn: 244453
-
Aaron Ballman authored
llvm-svn: 244452
-
Rafael Espindola authored
llvm-svn: 244451
-
Michael Kruse authored
The function to which this commit applies has been removed in a previous commit. llvm-svn: 244450
-
Silviu Baranga authored
Summary: This adds a hook to TTI which enables us to selectively turn on by default interleaved access vectorization for targets on which we have have performed the required benchmarking. Reviewers: rengolin Subscribers: rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D11901 llvm-svn: 244449
-
Fraser Cormack authored
The scalarizer can cache incorrect entries when walking up a chain of insertelement instructions. This occurs when it encounters more than one instruction that it is not actively searching for, as it unconditionally caches every element it finds. The fix is to only cache the first element that it isn't searching for so we don't overwrite correct entries. Reviewers: hfinkel Differential Revision: http://reviews.llvm.org/D11559 llvm-svn: 244448
-
Rafael Espindola authored
llvm-svn: 244447
-
Roman Kashitsyn authored
Summary: Add brace style `BS_WebKit` as described on https://www.webkit.org/coding/coding-style.html: * Function definitions: place each brace on its own line. * Other braces: place the open brace on the line preceding the code block; place the close brace on its own line. Set brace style used in `getWebKitStyle()` to the newly added `BS_WebKit`. Reviewers: djasper, klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D11837 llvm-svn: 244446
-
Michael Kruse authored
llvm-svn: 244445
-
Michael Kruse authored
Summary: Analogously to Function::viewCFG(), RegionInfo::view() and RegionInfo::viewOnly() are meant to be called in debugging sessions. They open a viewer to show how RegionInfo currently understands the region hierarchy. The functions viewRegion(Function*) and viewRegionOnly(Function*) invoke a fresh region analysis of the function in contrast to viewRegion(RegionInfo*) and viewRegionOnly(RegionInfo*) which show the current analysis result. Reviewers: grosser Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11875 llvm-svn: 244444
-
Michael Kruse authored
Summary: The extracted function buildBBScopStmt will be needed later to be invoked individually on the region's exit block. Reviewers: grosser, jdoerfert Subscribers: jdoerfert, llvm-commits, pollydev Projects: #polly Differential Revision: http://reviews.llvm.org/D11878 llvm-svn: 244443
-
Michael Kruse authored
This allows printing region graphs when only the RegionInfo (e.g. Region::getRegionInfo()), but no RegionInfoPass object is available. Specifically, we will use this to print RegionInfo graphs in the debugger. Differential version: http://reviews.llvm.org/D11874 Reviewed-by: grosser llvm-svn: 244442
-
Michael Kruse authored
Authorized-by: grosser llvm-svn: 244441
-
Michael Kruse authored
llvm-svn: 244440
-
Robert Lougher authored
PR24139 contains an analysis of poor register allocation. One of the findings was that when calculating the spill weight, a rematerializable interval once split is no longer rematerializable. This is because the isRematerializable check in CalcSpillWeights.cpp does not follow the copies introduced by live range splitting (after splitting, the live interval register definition is a copy which is not rematerializable). Reviewers: qcolombet Differential Revision: http://reviews.llvm.org/D11686 llvm-svn: 244439
-
Marina Yatsina authored
llvm-svn: 244438
-
John Brawn authored
-mkernel enables -fno-builtin and -fno-common by default, but allows -fbuiltin and -fcommon to override that. However "-fbuiltin -fno-builtin" is treated the same as "-fbuiltin" which is wrong, so fix that. Also fixes similar behaviour when -fno-common is default. Differential Revision: http://reviews.llvm.org/D11459 llvm-svn: 244437
-
Jason Molenda authored
contained within Process so that we won't be duplicating the warning message if other parts of the code want to issue the message. Change Process::PrintWarning to be a protected method - the public method will be the PrintWarningOptimization et al. Also, Have Thread::FunctionOptimizationWarning shortcut out if the warnings have been disabled so that we don't (potentially) compute parts of the SymbolContext unnecessarily. llvm-svn: 244436
-
Daniel Marjamaki authored
[Static Analyzer] Warn when inner and outer conditions are identical. The inner condition is always true. Reviewed in http://reviews.llvm.org/D10892. llvm-svn: 244435
-
Yaron Keren authored
llvm-svn: 244434
-
Filipe Cabecinhas authored
llvm-svn: 244433
-
NAKAMURA Takumi authored
Note, I didn't reformat entirely, but partially where I touched in previous commits. llvm-svn: 244432
-
NAKAMURA Takumi authored
llvm-svn: 244431
-
NAKAMURA Takumi authored
llvm-svn: 244430
-
NAKAMURA Takumi authored
llvm-svn: 244429
-