| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | More complete/correct implementation of the comparison operators for | Eli Friedman | 2008-05-29 | 2 | -7/+59 |
| | | | | | | | constant expressions. llvm-svn: 51682 | ||||
| * | Fix an extremely subtle bug with pointer comparisons: they have to be | Eli Friedman | 2008-05-29 | 2 | -4/+7 |
| | | | | | | | | unsigned because it's possible (at least in theory) to have have both positive and negative pointers pointing to the same object. llvm-svn: 51681 | ||||
| * | Add a newline at the end of this file. | Duncan Sands | 2008-05-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 51680 | ||||
| * | Rearrange EmitLValueForField a bit to work properly for _Bool bitfields | Eli Friedman | 2008-05-29 | 2 | -10/+12 |
| | | | | | | | | in unions (we don't want to do the union-specific bitcast for bit-fields). llvm-svn: 51678 | ||||
| * | Add codegen support for a few more kinds of initializer constant | Eli Friedman | 2008-05-29 | 2 | -1/+38 |
| | | | | | | | expressions. llvm-svn: 51677 | ||||
| * | Add CodeGen support for alignment on globals, both for unusual natural | Eli Friedman | 2008-05-29 | 2 | -0/+10 |
| | | | | | | | alignment and alignment attributes. llvm-svn: 51676 | ||||
| * | A couple minor fixes to make debug info usable for arbitrary code: don't | Eli Friedman | 2008-05-29 | 2 | -1/+8 |
| | | | | | | | | | emit incomplete types, because they crash llc, and always use the logical location as the current location so we don't crash doing invalid queries on CurLoc. llvm-svn: 51675 | ||||
| * | Tentative declarations are supposed to have common linkage, not weak. | Eli Friedman | 2008-05-29 | 2 | -2/+2 |
| | | | | | | | This change makes clang generate the same thing as llvm-gcc. llvm-svn: 51674 | ||||
| * | Always use packed structs. This isn't really very nice, but there's | Eli Friedman | 2008-05-29 | 3 | -21/+15 |
| | | | | | | | | | | | | | | nothing fundamentally wrong with it. Emitting unpacked structs where possible is more work for almost no practical benefit. We'll probably want to fix it at some point anyway, but it's low priority. The issue with long double in particular is that LLVM thinks an X86 long double is 10 bytes, while clang considers it for all purposes to be either 12 or 16 bytes, depending on the platform, even in a packed struct. llvm-svn: 51673 | ||||
| * | Implementation of stdarg.h. | Eli Friedman | 2008-05-29 | 1 | -0/+39 |
| | | | | | llvm-svn: 51672 | ||||
| * | Re-enable the newly simplified ADCE. This fixes a regression on | Owen Anderson | 2008-05-29 | 1 | -1/+1 |
| | | | | | | | Dhrystone introduced by its removal. llvm-svn: 51669 | ||||
| * | Replace the old ADCE implementation with a new one that more simply solves | Owen Anderson | 2008-05-29 | 3 | -501/+62 |
| | | | | | | | | | | the one case that ADCE catches that normal DCE doesn't: non-induction variable loop computations. This implementation handles this problem without using postdominators. llvm-svn: 51668 | ||||
| * | Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq. | Evan Cheng | 2008-05-29 | 10 | -25/+183 |
| | | | | | llvm-svn: 51667 | ||||
| * | Remove debugging code. | Owen Anderson | 2008-05-29 | 1 | -5/+1 |
| | | | | | llvm-svn: 51666 | ||||
| * | Add nounwind. | Evan Cheng | 2008-05-29 | 2 | -7/+7 |
| | | | | | llvm-svn: 51665 | ||||
| * | XOR?RI instructions aren't as cheap as moves. | Bill Wendling | 2008-05-29 | 1 | -23/+21 |
| | | | | | llvm-svn: 51664 | ||||
| * | convert more operand loops to iterator formulation | Gabor Greif | 2008-05-29 | 2 | -23/+29 |
| | | | | | llvm-svn: 51663 | ||||
| * | Implement "AsCheapAsAMove" for some obviously cheap instructions: xor and the | Bill Wendling | 2008-05-29 | 2 | -42/+50 |
| | | | | | | | like. llvm-svn: 51662 | ||||
| * | convert another operand loop to iterator formulation | Gabor Greif | 2008-05-29 | 1 | -3/+3 |
| | | | | | llvm-svn: 51661 | ||||
| * | Add a flag to indicate that an instruction is as cheap (or cheaper) than a move | Bill Wendling | 2008-05-28 | 6 | -19/+37 |
| | | | | | | | | | | instruction to execute. This can be used for transformations (like two-address conversion) to remat an instruction instead of generating a "move" instruction. The idea is to decrease the live ranges and register pressure and all that jazz. llvm-svn: 51660 | ||||
| * | Check the "isSafeToMove" predicate, which has a series of tests to make sure | Bill Wendling | 2008-05-28 | 1 | -1/+3 |
| | | | | | | | that it's safe to remat an instruction. llvm-svn: 51659 | ||||
| * | Remap VNInfo data as well when doing renumbering. | Owen Anderson | 2008-05-28 | 1 | -0/+6 |
| | | | | | llvm-svn: 51658 | ||||
| * | Factor the numbering computation into a separate method, and add the ↵ | Owen Anderson | 2008-05-28 | 2 | -11/+32 |
| | | | | | | | slightest attempt at some renumbering logic, which is currently unused. llvm-svn: 51652 | ||||
| * | Fix rewrite rope to keep the leaf list up-to-date as it erases leaves | Chris Lattner | 2008-05-28 | 2 | -6/+28 |
| | | | | | | | from the rope. rdar://5952468 llvm-svn: 51651 | ||||
| * | Fix PR2289: vr defined by multiple implicit_def as result of coalescing. | Evan Cheng | 2008-05-28 | 2 | -6/+19 |
| | | | | | llvm-svn: 51648 | ||||
| * | Teach local register allocator to deal with landing pad MBB's. | Evan Cheng | 2008-05-28 | 2 | -4/+34 |
| | | | | | llvm-svn: 51647 | ||||
| * | give location info to another paren expr. | Chris Lattner | 2008-05-28 | 1 | -1/+2 |
| | | | | | llvm-svn: 51646 | ||||
| * | add an assertion | Chris Lattner | 2008-05-28 | 1 | -0/+1 |
| | | | | | llvm-svn: 51645 | ||||
| * | Update some comments noticed in a recent checkin | Nate Begeman | 2008-05-28 | 1 | -3/+8 |
| | | | | | llvm-svn: 51644 | ||||
| * | Update text to point people at the right version of the tutorial for | Chris Lattner | 2008-05-28 | 1 | -1/+5 |
| | | | | | | | their release. llvm-svn: 51638 | ||||
| * | Implement PR2370: memmove(x,x,size) -> noop. | Chris Lattner | 2008-05-28 | 2 | -0/+10 |
| | | | | | llvm-svn: 51636 | ||||
| * | Add chain inputs for loads. | Chris Lattner | 2008-05-28 | 1 | -3/+3 |
| | | | | | llvm-svn: 51635 | ||||
| * | Fix CodeGen/Generic/2005-10-21-longlonggtu.ll on ia64. | Chris Lattner | 2008-05-28 | 1 | -1/+2 |
| | | | | | llvm-svn: 51634 | ||||
| * | loads should get chains. THis helps but does not solve ↵ | Chris Lattner | 2008-05-28 | 1 | -2/+4 |
| | | | | | | | | | CodeGen/Generic/2003-05-27-phifcmpd.ll on ia64. llvm-svn: 51633 | ||||
| * | Fix 2006-04-28-Sign-extend-bool.ll for ia64. | Chris Lattner | 2008-05-28 | 1 | -0/+2 |
| | | | | | llvm-svn: 51632 | ||||
| * | reindent. | Chris Lattner | 2008-05-28 | 1 | -77/+77 |
| | | | | | llvm-svn: 51631 | ||||
| * | Fix the encoding for two more "rm" instructions that were using MRMSrcReg. | Dan Gohman | 2008-05-28 | 1 | -2/+2 |
| | | | | | llvm-svn: 51630 | ||||
| * | Fixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operand | Mon P Wang | 2008-05-28 | 1 | -2/+2 |
| | | | | | | | is a memory location llvm-svn: 51626 | ||||
| * | Don't attempt to create VZEXT_LOAD out of an extload. This an issue where the | Nate Begeman | 2008-05-28 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | code generator would do something like this: f64 = load f32 <anyext>, f32mem v2f64 = insertelt undef, %0, 0 v2f64 = insertelt %1, 0.0, 1 into v2f64 = vzext_load f32mem which on x86 is movsd, when you really wanted a cvtss2sd/movsd pair. llvm-svn: 51624 | ||||
| * | use space insted of tabs | Nick Kledzik | 2008-05-28 | 1 | -13/+13 |
| | | | | | llvm-svn: 51623 | ||||
| * | Fix a couple crashes on invalid input. | Chris Lattner | 2008-05-27 | 2 | -1/+7 |
| | | | | | llvm-svn: 51622 | ||||
| * | When the build command is xcodebuild, set the magical environment variable ↵ | Ted Kremenek | 2008-05-27 | 1 | -1/+7 |
| | | | | | | | LDPLUSPLUS to g++ to ensure that C++ object files are linked with g++ instead of gcc. llvm-svn: 51621 | ||||
| * | Correctly check to see if we are analyzing C++ files (skip). | Ted Kremenek | 2008-05-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 51620 | ||||
| * | Check first member alignment and uses packed struct if required. | Devang Patel | 2008-05-27 | 2 | -0/+5 |
| | | | | | llvm-svn: 51619 | ||||
| * | Fix test case | Devang Patel | 2008-05-27 | 1 | -0/+1 |
| | | | | | llvm-svn: 51618 | ||||
| * | fix infinite recursion if a global's initializer references the global | Nick Kledzik | 2008-05-27 | 1 | -2/+7 |
| | | | | | llvm-svn: 51617 | ||||
| * | Make Use::init() private, it breaks invariants, clients should assign or use ↵ | Gabor Greif | 2008-05-27 | 1 | -3/+2 |
| | | | | | | | set(). llvm-svn: 51615 | ||||
| * | Use Function::getEntryBlock instead of Function::begin, for clarity. | Dan Gohman | 2008-05-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 51613 | ||||
| * | Print debug output when any edge becomes executable, including | Dan Gohman | 2008-05-27 | 1 | -3/+3 |
| | | | | | | | the first visited edge. llvm-svn: 51612 | ||||
| * | Add instcombine after global optimizations. | Devang Patel | 2008-05-27 | 1 | -0/+6 |
| | | | | | llvm-svn: 51611 | ||||

