- May 04, 2014
-
-
Nico Weber authored
llvm-svn: 207921
-
Rafael Espindola authored
The fix itself is fairly simple: move getAccessVariant to MCValue so that we replace the old weak expression evaluation with the far more general EvaluateAsRelocatable. This then requires that EvaluateAsRelocatable stop when it finds a non trivial reference kind. And that in turn requires the ELF writer to look harder for weak references. Last but not least, this found a case where we were being bug by bug compatible with gas and accepting an invalid input. I reported pr19647 to track it. llvm-svn: 207920
-
Benjamin Kramer authored
That's exactly what TinyPtrVector was designed for. No functionality change. llvm-svn: 207919
-
Joey Gouly authored
http://reviews.llvm.org/D3598 llvm-svn: 207917
-
- May 03, 2014
-
-
Benjamin Kramer authored
There is no point in creating it if we're not going to vectorize anything. Creating the map is expensive as it creates large values. No functionality change. llvm-svn: 207916
-
Rafael Espindola authored
llvm-svn: 207915
-
Alp Toker authored
C++11 is now required. llvm-svn: 207914
-
Alp Toker authored
llvm-svn: 207913
-
Alp Toker authored
There's an element of guesswork involved in the GCC updates but it seems better than what was there before. llvm-svn: 207912
-
Rafael Espindola authored
llvm-svn: 207911
-
Rafael Espindola authored
llvm-svn: 207910
-
Rafael Espindola authored
llvm-svn: 207909
-
Benjamin Kramer authored
llvm-svn: 207908
-
Joerg Sonnenberger authored
llvm-svn: 207907
-
Yaron Keren authored
llvm-svn: 207906
-
Simon Atanasyan authored
which are corresponding to the current target read from the ELF file. This fix cannot be tested until obj2yaml does not support ELF format. llvm-svn: 207905
-
Simon Atanasyan authored
llvm-svn: 207904
-
Yaron Keren authored
llvm-svn: 207903
-
Chandler Carruth authored
a std::vector that allocates on the heap. As a consequence, we have to run all of their destructors when tearing down the set, not just deallocate the memory blobs. llvm-svn: 207902
-
Karthik Bhat authored
This patch adds support to recognize and vectorize intrinsic math functions in SLPVectorizer. Review: http://reviews.llvm.org/D3560 and http://reviews.llvm.org/D3559 llvm-svn: 207901
-
Chandler Carruth authored
initializing an array unless we need it. Specifically, position the creation of a new basic block after we've checked all of the cases that bypass the need for it. Fixes another leak in test/CodeGen* found by LSan. llvm-svn: 207900
-
Chandler Carruth authored
parsing. llvm-svn: 207899
-
Alp Toker authored
Having various possible states of initialization following construction doesn't add value here. Also remove the unused size_reserve parameter. llvm-svn: 207897
-
Alp Toker authored
llvm-svn: 207896
-
Alp Toker authored
llvm-svn: 207895
-
David Majnemer authored
ABIArgInfo was pretty hard to grok, it had data members with names like "BoolData0" and "UIntData". Constructors with lots of bool arguments. Reusing the same data member for multiple purposes. It was also wasteful with memory, this new layout is 8 bytes smaller. llvm-svn: 207894
-
David Majnemer authored
This was accidentally committed. This reverts commit r207892. llvm-svn: 207893
-
David Majnemer authored
Naming the destructor using a typedef-name for the class-name is well-formed. This fixes PR19620. llvm-svn: 207892
-
Nick Lewycky authored
llvm-svn: 207891
-
Nick Lewycky authored
Rewrite NRVO determination. Track NRVO candidates on the parser Scope and apply the NRVO candidate flag to all possible NRVO candidates here, and remove the flags in computeNRVO or upon template instantiation. A variable now has NRVO applied if and only if every return statement in that scope returns that variable. This is nearly optimal. Performs NRVO roughly 7% more often in a bootstrap build of clang. Patch co-authored by Richard Smith. llvm-svn: 207890
-
Reid Kleckner authored
Passing objects directly (in registers or memory) creates a second copy of the object in the callee. The callee always destroys its copy, but we also have to destroy any temporary created in the caller. In other words, copy elision of these kinds of objects is impossible. Objects larger than 8 bytes with non-trivial dtors and trivial copy ctors are still passed indirectly, and we can still elide copies of them. Fixes PR19640. llvm-svn: 207889
-
Chandler Carruth authored
condition to a constant and emit only the relevant statement. In that case, we were previously creating the epilog jump destination, a cleanup scope, and emitting any condition variable into it. Instead, we can emit the condition variable (if we have one) into the cleanup scope used for the entire folded case sequence. We avoid creating a jump dest, a basic block, and an extra cleanup scope. Win! llvm-svn: 207888
-
Adam Nemet authored
See PR19608 for the details but to summarize it was easy to modify the .ll file to get the desired def-use ordering. llvm-svn: 207887
-
Rui Ueyama authored
This reverts commit r207884 which was prematurely committed by accident. llvm-svn: 207886
-
Rui Ueyama authored
llvm-svn: 207885
-
Rui Ueyama authored
isAlias always returns false and no one is using it. It was originally added Atom to query if an atom is an alias for another atom, assuming that alias atoms are different from normal atoms. We now support atom aliasing, but the way that's implemented is in a different way than what isAlias assumed. An alias atom is just a regular defined atom with no content, and it has a layout- before edge to alias-to atom so that they are layed out at the same location in the result. So this is dead code, and it doesn't make much sense to keep it. llvm-svn: 207884
-
Richard Trieu authored
llvm-svn: 207883
-
Chandler Carruth authored
this is wasteful, blah blah, but this is a test utility only. It turns out that without doing this, libxml2 will always leak a bunch of the XML data, and that is causing failures with LSan. This is also quite a bit simpler and I don't think it is slow enough to really be a show stopper. If someone yells about the runtime of c-index-test, we can do other things to try to mitigate it, but the current strategy wasn't working well. llvm-svn: 207882
-
Hans Wennborg authored
We were synthesizing new arguments from e.g. '/Tcfile.c' arguments, but didn't handle ownership correctly. llvm-svn: 207880
-
Justin Bogner authored
llvm-svn: 207879
-