- Jun 19, 2004
-
-
Chris Lattner authored
was processing blocks in whatever order they happened to end up in the dominator tree data structure. Force an ordering. llvm-svn: 14248
-
Chris Lattner authored
llvm-svn: 14247
-
Chris Lattner authored
This is a regression from 1.2, though noone uses -no-aa anyway llvm-svn: 14245
-
Chris Lattner authored
non-deterministic things like the ordering of blocks in the dominance frontier of a BB. Unfortunately, I don't know of a better way to solve this problem than to explicitly sort the BB's in function-order before processing them. This is guaranteed to slow the pass down a bit, but is absolutely necessary to get usable diffs between two different tools executing the mem2reg or scalarrepl pass. Before this, bazillions of spurious diff failures occurred all over the place due to the different order of processing PHIs: - %tmp.111 = getelementptr %struct.Connector_struct* %upcon.0.0, uint 0, uint 0 + %tmp.111 = getelementptr %struct.Connector_struct* %upcon.0.1, uint 0, uint 0 Now, the diffs match. llvm-svn: 14244
-
Chris Lattner authored
nondeterministic results that depend on where these objects land in memory. Instead, sort by the value of the constant, which is stable. Before this patch, the -simplifycfg pass run from two different compilers could cause different code to be generated, though it was semantically the same: @@ -12258,8 +12258,8 @@ %s_addr.1 = phi sbyte* [ %s, %entry ], [ %inc.0, %no_exit ] ; <sbyte*> [#uses=5] %tmp.1 = load sbyte* %s_addr.1 ; <sbyte> [#uses=1] switch sbyte %tmp.1, label %no_exit [ - sbyte 0, label %loopexit sbyte 46, label %loopexit + sbyte 0, label %loopexit ] We need to stomp all of this stuff out. llvm-svn: 14243
-
Chris Lattner authored
invalidated out from under us. This bug goes back to revision 1.1: scary. llvm-svn: 14242
-
- Jun 18, 2004
-
-
Misha Brukman authored
* Order #includes alphabetically llvm-svn: 14234
-
Misha Brukman authored
llvm-svn: 14233
-
Brian Gaeke authored
llvm-svn: 14231
-
Brian Gaeke authored
llvm-svn: 14230
-
Brian Gaeke authored
llvm-svn: 14229
-
Brian Gaeke authored
using the local & in regs first because they are not clobbered by calls. llvm-svn: 14228
-
Brian Gaeke authored
llvm-svn: 14227
-
Brian Gaeke authored
Replace it with a working class for FP instrs. llvm-svn: 14226
-
Brian Gaeke authored
Add some FP moves. llvm-svn: 14225
-
Brian Gaeke authored
Use this for printing the jmpl indirect-call instruction. llvm-svn: 14224
-
Brian Gaeke authored
Support indirect calls. Support returning a float value. llvm-svn: 14223
-
Chris Lattner authored
occurs due to unordered comparison macros in math.h llvm-svn: 14221
-
Chris Lattner authored
things from happening due to declare bool %llvm.isunordered(double, double) declare bool %llvm.isunordered(float, float) llvm-svn: 14219
-
Brian Gaeke authored
llvm-svn: 14217
-
Brian Gaeke authored
Support copying floating-point constants to registers. Add assertion to visitCallInst to abort if we hit a NULL calledFunction, for now. llvm-svn: 14216
-
Chris Lattner authored
llvm-svn: 14215
-
Chris Lattner authored
mov REG, C sub REG, X generate: neg X add X, C which uses one less reg llvm-svn: 14213
-
Chris Lattner authored
the setcc. llvm-svn: 14212
-
Brian Gaeke authored
Make copyRegToReg return 1 instead of -1. Edit a comment in emitPrologue(). llvm-svn: 14211
-
Brian Gaeke authored
Add a FIXME about the (currently unused) JMPL instructions. llvm-svn: 14210
-
Brian Gaeke authored
llvm-svn: 14209
-
Brian Gaeke authored
modifications for 1 LLVM BB --> many MBBs). Fix store operand order: make it always be Base, Offset, SrcReg (think "[ Base + Offset ] = SrcReg"). Rewrite visitBranchInst() to be even dumber (but working) -- give up on the branch fallthrough trick, for the time being. Make visitSetCondInst() work. llvm-svn: 14208
-
Brian Gaeke authored
llvm-svn: 14207
-
Brian Gaeke authored
llvm-svn: 14206
-
Brian Gaeke authored
llvm-svn: 14205
-
Chris Lattner authored
we do not want to fold the load in cases like this: X = load = add A, X = add B, X llvm-svn: 14204
-
- Jun 17, 2004
-
-
Chris Lattner authored
PR371 llvm-svn: 14203
-
Brian Gaeke authored
Abort if we see a PCRelativeDisp MachineOperand, to be safe. This matches the X86 backend. llvm-svn: 14202
-
Chris Lattner authored
llvm-svn: 14201
-
Chris Lattner authored
Delete two functions that are now methods on the Type class llvm-svn: 14200
-
Chris Lattner authored
llvm-svn: 14199
-
Brian Gaeke authored
llvm-svn: 14196
-
- Jun 16, 2004
-
-
Chris Lattner authored
The vector may actually be empty if the register that we are marking as recently used is not actually allocatable. This happens for physical registers that are not allocatable, like the ST(x) registers on X86. llvm-svn: 14195
-
Brian Gaeke authored
llvm-svn: 14194
-