[llvm-commits] [gcc-plugin] r76743 - in /gcc-plugin/trunk: bits_and_bobs.cpp i386/llvm-i386.cpp
Duncan Sands
baldrick at free.fr
Wed Jul 22 09:11:43 PDT 2009
Author: baldrick
Date: Wed Jul 22 11:11:43 2009
New Revision: 76743
URL: http://llvm.org/viewvc/llvm-project?rev=76743&view=rev
Log:
These routines are direct renamings of gcc routines:
just call the gcc routines directly. In gcc mainline
ix86_getNaturalModeForType (type_natural_mode) got
an extra argument. It is only used for giving a
warning, and this only when non-null, so pass NULL.
Modified:
gcc-plugin/trunk/bits_and_bobs.cpp
gcc-plugin/trunk/i386/llvm-i386.cpp
Modified: gcc-plugin/trunk/bits_and_bobs.cpp
URL: http://llvm.org/viewvc/llvm-project/gcc-plugin/trunk/bits_and_bobs.cpp?rev=76743&r1=76742&r2=76743&view=diff
==============================================================================
--- gcc-plugin/trunk/bits_and_bobs.cpp (original)
+++ gcc-plugin/trunk/bits_and_bobs.cpp Wed Jul 22 11:11:43 2009
@@ -49,15 +49,3 @@
extern "C" bool contains_aligned_value_p (tree type) {
abort();
}
-
-extern "C" enum machine_mode ix86_getNaturalModeForType(tree type) {
-abort();
-}
-
-extern "C" int ix86_HowToPassArgument(...) {
-abort();
-}
-
-extern "C" int ix86_ClassifyArgument(...) {
-abort();
-}
Modified: gcc-plugin/trunk/i386/llvm-i386.cpp
URL: http://llvm.org/viewvc/llvm-project/gcc-plugin/trunk/i386/llvm-i386.cpp?rev=76743&r1=76742&r2=76743&view=diff
==============================================================================
--- gcc-plugin/trunk/i386/llvm-i386.cpp (original)
+++ gcc-plugin/trunk/i386/llvm-i386.cpp Wed Jul 22 11:11:43 2009
@@ -615,9 +615,9 @@
/* These are defined in i386.c */
#define MAX_CLASSES 4
-extern "C" enum machine_mode ix86_getNaturalModeForType(tree);
-extern "C" int ix86_HowToPassArgument(enum machine_mode, tree, int, int*, int*);
-extern "C" int ix86_ClassifyArgument(enum machine_mode, tree,
+extern "C" enum machine_mode type_natural_mode(tree, CUMULATIVE_ARGS *);
+extern "C" int examine_argument(enum machine_mode, const_tree, int, int*, int*);
+extern "C" int classify_argument(enum machine_mode, const_tree,
enum x86_64_reg_class classes[MAX_CLASSES], int);
/* Target hook for llvm-abi.h. It returns true if an aggregate of the
@@ -626,8 +626,8 @@
static bool llvm_x86_64_should_pass_aggregate_in_memory(tree TreeType,
enum machine_mode Mode){
int IntRegs, SSERegs;
- /* If ix86_HowToPassArgument return 0, then it's passed byval in memory.*/
- int ret = ix86_HowToPassArgument(Mode, TreeType, 0, &IntRegs, &SSERegs);
+ /* If examine_argument return 0, then it's passed byval in memory.*/
+ int ret = examine_argument(Mode, TreeType, 0, &IntRegs, &SSERegs);
if (ret==0)
return true;
if (ret==1 && IntRegs==0 && SSERegs==0) // zero-sized struct
@@ -716,7 +716,7 @@
if (llvm_x86_should_pass_aggregate_as_fca(TreeType, Ty))
return false;
- enum machine_mode Mode = ix86_getNaturalModeForType(TreeType);
+ enum machine_mode Mode = type_natural_mode(TreeType, NULL);
HOST_WIDE_INT Bytes =
(Mode == BLKmode) ? int_size_in_bytes(TreeType) : (int) GET_MODE_SIZE(Mode);
@@ -820,11 +820,11 @@
return false;
enum x86_64_reg_class Class[MAX_CLASSES];
- enum machine_mode Mode = ix86_getNaturalModeForType(TreeType);
+ enum machine_mode Mode = type_natural_mode(TreeType, NULL);
bool totallyEmpty = true;
HOST_WIDE_INT Bytes =
(Mode == BLKmode) ? int_size_in_bytes(TreeType) : (int) GET_MODE_SIZE(Mode);
- int NumClasses = ix86_ClassifyArgument(Mode, TreeType, Class, 0);
+ int NumClasses = classify_argument(Mode, TreeType, Class, 0);
if (!NumClasses)
return false;
@@ -1065,8 +1065,8 @@
// Let gcc specific routine answer the question.
enum x86_64_reg_class Class[MAX_CLASSES];
- enum machine_mode Mode = ix86_getNaturalModeForType(TreeType);
- int NumClasses = ix86_ClassifyArgument(Mode, TreeType, Class, 0);
+ enum machine_mode Mode = type_natural_mode(TreeType, NULL);
+ int NumClasses = classify_argument(Mode, TreeType, Class, 0);
if (NumClasses == 0)
return false;
@@ -1108,8 +1108,8 @@
// This logic relies on llvm_suitable_multiple_ret_value_type to have
// removed anything not expected here.
enum x86_64_reg_class Class[MAX_CLASSES];
- enum machine_mode Mode = ix86_getNaturalModeForType(type);
- int NumClasses = ix86_ClassifyArgument(Mode, type, Class, 0);
+ enum machine_mode Mode = type_natural_mode(type, NULL);
+ int NumClasses = classify_argument(Mode, type, Class, 0);
if (NumClasses == 0)
return Type::Int64Ty;
@@ -1177,10 +1177,10 @@
llvm_x86_64_get_multiple_return_reg_classes(tree TreeType, const Type *Ty,
std::vector<const Type*> &Elts){
enum x86_64_reg_class Class[MAX_CLASSES];
- enum machine_mode Mode = ix86_getNaturalModeForType(TreeType);
+ enum machine_mode Mode = type_natural_mode(TreeType, NULL);
HOST_WIDE_INT Bytes =
(Mode == BLKmode) ? int_size_in_bytes(TreeType) : (int) GET_MODE_SIZE(Mode);
- int NumClasses = ix86_ClassifyArgument(Mode, TreeType, Class, 0);
+ int NumClasses = classify_argument(Mode, TreeType, Class, 0);
if (!NumClasses)
assert(0 && "This type does not need multiple return registers!");
@@ -1466,8 +1466,8 @@
*size = 0;
if (TARGET_64BIT) {
enum x86_64_reg_class Class[MAX_CLASSES];
- enum machine_mode Mode = ix86_getNaturalModeForType(type);
- int NumClasses = ix86_ClassifyArgument(Mode, type, Class, 0);
+ enum machine_mode Mode = type_natural_mode(type, NULL);
+ int NumClasses = classify_argument(Mode, type, Class, 0);
*DontCheckAlignment= true;
if (NumClasses == 1 && (Class[0] == X86_64_INTEGER_CLASS ||
Class[0] == X86_64_INTEGERSI_CLASS)) {
More information about the llvm-commits
mailing list