- Jan 08, 2011
-
-
Chris Lattner authored
Split memset formation logic out into its own "tryMergingIntoMemset" helper function. llvm-svn: 123081
-
- Dec 26, 2010
-
-
Chris Lattner authored
llvm-svn: 122572
-
Chris Lattner authored
llvm-svn: 122565
-
Benjamin Kramer authored
llvm-svn: 122561
-
- Dec 24, 2010
-
-
Benjamin Kramer authored
Fix a thinko pointed out by Frits van Bommel: looking through global variables in isBytewiseValue is not safe. llvm-svn: 122550
-
Benjamin Kramer authored
This allows us to compile "int cst[] = {-1, -1, -1};" into movl $-1, 16(%rsp) movq $-1, 8(%rsp) instead of movl _cst+8(%rip), %eax movl %eax, 16(%rsp) movq _cst(%rip), %rax movq %rax, 8(%rsp) llvm-svn: 122548
-
- Dec 23, 2010
-
-
Jeffrey Yasskin authored
new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458
-
- Dec 16, 2010
-
-
Dan Gohman authored
llvm-svn: 121944
-
- Dec 09, 2010
-
-
Chris Lattner authored
llvm-svn: 121362
-
Chris Lattner authored
substitution because it doesn't actually change the IR. Patch by Jakub Staszak! llvm-svn: 121361
-
- Dec 07, 2010
-
-
Jay Foad authored
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121120
-
- Dec 01, 2010
-
-
Chris Lattner authored
20040709-1.c from the gcc testsuite. I was using the size of a pointer instead of the pointee. This fixes rdar://8713376 llvm-svn: 120519
-
- Nov 30, 2010
-
-
Chris Lattner authored
llvm-svn: 120347
-
- Nov 21, 2010
-
-
Chris Lattner authored
llvm-svn: 119948
-
Chris Lattner authored
method in MemDep instead of inserting an instruction, doing a query, then removing it. Neither operation is effectively cached. llvm-svn: 119930
-
Chris Lattner authored
allowing the memcpy to be eliminated. Unfortunately, the requirements on byval's without explicit alignment are really weak and impossible to predict in the mid-level optimizer, so this doesn't kick in much with current frontends. The fix is to change clang to set alignment on all byval arguments. llvm-svn: 119916
-
- Nov 20, 2010
-
-
Benjamin Kramer authored
llvm-svn: 119908
-
- Nov 18, 2010
-
-
Chris Lattner authored
saying "it would be bad", give an example of what is going on. llvm-svn: 119695
-
Chris Lattner authored
refusing to optimize two memcpy's like this: copy A <- B copy C <- A if it couldn't prove that noalias(B,C). We can eliminate the copy by producing a memmove instead of memcpy. llvm-svn: 119694
-
Chris Lattner authored
source and dest are known to not overlap. llvm-svn: 119692
-
Chris Lattner authored
there is no need to check to see if the source and dest of a memcpy are noalias, behavior is undefined if not. llvm-svn: 119691
-
Chris Lattner authored
out of processMemCpy into its own function. llvm-svn: 119687
-
- Oct 20, 2010
-
-
Dan Gohman authored
uint64_t, plus fixes for places I missed before. llvm-svn: 116875
-
- Oct 19, 2010
-
-
Dan Gohman authored
llvm-svn: 116858
-
Dan Gohman authored
use uint64_t. llvm-svn: 116839
-
Owen Anderson authored
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
-
Dan Gohman authored
llvm-svn: 116815
-
- Oct 16, 2010
-
-
Owen Anderson authored
forwarding is implemented with a load/store pair rather than a memcpy. llvm-svn: 116637
-
- Oct 12, 2010
-
-
Owen Anderson authored
perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Oct 01, 2010
-
-
Eric Christopher authored
memcpy alignment is the minimum of the incoming alignments. Fixes PR 8266. llvm-svn: 115305
-
- Sep 25, 2010
-
-
Eric Christopher authored
of the source, not the original alignment since it may no longer be valid. Fixes rdar://8400094 llvm-svn: 114781
-
- Aug 06, 2010
-
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Jul 29, 2010
-
-
Gabor Greif authored
llvm-svn: 109687
-
- Jul 27, 2010
-
-
Gabor Greif authored
llvm-svn: 109510
-
Gabor Greif authored
llvm-svn: 109509
-
Gabor Greif authored
llvm-svn: 109502
-
- Jul 22, 2010
-
-
Gabor Greif authored
llvm-svn: 109092
-