- Aug 20, 2009
-
-
Dan Gohman authored
TargetData to find the pointer size. llvm-svn: 79490
-
Dan Gohman authored
array member of a struct, it's possible to land in an arbitrary position inside that struct, such that attempting to find further getelementptr indices will fail. In such cases, folding cannot be done. llvm-svn: 79485
-
Dale Johannesen authored
llvm-svn: 79484
-
- Aug 19, 2009
-
-
Bill Wendling authored
llvm-svn: 79447
-
Daniel Dunbar authored
llvm-svn: 79445
-
Dan Gohman authored
static extents of the static array type, it causes GlobalOpt and other passes to be more conservative. This canonicalization also allows the constant folder to add "inbounds" to GEPs. llvm-svn: 79440
-
Dan Gohman authored
a smaller encoding. These kinds of patterns are very frequent in sqlite3, for example. llvm-svn: 79439
-
Erick Tryzelaar authored
llvm-svn: 79430
-
Bob Wilson authored
This is derived from a patch by Anton Korzh. I modified it to recognize the VEXT shuffles during legalization and lower them to a target-specific DAG node. llvm-svn: 79428
-
Eli Friedman authored
llvm-svn: 79415
-
Nick Lewycky authored
delete a newed pointer, and improve readability a little bit. llvm-svn: 79411
-
Erick Tryzelaar authored
llvm-svn: 79410
-
Chris Lattner authored
llvm-svn: 79408
-
Dan Gohman authored
before performing optimizations based on constant string values. llvm-svn: 79384
-
Dan Gohman authored
SRA_PARTS, as is done for SRL, SHL, and SRA. llvm-svn: 79380
-
- Aug 18, 2009
-
-
Richard Osborne authored
llvm-svn: 79368
-
Richard Osborne authored
llvm-svn: 79351
-
Daniel Dunbar authored
llvm-svn: 79350
-
Dan Gohman authored
llvm-svn: 79348
-
Chris Lattner authored
llvm-svn: 79345
-
Dan Gohman authored
TargetData is not present. It still uses TargetData when available. This generalization also fixed some limitations in the TargetData case; the attached testcase covers this. llvm-svn: 79344
-
Dan Gohman authored
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because it breaks assumptions made in MachineBasicBlock::isOnlyReachableByFallthrough. Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase for PR4732. test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to it being bugpoint-reduced to the point where it doesn't matter what the condition for the branch is. Add some more interesting code to test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase that originally motivated the RemoveDuplicateSuccessor code, to help verify that the original problem isn't being re-broken. llvm-svn: 79338
-
Dan Gohman authored
unruly indices for arrays that are members of structs. llvm-svn: 79337
-
Evan Cheng authored
llvm-svn: 79318
-
Anton Korobeynikov authored
try to use i686-darwin to build for arm-eabi, you'll quickly run into several false assumptions that the target OS must be the same as the host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to help builds like "make check" and the test-suite able to cross compile. Along the way a target of *-unknown-eabi is defined as "Freestanding" so that TARGET_OS checks have something to work with. Patch by Sandeep Patel! llvm-svn: 79296
-
Dale Johannesen authored
for a single "m" constraint; this is wrong because the opcode of a load or store would have to change in parallel. This patch makes it always compute addresses into a register, which is correct but not as efficient as possible. 7144566. llvm-svn: 79292
-
Devang Patel authored
llvm-svn: 79289
-
- Aug 17, 2009
-
-
Nick Lewycky authored
llvm-svn: 79257
-
Nick Lewycky authored
llvm-svn: 79252
-
Richard Osborne authored
if not supported by the ELF subtarget. llvm-svn: 79249
-
Duncan Sands authored
llvm-svn: 79235
-
Nick Lewycky authored
llvm-svn: 79230
-
Nick Lewycky authored
llvm-svn: 79226
-
Erick Tryzelaar authored
llvm-svn: 79214
-
- Aug 16, 2009
-
-
Eli Friedman authored
unfoldable references to a PHI node in the block being folded, and disable the transformation in that case. The correct transformation of such PHI nodes depends on whether BB dominates Succ, and dominance is expensive to compute here. (Alternatively, it's possible to check whether any uses are live, but that's also essentially a dominance calculation. Another alternative is to use reg2mem, but it probably isn't a good idea to use that in simplifycfg.) Also, remove some incorrect code from CanPropagatePredecessorsForPHIs which is made unnecessary with this patch: it didn't consider the case where a PHI node in BB has multiple uses. llvm-svn: 79174
-
- Aug 15, 2009
-
-
Eli Friedman authored
llvm-svn: 79140
-
Bill Wendling authored
llvm-svn: 79136
-
Bill Wendling authored
llvm-svn: 79135
-
Nick Lewycky authored
blocks. llvm-svn: 79132
-
Evan Cheng authored
support unaligned mem access only for certain types. (Should it be size instead?) ARM v7 supports unaligned access for i16 and i32, some v6 variants support it as well. llvm-svn: 79127
-