- Jun 12, 2008
-
-
Matthijs Kooijman authored
error that caused it to redirect stderr to stdout too often. This fix is applied identically to the win32 code as well, but that is untested. --Thi line, and those below, will be ignored-- M System/Unix/Program.inc M System/Win32/Program.inc llvm-svn: 52233
-
Matthijs Kooijman authored
functional changes. Win32 code is untested, but should work fine. In the unix variant, rename RedirectFD to RedirectIO and let that function handle empty and null paths instead of doing that in the caller 3 times. This is the same as win32 already does it. In the win32 variant, use Path::isEmpty() instead of checking the resulting c_str() manually. This is the same as unix already does it. llvm-svn: 52230
-
- Jun 11, 2008
-
-
Gabor Greif authored
llvm-svn: 52226
-
Anton Korobeynikov authored
CALLSEQ_BEGIN & CALLSEQ_END. llvm-svn: 52225
-
Evan Cheng authored
For now, avoid generating FP select instructions in order to speculatively execute integer arithmetic instructions. FP selects are more likely to be expensive (even compared to branch on fcmp). This is not a wonderful solution but I rather err on the side of conservative. This fixes the heapsort performance regressions. llvm-svn: 52224
-
Evan Cheng authored
Avoid duplicating loop header which leads to unnatural loops (and just seem like general badness to me, likely to cause code explosion). Patch by Florian Brandner. llvm-svn: 52223
-
Matthijs Kooijman authored
useless insert-extract chains, similar to how it folds them for vectors. Add a testcase for this. llvm-svn: 52217
-
Duncan Sands authored
maps can be deleted. This happens when RAUW replaces a node N with another equivalent node E, deleting the first node. Solve this by adding (N, E) to ReplacedNodes, which is already used to remap nodes to replacements. This means that deleted nodes are being allowed in maps, which can be delicate: the memory may be reused for a new node which might get confused with the old deleted node pointer hanging around in the maps, so detect this and flush out maps if it occurs (ExpungeNode). The expunging operation is expensive, however it never occurs during a llvm-gcc bootstrap or anywhere in the nightly testsuite. It occurs three times in "make check": Alpha/illegal-element-type.ll, PowerPC/illegal-element-type.ll and X86/mmx-shift.ll. If expunging proves to be too expensive then there are other more complicated ways of solving the problem. In the normal case this patch adds the overhead of a few more map lookups, which is hopefully negligable. llvm-svn: 52214
-
Gordon Henriksen authored
If this doesn't work, I'll write a configure test. llvm-svn: 52213
-
Matthijs Kooijman authored
llvm-svn: 52212
-
Gabor Greif authored
llvm-svn: 52191
-
- Jun 10, 2008
-
-
Dan Gohman authored
value, which is something that apparently isn't used much. llvm-svn: 52158
-
- Jun 09, 2008
-
-
Dan Gohman authored
types on functions, with adjustments so that it accepts both new-style aggregate returns and old-style MRV returns, including those with only a single member. llvm-svn: 52157
-
Dan Gohman authored
llvm-svn: 52156
-
Duncan Sands authored
change for non-funky-sized integers. llvm-svn: 52151
-
Dan Gohman authored
llvm-svn: 52150
-
Dan Gohman authored
llvm-svn: 52149
-
Dan Gohman authored
llvm-svn: 52147
-
Dan Gohman authored
llvm-svn: 52146
-
Dan Gohman authored
llvm-svn: 52144
-
Duncan Sands authored
of integer types. Fix the isMask APInt method to actually work (hopefully) rather than crashing because it adds apints of different bitwidths. It looks like isShiftedMask is also broken, but I'm leaving that one to the APInt people (it is not used anywhere). llvm-svn: 52142
-
Rafael Espindola authored
llvm-svn: 52139
-
Chris Lattner authored
llvm-svn: 52138
-
Chris Lattner authored
result of a weak function. llvm-svn: 52137
-
Chris Lattner authored
function into a weak function, zap the weak function body so that the strong one overrides it. This fixes PR2410 llvm-svn: 52135
-
Chris Lattner authored
function bodies. We now don't try to unify types or handling type mismatches if when linking an internal foo to an external foo. llvm-svn: 52134
-
Chris Lattner authored
llvm-svn: 52133
-
- Jun 08, 2008
-
-
Duncan Sands authored
of apint codegen failure is the DAG combiner doing the wrong thing because it was comparing MVT's using < rather than comparing the number of bits. Removing the < method makes this mistake impossible to commit. Instead, add helper methods for comparing bits and use them. llvm-svn: 52098
-
Chris Lattner authored
don't make i1 phis when it won't be possible to eliminate them. llvm-svn: 52097
-
Bruno Cardoso Lopes authored
llvm-svn: 52086
-
Bill Wendling authored
llvm-svn: 52085
-
- Jun 07, 2008
-
-
Bruno Cardoso Lopes authored
llvm-svn: 52079
-
Evan Cheng authored
Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e. Turn BB: %t1 = icmp br i1 %t1, label %BB1, label %BB2 BB1: %t3 = add %t2, c br label BB2 BB2: => BB: %t1 = icmp %t4 = add %t2, c %t3 = select i1 %t1, %t2, %t3 llvm-svn: 52073
-
Evan Cheng authored
llvm-svn: 52071
-
Dan Gohman authored
stores of aggregate values. llvm-svn: 52069
-
Owen Anderson authored
no visible functionality change, but enables a future patch where node creation will update the CFG if it decides to create an unconditional rather than a conditional branch. llvm-svn: 52067
-
- Jun 06, 2008
-
-
Gabor Greif authored
get rid of ExtractValueInst::init's Value argument, it is already passed to the UnaryInstruction ctor llvm-svn: 52064
-
Evan Cheng authored
llvm-svn: 52062
-
Gabor Greif authored
llvm-svn: 52061
-
Evan Cheng authored
llvm-svn: 52057
-