- Mar 12, 2013
-
-
Bill Wendling authored
llvm-svn: 176858
-
Akira Hatanaka authored
Delete commented-out code. llvm-svn: 176844
-
Meador Inge authored
Nadav reported a performance regression due to the work I did to merge the library call simplifier into instcombine [1]. The issue is that a new LibCallSimplifier object is being created whenever InstCombiner::runOnFunction is called. Every time a LibCallSimplifier object is used to optimize a call it creates a hash table to map from a function name to an object that optimizes functions of that name. For short-lived LibCallSimplifier instances this is quite inefficient. Especially for cases where no calls are actually simplified. This patch fixes the issue by dropping the hash table and implementing an explicit lookup function to correlate the function name to the object that optimizes functions of that name. This avoids the cost of always building and destroying the hash table in cases where the LibCallSimplifier object is short-lived and avoids the cost of building the table when no simplifications are actually preformed. On a benchmark containing 100,000 calls where none of them are simplified I noticed a 30% speedup. On a benchmark containing 100,000 calls where all of them are simplified I noticed an 8% speedup. [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130304/167639.html llvm-svn: 176840
-
David Blaikie authored
Versioned debug info support has been a burden to maintain & also compromised current debug info verification by causing test cases testing old debug info to remain rather than being updated to the latest. It also makes it hard to add or change the metadata schema by requiring various backwards-compatibility in the DI* hierarchy. So it's being removed in preparation for new changes to the schema to tidy up old/unnecessary fields and add new fields needed for new debug info (well, new to LLVM at least). The more surprising part of this is the changes to DI*::Verify - this became necessary due to the changes to AsmWriter. AsmWriter was relying on the version test to decide which bits of metadata were actually debug info when printing the comment annotations. Without the version information the tag numbers were too common & it would print debug info on random metadata that happened to start with an integer that matched a tag number. Instead this change makes the Verify functions more precise (just adding "number of operands" checks - not type checking those operands yet) & relies on that to decide which metadata is debug info metadata. llvm-svn: 176838
-
David Blaikie authored
llvm-svn: 176837
-
Eli Bendersky authored
llvm-svn: 176836
-
NAKAMURA Takumi authored
llvm-svn: 176835
-
- Mar 11, 2013
-
-
David Blaikie authored
These cases were found by further work to remove support for debug info versioning. Common cleanups (other than changing the version info in the tag field) included adding the last parameter to compile_units (recently added for fission support) and other cases of trailing fields in lexical blocks, compile units, and subprograms. llvm-svn: 176834
-
David Blaikie authored
llvm-svn: 176831
-
Nick Lewycky authored
lower an expect intrinsic that is a constant expression. llvm-svn: 176830
-
Kevin Enderby authored
rdar://13318048 llvm-svn: 176828
-
Bill Wendling authored
An invoke may require a table entry. For instance, when the function it calls is expected to throw. <rdar://problem/13360379> llvm-svn: 176827
-
Vincent Lejeune authored
This allows R600 Target to use the newly created -verify-misched llc flag llvm-svn: 176819
-
Eli Bendersky authored
llvm-svn: 176809
-
NAKAMURA Takumi authored
llvm-svn: 176808
-
Sean Silva authored
In the spirit of r172109. Version control keeps a far more detailed record of authorship anyways. llvm-svn: 176807
-
NAKAMURA Takumi authored
llvm-svn: 176798
-
NAKAMURA Takumi authored
llvm-svn: 176797
-
Lang Hames authored
llvm-svn: 176796
-
- Mar 10, 2013
-
-
Nick Lewycky authored
error above. Based on a patch by Peter Zotov! llvm-svn: 176794
-
Nick Lewycky authored
llvm-svn: 176793
-
Hal Finkel authored
After the recent data-structure improvements, a couple of debugging statements were broken (printing pointer values). llvm-svn: 176791
-
Jakub Staszak authored
llvm-svn: 176787
-
Jakub Staszak authored
llvm-svn: 176785
-
Jakub Staszak authored
llvm-svn: 176784
-
Jakub Staszak authored
llvm-svn: 176783
-
Jakub Staszak authored
llvm-svn: 176782
-
Craig Topper authored
Remove an unused member variable from HelpPrinter. Move another member variable to be a local variable in the only method that uses it. llvm-svn: 176778
-
- Mar 09, 2013
-
-
Lang Hames authored
intrinsic - it can cause impossible-to-schedule subgraphs to be introduced. PR15053. llvm-svn: 176777
-
Jakub Staszak authored
llvm-svn: 176776
-
Benjamin Kramer authored
This made us emit runtime checks in a random order. Hopefully bootstrap miscompares will go away now. llvm-svn: 176775
-
Benjamin Kramer authored
llvm-svn: 176773
-
Benjamin Kramer authored
llvm-svn: 176772
-
Jakub Staszak authored
llvm-svn: 176771
-
Jakub Staszak authored
llvm-svn: 176770
-
Arnold Schwaighofer authored
Ignore all DbgIntriniscInfo instructions instead of just DbgValueInst. llvm-svn: 176769
-
Arnold Schwaighofer authored
We want vectorization to happen at -g. Ignore calls to the dbg.value intrinsic and don't transfer them to the vectorized code. radar://13378964 llvm-svn: 176768
-
Benjamin Kramer authored
The strlen+memcmp was hidden in a call to StringRef::operator==. We check if there are any null bytes in the string upfront so we can simplify the comparison Small speedup when compiling code with many function calls. llvm-svn: 176766
-
Jakub Staszak authored
llvm-svn: 176765
-
Nick Lewycky authored
r176751. Also, learn a lesson about applying patches by hand/eyeball. llvm-svn: 176764
-