[llvm-commits] [llvm-gcc-4.2] r70855 - in /llvm-gcc-4.2/trunk/gcc: config/i386/llvm-i386-target.h llvm-types.cpp
Duncan Sands
baldrick at free.fr
Mon May 4 05:48:16 PDT 2009
Author: baldrick
Date: Mon May 4 07:48:14 2009
New Revision: 70855
URL: http://llvm.org/viewvc/llvm-project?rev=70855&view=rev
Log:
Fix PR3967: allow enums and references to have
the "inreg" attribute, not just integers and
pointers. Based on a patch by Haohui Mai.
Modified:
llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h
llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h?rev=70855&r1=70854&r2=70855&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h Mon May 4 07:48:14 2009
@@ -76,8 +76,8 @@
PAttribute |= Attribute::InReg; \
else \
local_fp_regparm = 0; \
- } else if (TREE_CODE(Type) == INTEGER_TYPE || \
- TREE_CODE(Type) == POINTER_TYPE) { \
+ } else if (INTEGRAL_TYPE_P(Type) || \
+ POINTER_TYPE_P(Type)) { \
int words = \
(Size + BITS_PER_WORD - 1) / BITS_PER_WORD; \
local_regparm -= words; \
Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-types.cpp?rev=70855&r1=70854&r2=70855&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-types.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Mon May 4 07:48:14 2009
@@ -1241,8 +1241,8 @@
#ifdef LLVM_TARGET_ENABLE_REGPARM
// Allow the target to mark this as inreg.
- if (TREE_CODE(ArgTy) == INTEGER_TYPE || TREE_CODE(ArgTy) == POINTER_TYPE ||
- TREE_CODE(ArgTy) == REAL_TYPE)
+ if (INTEGRAL_TYPE_P(ArgTy) || POINTER_TYPE_P(ArgTy) ||
+ SCALAR_FLOAT_TYPE_P(ArgTy))
LLVM_ADJUST_REGPARM_ATTRIBUTE(PAttributes, ArgTy,
TREE_INT_CST_LOW(TYPE_SIZE(ArgTy)),
local_regparam, local_fp_regparam);
More information about the llvm-commits
mailing list