- Feb 16, 2010
-
-
Dale Johannesen authored
elimination. Before a DBG_VALUE could affect codegen. The solution here is imperfect and not final. llvm-svn: 96318
-
Dale Johannesen authored
at older buildbot messages, I see the failure predates this patch. llvm-svn: 96307
-
Dale Johannesen authored
but it's harder to believe it's the other candidate, so reverting. Temporarily I hope. llvm-svn: 96303
-
Evan Cheng authored
llvm-svn: 96295
-
Dale Johannesen authored
llvm-svn: 96294
-
- Feb 15, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 96292
-
Anton Korobeynikov authored
llvm-svn: 96290
-
Anton Korobeynikov authored
llvm-svn: 96288
-
Anton Korobeynikov authored
It turns out that we emitted completely wrong common EH frame since the early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong. llvm-svn: 96287
-
Anton Korobeynikov authored
Preliminary patch to improve dwarf EH generation - Hooks to return Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there llvm-svn: 96285
-
Jakob Stoklund Olesen authored
A virtual register can be used before it is defined in the same MBB if the MBB is part of a loop. Teach the implicit-def pass about this case. llvm-svn: 96279
-
Evan Cheng authored
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use. This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses. llvm-svn: 96255
-
David Greene authored
Add non-temporal flags and remove an assumption of default arguments. llvm-svn: 96240
-
David Greene authored
Add non-temporal flags to MachineMemOperand. llvm-svn: 96226
-
Duncan Sands authored
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
-
Dale Johannesen authored
llvm-svn: 96207
-
- Feb 13, 2010
-
-
Jakob Stoklund Olesen authored
When coalescing with a physreg, remember to add imp-def and imp-kill when dealing with sub-registers. Also fix a related bug in VirtRegRewriter where substitutePhysReg may reallocate the operand list on an instruction and invalidate the reg_iterator. This can happen when a register is mentioned twice on the same instruction. llvm-svn: 96072
-
Evan Cheng authored
created. This ensures it's updated at all time. It means targets which perform dynamic stack alignment would know whether it is required and whether frame pointer register cannot be made available register allocation. This is a fix for rdar://7625239. Sorry, I can't create a reasonably sized test case. llvm-svn: 96069
-
Bob Wilson authored
phi cycles. Adjust a few tests to keep dead instructions from being optimized away. This (together with my previous change for phi cycles) fixes Apple radar 7627077. llvm-svn: 96057
-
Chris Lattner authored
llvm-svn: 96038
-
- Feb 12, 2010
-
-
Dale Johannesen authored
didn't handle X = Y<dead> = use X DBG_VALUE(X) I was hoping to avoid this approach as it's slower, but I don't think it can be done. llvm-svn: 95996
-
Dan Gohman authored
bug fixes, and with improved heuristics for analyzing foreign-loop addrecs. This change also flattens IVUsers, eliminating the stride-oriented groupings, which makes it easier to work with. llvm-svn: 95975
-
Lang Hames authored
* Enabled R1/R2 application for nodes with infinite spill costs in the Briggs heuristic (made safe by the changes to the normalization proceedure). * Removed a redundant header. llvm-svn: 95973
-
Bob Wilson authored
reduce down to a single value. InstCombine already does this transformation but DAG legalization may introduce new opportunities. This has turned out to be important for ARM where 64-bit values are split up during type legalization: InstCombine is not able to remove the PHI cycles on the 64-bit values but the separate 32-bit values can be optimized. I measured the compile time impact of this (running llc on 176.gcc) and it was not significant. llvm-svn: 95951
-
Jakob Stoklund Olesen authored
This time with fixed test cases. llvm-svn: 95938
-
- Feb 11, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 95921
-
Jakob Stoklund Olesen authored
Also avoid division by zero. llvm-svn: 95917
-
Dale Johannesen authored
same dead instruction. llvm-svn: 95890
-
Dale Johannesen authored
llvm-svn: 95889
-
Jakob Stoklund Olesen authored
Use SmallVector instead of std::vector for better speed when indirectbr has few successors. llvm-svn: 95879
-
Bill Wendling authored
llvm-svn: 95871
-
Bill Wendling authored
llvm-svn: 95840
-
Bill Wendling authored
almost always comments afterwards that need printing. llvm-svn: 95839
-
Jakob Stoklund Olesen authored
Calling RemoveOperand is very expensive on huge PHI instructions. This makes early tail duplication run twice as fast on the Firefox JavaScript interpreter. llvm-svn: 95832
-
Jakob Stoklund Olesen authored
This makes early tail duplication run 60 times faster when compiling the Firefox JavaScript interpreter, see PR6186. llvm-svn: 95831
-
Mon P Wang authored
lowering and requires that certain types exist in ValueTypes.h. Modified widening to check if an op can trap and if so, the widening algorithm will apply only the op on the defined elements. It is safer to do this in widening because the optimizer can't guarantee removing unused ops in some cases. llvm-svn: 95823
-
Dale Johannesen authored
llvm-svn: 95819
-
- Feb 10, 2010
-
-
Bob Wilson authored
legalization even when the IR-level optimizer has removed dead phis, such as when the high half of an i64 value is unused on a 32-bit target. I had to adjust a few test cases that had dead phis. This is a partial fix for Radar 7627077. llvm-svn: 95816
-
Dale Johannesen authored
llvm-svn: 95814
-
Bill Wendling authored
the pointer values could be invalid. llvm-svn: 95813
-