diff options
author | Chris Lattner <sabre@nondot.org> | 2002-07-09 19:58:06 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-07-09 19:58:06 +0000 |
commit | 1373d87f1692524d00cc113869e45da6b63a0e44 (patch) | |
tree | e01a47f77001c13d9b483466f54fe4764a30ed47 /test | |
parent | f8685ebd9dd870ff8890b9ad9763556bd2825f48 (diff) | |
download | external_llvm-1373d87f1692524d00cc113869e45da6b63a0e44.zip external_llvm-1373d87f1692524d00cc113869e45da6b63a0e44.tar.gz external_llvm-1373d87f1692524d00cc113869e45da6b63a0e44.tar.bz2 |
Add a new testcase. It actually is not infinite looping. It just takes
FOREVER to run. That's the bug. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2850 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Assembler/2002-07-08-HugePerformanceProblem.llx | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/Assembler/2002-07-08-HugePerformanceProblem.llx b/test/Assembler/2002-07-08-HugePerformanceProblem.llx new file mode 100644 index 0000000..4a86d3e --- /dev/null +++ b/test/Assembler/2002-07-08-HugePerformanceProblem.llx @@ -0,0 +1,67 @@ +; This file takes about 48 __MINUTES__ to assemble using as. This is WAY too +; long. The type resolution code needs to be sped up a lot. + + %ALL_INTERSECTIONS_METHOD = type int (%OBJECT*, %RAY*, %ISTACK*)* + %BBOX = type { %BBOX_VECT, %BBOX_VECT } + %BBOX_TREE = type { short, short, %BBOX, %BBOX_TREE** } + %BBOX_VECT = type [3 x float] + %BLEND_MAP = type { short, short, short, int, %BLEND_MAP_ENTRY* } + %BLEND_MAP_ENTRY = type { float, ubyte, { %COLOUR, %PIGMENT*, %TNORMAL*, %TEXTURE*, %UV_VECT } } + %CAMERA = type { %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, double, double, int, double, double, int, double, %TNORMAL* } + %COLOUR = type [5 x float] + %COPY_METHOD = type sbyte* (%OBJECT*)* + %COUNTER = type { uint, uint } + %DENSITY_FILE = type { int, %DENSITY_FILE_DATA* } + %DENSITY_FILE_DATA = type { int, sbyte*, int, int, int, ubyte*** } + %DESTROY_METHOD = type void (%OBJECT*)* + %FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint } + %FILE_HANDLE = type { sbyte*, int, int, int, int, sbyte*, %FILE*, int, int (%FILE_HANDLE*, sbyte*, int*, int*, int, int)*, void (%FILE_HANDLE*, %COLOUR*, int)*, int (%FILE_HANDLE*, %COLOUR*, int*)*, void (%IMAGE*, sbyte*)*, void (%FILE_HANDLE*)* } + %FINISH = type { float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, %BBOX_VECT, %BBOX_VECT } + %FOG = type { int, double, double, double, %COLOUR, %VECTOR, %TURB*, float, %FOG* } + %FRAME = type { %CAMERA*, int, int, int, %LIGHT_SOURCE*, %OBJECT*, double, double, %COLOUR, %COLOUR, %COLOUR, %IMEDIA*, %FOG*, %RAINBOW*, %SKYSPHERE* } + %FRAMESEQ = type { int, double, int, int, double, int, int, double, int, double, int, double, uint, uint } + %IMAGE = type { int, int, int, int, int, short, short, %VECTOR, float, float, int, int, short, %IMAGE_COLOUR*, { %IMAGE_LINE*, ubyte** } } + %IMAGE_COLOUR = type { ushort, ushort, ushort, ushort, ushort } + %IMAGE_LINE = type { ubyte*, ubyte*, ubyte*, ubyte* } + %IMEDIA = type { int, int, int, int, int, double, double, int, int, int, int, %COLOUR, %COLOUR, %COLOUR, %COLOUR, double, double, double, double*, %PIGMENT*, %IMEDIA* } + %INSIDE_METHOD = type int (double*, %OBJECT*)* + %INTERIOR = type { int, int, float, float, float, float, float, %IMEDIA* } + %INTERSECTION = type { double, %VECTOR, %VECTOR, %OBJECT*, int, int, double, double, sbyte* } + %INVERT_METHOD = type void (%OBJECT*)* + %ISTACK = type { %ISTACK*, %INTERSECTION*, uint } + %LIGHT_SOURCE = type { %METHODS*, int, %OBJECT*, %TEXTURE*, %INTERIOR*, %OBJECT*, %OBJECT*, %BBOX, uint, %OBJECT*, %COLOUR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, %VECTOR, double, double, double, double, double, %LIGHT_SOURCE*, ubyte, ubyte, ubyte, ubyte, int, int, int, int, int, %COLOUR**, %OBJECT*, [6 x %PROJECT_TREE_NODE*] } + %MATRIX = type [4 x %VECTOR_4D] + %METHODS = type { %ALL_INTERSECTIONS_METHOD, %INSIDE_METHOD, %NORMAL_METHOD, %COPY_METHOD, %ROTATE_METHOD, %ROTATE_METHOD, %ROTATE_METHOD, %TRANSFORM_METHOD, %DESTROY_METHOD, %DESTROY_METHOD } + %NORMAL_METHOD = type void (double*, %OBJECT*, %INTERSECTION*)* + %OBJECT = type { %METHODS*, int, %OBJECT*, %TEXTURE*, %INTERIOR*, %OBJECT*, %OBJECT*, %BBOX, uint } + %Opts = type { int, uint, sbyte, sbyte, sbyte, int, [150 x sbyte], [150 x sbyte], [150 x sbyte], [150 x sbyte], [150 x sbyte], double, double, uint, int, double, double, int, [25 x sbyte*], int, int, int, double, double, int, int, double, double, double, uint, int, int, int, int, %FRAMESEQ, double, int, double, double, double, double, double, int, int, int, int, int, int, int, int, int, int, int, int, int, [150 x sbyte], %SHELLDATA*, [150 x sbyte], int, int } + %PIGMENT = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float }, %COLOUR } + %PRIORITY_QUEUE = type { uint, uint, %QELEM* } + %PROJECT = type { int, int, int, int } + %PROJECT_QUEUE = type { uint, uint, %PROJECT_TREE_NODE** } + %PROJECT_TREE_NODE = type { ushort, %BBOX_TREE*, %PROJECT, ushort, %PROJECT_TREE_NODE** } + %QELEM = type { double, %BBOX_TREE* } + %RAINBOW = type { double, double, double, double, double, double, double, %VECTOR, %VECTOR, %VECTOR, %PIGMENT*, %RAINBOW* } + %RAY = type { %VECTOR, %VECTOR, int, [100 x %INTERIOR*] } + %RAYINFO = type { %VECTOR, %VECTOR, %VECTORI, %VECTORI } + %RGB = type [3 x float] + %ROTATE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)* + %SCALE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)* + %SHELLDATA = type { int, int, [250 x sbyte] } + %SKYSPHERE = type { int, %PIGMENT**, %TRANSFORM* } + %SNGL_VECT = type [3 x float] + %TEXTURE = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float }, %TEXTURE*, %PIGMENT*, %TNORMAL*, %FINISH*, %TEXTURE*, int } + %TNORMAL = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float }, float } + %TPATTERN = type { ushort, ushort, ushort, int, float, float, float, %WARP*, %TPATTERN*, %BLEND_MAP*, { %DENSITY_FILE*, %IMAGE*, %VECTOR, float, short, short, short, { float, %VECTOR }, %complex.float } } + %TRANSFORM = type { %MATRIX, %MATRIX } + %TRANSFORM_METHOD = type void (%OBJECT*, %TRANSFORM*)* + %TRANSLATE_METHOD = type void (%OBJECT*, double*, %TRANSFORM*)* + %TURB = type { ushort, %WARP*, %VECTOR, int, float, float } + %UV_VECT = type [2 x double] + %VECTOR = type [3 x double] + %VECTORI = type [3 x int] + %VECTOR_4D = type [4 x double] + %WARP = type { ushort, %WARP* } + %__FILE = type { int, ubyte*, ubyte*, ubyte, ubyte, uint, uint, uint } + %_h_val = type { [2 x uint], double } + %complex.float = type { float, float } |