- Jan 14, 2015
-
-
Hans Wennborg authored
llvm-svn: 226004
-
Colin LeMahieu authored
[Hexagon] Deleting versions of compare-not that don't have encoding information. Updating references. llvm-svn: 226003
-
Sanjay Patel authored
llvm-svn: 225991
-
Tom Stellard authored
This helps us avoid 'invalid register class for operand' verifier errors. llvm-svn: 225989
-
Tom Stellard authored
llvm-svn: 225988
-
Olivier Sallenave authored
llvm-svn: 225987
-
Olivier Sallenave authored
Override the TLI callback enableAggressiveFMAFusion and return true. Indeed, fmul, fmadd and fadd nodes cost the same number of cycles, so we can enable more combining heuristics to produce more fmadd nodes. llvm-svn: 225984
-
Rafael Espindola authored
This can happen if: * It is present in a comdat in one file. * It is not present in the comdat of the file that is kept. * Is is not used. This should fix the LTO boostrap. Thanks to Takumi NAKAMURA for setting up the bot! llvm-svn: 225983
-
Vladimir Medic authored
llvm-svn: 225980
-
Erik Eckstein authored
This speeds up the dependency calculations for blocks with many load/store/call instructions. Beside the improved runtime, there is no functional change. Compared to the original commit, this re-applied commit contains a bug fix which ensures that there are no incorrect collisions in the alias cache. llvm-svn: 225977
-
Chandler Carruth authored
utils/sort_includes.py. I clearly haven't done this in a while, so more changed than usual. This even uncovered a missing include from the InstrProf library that I've added. No functionality changed here, just mechanical cleanup of the include order. llvm-svn: 225974
-
Jyoti Allur authored
llvm-svn: 225972
-
Chandler Carruth authored
Now that the passes are wrappers around this, we no longer need a vtable, virtual destructor, and other associated mess. This is particularly nice to me as this is a class template. =] llvm-svn: 225970
-
Chandler Carruth authored
This adds the domtree analysis to the new pass manager. The analysis returns the same DominatorTree result entity used by the old pass manager and essentially all of the code is shared. We just have different boilerplate for running and printing the analysis. I've converted one test to run in both modes just to make sure this is exercised while both are live in the tree. llvm-svn: 225969
-
Kai Nacke authored
This commit refines the pattern for the octeon seq/seqi/sne/snei instructions. The target register is set to 0 or 1 according to the result of the comparison. In C, this is something like rd = (unsigned long)(rs == rt) This commit adds a zext to bring the result to i64. With this change the instruction is selected for this type of code. (gcc produces the same code for the above C code.) llvm-svn: 225968
-
Vladimir Medic authored
llvm-svn: 225967
-
Chandler Carruth authored
into the new pass manager's analysis cache which stores results by-value. Technically speaking, the dom trees were originally not movable but copyable! This, unsurprisingly, didn't work at all -- the copy was shallow and just resulted in rampant memory corruption. This change explicitly forbids copying (as it would need to be a deep copy) and makes them explicitly movable with the unsurprising boiler plate to member-wise move them because we can't rely on MSVC to generate this code for us. =/ llvm-svn: 225966
-
Brad Smith authored
llvm-svn: 225957
-
David Majnemer authored
The buildbots got upset after r225941, this should hopefully fix things. llvm-svn: 225954
-
Mehdi Amini authored
This option takes the name of the basic block you want to visualize with -view-*-dags Differential Revision: http://reviews.llvm.org/D6948 llvm-svn: 225953
-
Mehdi Amini authored
In case folding a node end up with a NaN as operand for the select, the folding of the condition of the selectcc node returns "UNDEF". Differential Revision: http://reviews.llvm.org/D6889 llvm-svn: 225952
-
Mehdi Amini authored
llvm-svn: 225951
-
Saleem Abdulrasool authored
If there is no associated immediate (MS style inline asm), do not try to access the operand, assume that it is valid. This should fix the buildbots after SVN r225941. llvm-svn: 225950
-
Mehdi Amini authored
When processing an array, every Elt has the same layout, it is useless to recursively call each ComputeLinearIndex on each element. Just do it once and multiply by the number of elements. Differential Revision: http://reviews.llvm.org/D6832 llvm-svn: 225949
-
JF Bastien authored
This reverts commit: http://reviews.llvm.org/D3392 llvm-svn: 225948
-
Duncan P. N. Exon Smith authored
Copy the `GVMap` over to a standard `ValueToValueMapTy` so that we can reuse the `MapMetadata()` logic. Unfortunately the `GVMap` can't just be replaced, since `MapMetadata()` likes to modify the map, but at least this will prevent NVPTX from bitrotting. llvm-svn: 225944
-
Duncan P. N. Exon Smith authored
The comment is incorrect, and the code mangles debug info. Remove the bad logic, which wasn't tested anyway. llvm-svn: 225943
-
Saleem Abdulrasool authored
The int instruction takes as an operand an 8-bit immediate value. Validate that the input is valid rather than silently truncating the value. llvm-svn: 225941
-
NAKAMURA Takumi authored
Disable a couple of tests, CodeGen/X86/noop-insert.ll and CodeGen/X86/noop-insert-percentage.ll, in r225908, to unbreak tests. llvm-svn: 225940
-
Chandler Carruth authored
class members are implicitly "inline", no key word needed. Naturally, this could change how LLVM inlines these functions because <GRR>, but that's not an excuse to use the keyword. ;] llvm-svn: 225939
-
Chandler Carruth authored
significantly. Clean it up with the help of clang-format. I've touched this up by hand in a couple of places that weren't quite right (IMO). I think most of these actually have bugs open about already. llvm-svn: 225938
-
Chandler Carruth authored
formatted or placed incorrectly. llvm-svn: 225937
-
Chandler Carruth authored
Correct, we have *zero* basic testing of the dominator tree in the regression test suite. There is a single test that even prints it out, and that test only checks a single line of the output. There are a handful of tests that check post dominators, but all of those are looking for bugs rather than just exercising the basic machinery. This test is super boring and unexciting. But hey, it's something. I needed there to be something so I could switch the basic test to run with both the old and new pass manager. llvm-svn: 225936
-
Hao Liu authored
I.E. more than two -> exactly two Fix a typo function name in LoopVectorize. I.E. collectStrideAcccess() -> collectStrideAccess() llvm-svn: 225935
-
NAKAMURA Takumi authored
llvm-svn: 225933
-
Richard Trieu authored
complain that the flag doesn't exist. llvm-svn: 225931
-
Tim Northover authored
Somehow we seem to have ended up without any actual tests of the CodeGen side. Easy enough to fix. llvm-svn: 225930
-
Duncan P. N. Exon Smith authored
llvm-svn: 225929
-
Hal Finkel authored
The form of nops used is CPU-specific (some CPUs, such as the POWER7, have special group-terminating nops). We probably want a different callback for this kind of nop insertion (something more like MCAsmBackend::writeNopData), or for PPC to use a different mechanism for scheduling nops, but this will stop the test from failing for now. llvm-svn: 225928
-
Matt Arsenault authored
This reduces coverage for Evergreen, since the more complete tests have those run lines disabled. llvm-svn: 225927
-