- Jun 16, 2009
-
-
Dan Gohman authored
llvm-svn: 73541
-
Dan Gohman authored
obscuring what would otherwise be a low-bits mask. Use ComputeMaskedBits to compute what ShrinkDemandedConstant knew about to reconstruct a low-bits mask value. llvm-svn: 73540
-
Evan Cheng authored
llvm-svn: 73536
-
Anton Korobeynikov authored
Dispatch C calling conv. to one of these conventions based on target triple and subtarget features. llvm-svn: 73530
-
Anton Korobeynikov authored
(this is the case when we have thumb vararg function with single callee-saved register, which is handled separately). llvm-svn: 73529
-
Owen Anderson authored
llvm-svn: 73523
-
Owen Anderson authored
llvm-svn: 73521
-
Douglas Gregor authored
llvm-svn: 73516
-
Owen Anderson authored
llvm-svn: 73515
-
Owen Anderson authored
calls for convenience. llvm-svn: 73512
-
Chris Lattner authored
llvm-svn: 73508
-
Chris Lattner authored
to ignore readonly calls, and factor it out of instcombine so that it can be used by other passes. Patch by Frits van Bommel! llvm-svn: 73506
-
Sanjiv Gupta authored
llvm-svn: 73491
-
Eli Friedman authored
essentially working now, at least for common cases, and it shouldn't silently generate bad code. llvm-svn: 73484
-
Sanjiv Gupta authored
llvm-svn: 73483
-
Sanjiv Gupta authored
llvm-svn: 73481
-
Sanjiv Gupta authored
llvm-svn: 73480
-
Evan Cheng authored
llvm-svn: 73479
-
Evan Cheng authored
If a val# is defined by an implicit_def and it is being removed, all of the copies off the val# were removed. This causes problem later since the scavenger will see uses of registers without defs. The proper solution is to change the copies into implicit_def's instead. TurnCopyIntoImpDef turns a copy into implicit_def and remove the val# defined by it. This causes an scavenger assertion later if the def reaches other blocks. Disable the transformation if the value live interval extends beyond its def block. llvm-svn: 73478
-
Eli Friedman authored
support for x86, and UMULO/SMULO for many architectures, including PPC (PR4201), ARM, and Cell. The resulting expansion isn't perfect, but it's not bad. llvm-svn: 73477
-
Eli Friedman authored
llvm-svn: 73476
-
Chris Lattner authored
llvm-svn: 73472
-
Chris Lattner authored
llvm-svn: 73471
-
Chris Lattner authored
The problem was that BitcodeReader::materializeModule would read functions from the bc file in densemap pointer key order (doubly non-deterministic!), which would cause the use-def chains to be set up for globals in non-determinstic order. Non-determinstic use/def chains can cause nondeterminism in many places down-stream. Many thanks to Julien Lerouge for putting together the pass in the PR that shows the issue! llvm-svn: 73470
-
Bill Wendling authored
llvm-svn: 73468
-
Bill Wendling authored
comes after the DW_CFA_def_cfa_register, because the CFA is really ESP from the start of the function and only gets an offset when the "subl $xxx,%esp" instruction happens, not the other way around. And reapply r72898: The DWARF unwind info was incorrect. While compiling with `-fomit-frame-pointer', we would lack the DW_CFA_advance_loc information for a lot of function, and then they would be `0'. The linker (at least on Darwin) needs to encode the stack size. In some cases, the stack size is too large to directly encode. So the linker checks to see if there is a "subl $xxx,%esp" instruction at the point where the `DW_CFA_def_cfa_offset' says the pc was. If so, the compact encoding records the offset in the function to where the stack size is embedded. But because the `DW_CFA_advance_loc' instructions are missing, it looks before the function and dies. So, instead of emitting the EH debug label before the stack adjustment operations, emit it afterwards, right before the frame move stuff. llvm-svn: 73465
-
Bill Wendling authored
llvm-svn: 73464
-
Devang Patel authored
llvm-svn: 73457
-
Owen Anderson authored
Comments welcome! llvm-svn: 73456
-
Dan Gohman authored
describe their behavior. llvm-svn: 73454
-
Dan Gohman authored
llvm-svn: 73451
-
Mikhail Glushenkov authored
llvm-svn: 73449
-
Mikhail Glushenkov authored
llvm-svn: 73448
-
Owen Anderson authored
Owen Anderson 2009-06-15: Remember to clear out our maps to prevent crashing. llvm-svn: 73438
-
Dan Gohman authored
llvm-svn: 73437
-
Dan Gohman authored
llvm-svn: 73436
-
Dan Gohman authored
unsupported inline asm construct, rather than verifying a code invariant. llvm-svn: 73435
-
Evan Cheng authored
llvm-svn: 73434
-
Dan Gohman authored
llvm-svn: 73433
-
Dan Gohman authored
failures. To support this, add some utility functions to Type to help support vector/scalar-independent code. Change ConstantInt::get and ConstantFP::get to support vector types, and add an overload to ConstantInt::get that uses a static IntegerType type, for convenience. Introduce a new getConstant method for ScalarEvolution, to simplify common use cases. llvm-svn: 73431
-