[llvm-commits] CVS: llvm-gcc/gcc/llvm-expand.c
Chris Lattner
lattner at cs.uiuc.edu
Fri May 7 12:29:05 PDT 2004
Changes in directory llvm-gcc/gcc:
llvm-expand.c updated: 1.37 -> 1.38
---
Log message:
Minor cleanups, do not unconditionally force array indexes to long anymore
---
Diffs of the changes: (+6 -6)
Index: llvm-gcc/gcc/llvm-expand.c
diff -u llvm-gcc/gcc/llvm-expand.c:1.37 llvm-gcc/gcc/llvm-expand.c:1.38
--- llvm-gcc/gcc/llvm-expand.c:1.37 Fri May 7 11:59:33 2004
+++ llvm-gcc/gcc/llvm-expand.c Fri May 7 12:28:45 2004
@@ -5221,11 +5221,12 @@
break;
case ARRAY_REF: {
- llvm_type *Op0Ty = llvm_type_get_from_tree(TREE_TYPE(TREE_OPERAND(exp, 0)));
+ tree tOp0 = TREE_OPERAND(exp, 0), tOp1 = TREE_OPERAND(exp, 1);
+ llvm_type *Op0Ty = llvm_type_get_from_tree(TREE_TYPE(tOp0));
if (llvm_type_is_composite(Op0Ty)) {
- llvm_value *Op0 = llvm_expand_lvalue_expr(Fn, TREE_OPERAND(exp, 0), 0, 0);
- llvm_value *Op1 = llvm_expand_expr(Fn, TREE_OPERAND(exp, 1), 0);
+ llvm_value *Op0 = llvm_expand_lvalue_expr(Fn, tOp0, 0, 0);
+ llvm_value *Op1 = llvm_expand_expr(Fn, tOp1, 0);
Op1 = cast_if_type_not_equal(Fn, Op1, LongTy);
Result = append_inst(Fn, create_gep3(Op0, llvm_constant_long_0, Op1));
} else {
@@ -5234,12 +5235,11 @@
* take a pointer as the first operand. In this case, we generate a two
* operand GEP.
*/
- llvm_value *Op0 = llvm_expand_expr(Fn, TREE_OPERAND(exp, 0), 0);
- llvm_value *Op1 = llvm_expand_expr(Fn, TREE_OPERAND(exp, 1), 0);
+ llvm_value *Op0 = llvm_expand_expr(Fn, tOp0, 0);
+ llvm_value *Op1 = llvm_expand_expr(Fn, tOp1, 0);
llvm_type *IntPtrTy =
llvm_type_get_integer(llvm_type_get_size(VoidPtrTy)*8, 0);
Op1 = cast_if_type_not_equal(Fn, Op1, IntPtrTy);
- Op1 = cast_if_type_not_equal(Fn, Op1, LongTy);
/* FIXME: What do we do about bitfields here??? */
assert(Op0->Ty->ID == PointerTyID &&
More information about the llvm-commits
mailing list