platform/upstream/llvm.git
20 years agoChange the type of FnAllocState.
Brian Gaeke [Wed, 22 Oct 2003 20:44:29 +0000 (20:44 +0000)]
Change the type of FnAllocState.

llvm-svn: 9388

20 years agoDon't worry about converting each function's reg. alloc. state into One Big
Brian Gaeke [Wed, 22 Oct 2003 20:44:23 +0000 (20:44 +0000)]
Don't worry about converting each function's reg. alloc. state into One Big
Constant early on, because we can do it in doFinalization.

Tighten up a comment.

llvm-svn: 9387

20 years agoAdd prototype for verifySavedState().
Brian Gaeke [Wed, 22 Oct 2003 20:23:13 +0000 (20:23 +0000)]
Add prototype for verifySavedState().

llvm-svn: 9386

20 years agoDoxygenify method comments.
Brian Gaeke [Wed, 22 Oct 2003 20:22:53 +0000 (20:22 +0000)]
Doxygenify method comments.
Try to improve method comments a little.
Get rid of some excess whitespace; put braces on previous line when possible.
Add stub for method to verify the work of saveState().

llvm-svn: 9385

20 years agoThis is a disgusting hack that improves code substantially, by making
Chris Lattner [Wed, 22 Oct 2003 18:53:31 +0000 (18:53 +0000)]
This is a disgusting hack that improves code substantially, by making
callgraphSCC passes more effective.

llvm-svn: 9384

20 years agoClarify our testing experience.
Brian Gaeke [Wed, 22 Oct 2003 18:19:08 +0000 (18:19 +0000)]
Clarify our testing experience.

llvm-svn: 9383

20 years agoDo not check for strings.h. This is an old, old, old pre-C89 header that
Brian Gaeke [Wed, 22 Oct 2003 17:52:56 +0000 (17:52 +0000)]
Do not check for strings.h. This is an old, old, old pre-C89 header that
absolutely nothing should be using (and it looks like nothing IS using it).

llvm-svn: 9381

20 years agoI think this file is not included by anything.
Brian Gaeke [Wed, 22 Oct 2003 17:51:28 +0000 (17:51 +0000)]
I think this file is not included by anything.

llvm-svn: 9380

20 years ago* Changed URL referring to zion to use llvm instead
Misha Brukman [Wed, 22 Oct 2003 17:01:44 +0000 (17:01 +0000)]
* Changed URL referring to zion to use llvm instead
* Close <li> tags

llvm-svn: 9378

20 years agoDo not add unreachable code to a natural loop!
Chris Lattner [Wed, 22 Oct 2003 16:41:21 +0000 (16:41 +0000)]
Do not add unreachable code to a natural loop!

llvm-svn: 9377

20 years agoMake sure to print labels on nodes without names
Chris Lattner [Wed, 22 Oct 2003 16:30:58 +0000 (16:30 +0000)]
Make sure to print labels on nodes without names

llvm-svn: 9376

20 years agoIf the basic block has no name, make sure to print the % number of it
Chris Lattner [Wed, 22 Oct 2003 16:22:42 +0000 (16:22 +0000)]
If the basic block has no name, make sure to print the % number of it

llvm-svn: 9375

20 years agoImplement the Function::viewCFG* methods, for use in a debugger. Also, the
Chris Lattner [Wed, 22 Oct 2003 16:03:49 +0000 (16:03 +0000)]
Implement the Function::viewCFG* methods, for use in a debugger.  Also, the
-print-cfg pass now lives here.

llvm-svn: 9374

20 years agoAdd two new function stubs for viewing the CFG of a function inside of the
Chris Lattner [Wed, 22 Oct 2003 16:03:20 +0000 (16:03 +0000)]
Add two new function stubs for viewing the CFG of a function inside of the
debugger

llvm-svn: 9373

20 years agoDelete the -print-cfg pass from this file
Chris Lattner [Wed, 22 Oct 2003 16:02:58 +0000 (16:02 +0000)]
Delete the -print-cfg pass from this file

llvm-svn: 9372

20 years agoAdded information on using Bugzilla.
John Criswell [Wed, 22 Oct 2003 15:06:11 +0000 (15:06 +0000)]
Added information on using Bugzilla.
Removed information on using llvm-bugs to report bugs.

llvm-svn: 9371

20 years agoAdd comments to describe what these functions actually do.
Misha Brukman [Wed, 22 Oct 2003 05:50:40 +0000 (05:50 +0000)]
Add comments to describe what these functions actually do.

llvm-svn: 9370

20 years ago* Use <cmath> instead of <math.h>
Misha Brukman [Wed, 22 Oct 2003 05:09:56 +0000 (05:09 +0000)]
* Use <cmath> instead of <math.h>
* Order #includes according to LLVM coding standards

llvm-svn: 9369

20 years agoRemoved completely duplicated function comment (an identical one appears later).
Misha Brukman [Wed, 22 Oct 2003 04:55:09 +0000 (04:55 +0000)]
Removed completely duplicated function comment (an identical one appears later).

llvm-svn: 9368

20 years agoNo, really, order the #includes correctly.
Misha Brukman [Wed, 22 Oct 2003 04:51:36 +0000 (04:51 +0000)]
No, really, order the #includes correctly.

llvm-svn: 9367

20 years agoUpdate the 'used' flag correctly
Chris Lattner [Wed, 22 Oct 2003 04:43:18 +0000 (04:43 +0000)]
Update the 'used' flag correctly

llvm-svn: 9366

20 years agoLoop over the module, not the symbol table. This makes the code handle
Chris Lattner [Wed, 22 Oct 2003 04:42:20 +0000 (04:42 +0000)]
Loop over the module, not the symbol table.  This makes the code handle
unused external functions again

llvm-svn: 9365

20 years agoNew library needed
Chris Lattner [Wed, 22 Oct 2003 03:40:33 +0000 (03:40 +0000)]
New library needed

llvm-svn: 9364

20 years agoImplement FunctionResolve/2003-10-21-GlobalResolveHack.ll
Chris Lattner [Wed, 22 Oct 2003 03:35:34 +0000 (03:35 +0000)]
Implement FunctionResolve/2003-10-21-GlobalResolveHack.ll

llvm-svn: 9363

20 years agoNew testcase for fun hack that is absolutely necessary for the C++ stdlib.
Chris Lattner [Wed, 22 Oct 2003 03:35:18 +0000 (03:35 +0000)]
New testcase for fun hack that is absolutely necessary for the C++ stdlib.

llvm-svn: 9362

20 years ago* Fix order of #includes to follow style guide
Misha Brukman [Wed, 22 Oct 2003 03:27:45 +0000 (03:27 +0000)]
* Fix order of #includes to follow style guide
* It's no longer a BasicBlock pass: update comment on run() method
* Fix placement of braces to be consistent
* Delete extraneous whitespace

llvm-svn: 9361

20 years agoConverted tabs to spaces.
Misha Brukman [Wed, 22 Oct 2003 03:10:26 +0000 (03:10 +0000)]
Converted tabs to spaces.

llvm-svn: 9360

20 years agoFix bug: FunctionResolve/2003-10-21-GlobalTypeDifference.ll
Chris Lattner [Tue, 21 Oct 2003 23:17:56 +0000 (23:17 +0000)]
Fix bug: FunctionResolve/2003-10-21-GlobalTypeDifference.ll

llvm-svn: 9359

20 years agoNew testcase: globals should be linked if they are the wrong type. We should
Chris Lattner [Tue, 21 Oct 2003 23:17:45 +0000 (23:17 +0000)]
New testcase: globals should be linked if they are the wrong type.  We should
just moan loudly.

llvm-svn: 9358

20 years agoFix bug: Linker/2003-10-21-ConflictingTypesTolerance.ll
Chris Lattner [Tue, 21 Oct 2003 22:46:38 +0000 (22:46 +0000)]
Fix bug: Linker/2003-10-21-ConflictingTypesTolerance.ll

llvm-svn: 9357

20 years agoNew testcase. The linker should not consider it an error if two types
Chris Lattner [Tue, 21 Oct 2003 22:46:22 +0000 (22:46 +0000)]
New testcase.  The linker should not consider it an error if two types
disagree.  It should grumble, then go ahead and do it.

llvm-svn: 9356

20 years agoAdd C/C++ build instructions, first draft.
Brian Gaeke [Tue, 21 Oct 2003 21:58:38 +0000 (21:58 +0000)]
Add C/C++ build instructions, first draft.

llvm-svn: 9355

20 years agoFix message to make more sense and confuse Chris less
Chris Lattner [Tue, 21 Oct 2003 21:52:20 +0000 (21:52 +0000)]
Fix message to make more sense and confuse Chris less

llvm-svn: 9354

20 years agoNew testcase, fixed in the C++ frontend
Chris Lattner [Tue, 21 Oct 2003 21:33:18 +0000 (21:33 +0000)]
New testcase, fixed in the C++ frontend

llvm-svn: 9353

20 years agoAdded the name of the public CVS repository.
John Criswell [Tue, 21 Oct 2003 21:24:38 +0000 (21:24 +0000)]
Added the name of the public CVS repository.
Removed the use of CVSROOTDIR as it is no longer used.
Fixed some word wrapping.

llvm-svn: 9352

20 years agoFix off-by-one error in processing of libraries named on command line.
Brian Gaeke [Tue, 21 Oct 2003 21:07:12 +0000 (21:07 +0000)]
Fix off-by-one error in processing of libraries named on command line.

llvm-svn: 9351

20 years agoAdding information on what testing support is provided by the LLVM build
John Criswell [Tue, 21 Oct 2003 19:35:06 +0000 (19:35 +0000)]
Adding information on what testing support is provided by the LLVM build
system.  Currently, it is not much.

llvm-svn: 9348

20 years agoAdd dummy content for libgdbm.
Misha Brukman [Tue, 21 Oct 2003 18:26:07 +0000 (18:26 +0000)]
Add dummy content for libgdbm.

llvm-svn: 9344

20 years agoFix libm's name to be `libm'
Misha Brukman [Tue, 21 Oct 2003 18:25:37 +0000 (18:25 +0000)]
Fix libm's name to be `libm'

llvm-svn: 9343

20 years agoFix library name and fix line to fit within 80 columns.
Misha Brukman [Tue, 21 Oct 2003 18:22:34 +0000 (18:22 +0000)]
Fix library name and fix line to fit within 80 columns.

llvm-svn: 9342

20 years agoAdd tools-only target, for bootstrapping the C/C++ front end.
Brian Gaeke [Tue, 21 Oct 2003 18:08:10 +0000 (18:08 +0000)]
Add tools-only target, for bootstrapping the C/C++ front end.

llvm-svn: 9341

20 years agoThis was not a lower-switch bug, it was a preselection bug
Chris Lattner [Tue, 21 Oct 2003 18:02:17 +0000 (18:02 +0000)]
This was not a lower-switch bug, it was a preselection bug

llvm-svn: 9340

20 years agoWhen linking the runtime libraries, do not link -lc and -lgcc into the libraries
Chris Lattner [Tue, 21 Oct 2003 18:00:37 +0000 (18:00 +0000)]
When linking the runtime libraries, do not link -lc and -lgcc into the libraries

llvm-svn: 9339

20 years agoFix strcpy implementation and trie
Chris Lattner [Tue, 21 Oct 2003 17:53:16 +0000 (17:53 +0000)]
Fix strcpy implementation and trie

llvm-svn: 9338

20 years agoFix the first FIXME in this file: automatically pick a "good"
Brian Gaeke [Tue, 21 Oct 2003 17:41:35 +0000 (17:41 +0000)]
Fix the first FIXME in this file: automatically pick a "good"
interpreter by default, by picking the first one that works
from a hard-coded list.

llvm-svn: 9337

20 years agoMake sure to add a type for va_next operands, which may not other wise
Chris Lattner [Tue, 21 Oct 2003 17:40:54 +0000 (17:40 +0000)]
Make sure to add a type for va_next operands, which may not other wise
occur in the module

llvm-svn: 9336

20 years agoFix problem which effected linking apache
Chris Lattner [Tue, 21 Oct 2003 17:39:59 +0000 (17:39 +0000)]
Fix problem which effected linking apache

llvm-svn: 9335

20 years agoHrm, unbreak stuph :(
Chris Lattner [Tue, 21 Oct 2003 17:22:23 +0000 (17:22 +0000)]
Hrm, unbreak stuph :(

llvm-svn: 9334

20 years agoFix preselection/lowerswitches bug
Chris Lattner [Tue, 21 Oct 2003 16:29:23 +0000 (16:29 +0000)]
Fix preselection/lowerswitches bug

llvm-svn: 9333

20 years agoPull the PHI special case into it's own visit* method
Chris Lattner [Tue, 21 Oct 2003 16:09:23 +0000 (16:09 +0000)]
Pull the PHI special case into it's own visit* method

llvm-svn: 9332

20 years agoThe lastOp operand is never used
Chris Lattner [Tue, 21 Oct 2003 16:06:07 +0000 (16:06 +0000)]
The lastOp operand is never used

llvm-svn: 9331

20 years agoAdd more space!
Chris Lattner [Tue, 21 Oct 2003 15:47:31 +0000 (15:47 +0000)]
Add more space!

llvm-svn: 9330

20 years agoHrm, for some reason, my fingers like typing va_begin. Weird
Chris Lattner [Tue, 21 Oct 2003 15:43:55 +0000 (15:43 +0000)]
Hrm, for some reason, my fingers like typing va_begin.  Weird

llvm-svn: 9329

20 years agoSyntax highlight the new operators
Chris Lattner [Tue, 21 Oct 2003 15:37:09 +0000 (15:37 +0000)]
Syntax highlight the new operators

llvm-svn: 9328

20 years agoUpdate test to new style
Chris Lattner [Tue, 21 Oct 2003 15:36:21 +0000 (15:36 +0000)]
Update test to new style

llvm-svn: 9327

20 years agoRemoved LLVM copyright from sample Makefile.
John Criswell [Tue, 21 Oct 2003 15:33:12 +0000 (15:33 +0000)]
Removed LLVM copyright from sample Makefile.

llvm-svn: 9326

20 years agoRemoved LLVM copyright notice from sample Makefile.
John Criswell [Tue, 21 Oct 2003 15:31:36 +0000 (15:31 +0000)]
Removed LLVM copyright notice from sample Makefile.

llvm-svn: 9325

20 years agoAdded LLVM copyright notice.
John Criswell [Tue, 21 Oct 2003 15:29:18 +0000 (15:29 +0000)]
Added LLVM copyright notice.

llvm-svn: 9324

20 years agoAdded LLVM copyright header.
John Criswell [Tue, 21 Oct 2003 15:17:13 +0000 (15:17 +0000)]
Added LLVM copyright header.

llvm-svn: 9321

20 years agoPreselection is _not_ a basicblock pass, because it adds global variables to
Chris Lattner [Tue, 21 Oct 2003 14:49:19 +0000 (14:49 +0000)]
Preselection is _not_ a basicblock pass, because it adds global variables to
the module.  This change converts it from being a basic block pass to being
a simple pass.  This allows elimination of the annotation and simplification
of the logic for moving constants into global variables.

llvm-svn: 9320

20 years agoAdded LLVM copyright notice.
John Criswell [Tue, 21 Oct 2003 14:33:46 +0000 (14:33 +0000)]
Added LLVM copyright notice.

llvm-svn: 9319

20 years agoWhen opcodes like ADD were split into reg. and immed. versions (ADDi and ADDr),
Vikram S. Adve [Tue, 21 Oct 2003 12:29:45 +0000 (12:29 +0000)]
When opcodes like ADD were split into reg. and immed. versions (ADDi and ADDr),
this code wasn't fixed correctly so it missed copy operations that used ADDi.

llvm-svn: 9318

20 years agoWhy does g++ not even generate a warning when you miss a break statement?
Vikram S. Adve [Tue, 21 Oct 2003 12:28:27 +0000 (12:28 +0000)]
Why does g++ not even generate a warning when you miss a break statement?

llvm-svn: 9317

20 years agoImplement the new varargs instructions and intrinsics.
Vikram S. Adve [Tue, 21 Oct 2003 11:25:09 +0000 (11:25 +0000)]
Implement the new varargs instructions and intrinsics.

llvm-svn: 9316

20 years agoOnly fails on the Sparc, only when run via the JIT.
Misha Brukman [Tue, 21 Oct 2003 04:13:37 +0000 (04:13 +0000)]
Only fails on the Sparc, only when run via the JIT.
And yet, it's a failure in the ``LowerSwitch'' pass.

llvm-svn: 9315

20 years agoAdded LLVM copyright to Makefiles.
John Criswell [Mon, 20 Oct 2003 22:29:16 +0000 (22:29 +0000)]
Added LLVM copyright to Makefiles.

llvm-svn: 9314

20 years agoAdded LLVM copyrights to Makefiles.
John Criswell [Mon, 20 Oct 2003 22:28:01 +0000 (22:28 +0000)]
Added LLVM copyrights to Makefiles.

llvm-svn: 9313

20 years agoAdded LLVM copyright notice to Makefiles.
John Criswell [Mon, 20 Oct 2003 22:26:57 +0000 (22:26 +0000)]
Added LLVM copyright notice to Makefiles.

llvm-svn: 9312

20 years agoAdd a new map
Chris Lattner [Mon, 20 Oct 2003 20:55:13 +0000 (20:55 +0000)]
Add a new map

llvm-svn: 9311

20 years agoConvert this code from using annotations to using a local map
Chris Lattner [Mon, 20 Oct 2003 20:52:23 +0000 (20:52 +0000)]
Convert this code from using annotations to using a local map

llvm-svn: 9310

20 years agoGoodbye, AddRegNumToValues
Brian Gaeke [Mon, 20 Oct 2003 20:44:03 +0000 (20:44 +0000)]
Goodbye, AddRegNumToValues

llvm-svn: 9309

20 years agoRemoved extraneous comment line.
John Criswell [Mon, 20 Oct 2003 20:40:30 +0000 (20:40 +0000)]
Removed extraneous comment line.

llvm-svn: 9308

20 years agoRemove using declaration
Chris Lattner [Mon, 20 Oct 2003 20:38:17 +0000 (20:38 +0000)]
Remove using declaration

llvm-svn: 9307

20 years agoThis #include is no longer necessary
Chris Lattner [Mon, 20 Oct 2003 20:29:44 +0000 (20:29 +0000)]
This #include is no longer necessary

llvm-svn: 9306

20 years agoAdded LLVM copyright header.
John Criswell [Mon, 20 Oct 2003 20:20:30 +0000 (20:20 +0000)]
Added LLVM copyright header.

llvm-svn: 9305

20 years agoAdded LLVM copyright header (for lack of a better term).
John Criswell [Mon, 20 Oct 2003 20:19:47 +0000 (20:19 +0000)]
Added LLVM copyright header (for lack of a better term).

llvm-svn: 9304

20 years agoOops. Typo.
John Criswell [Mon, 20 Oct 2003 20:16:14 +0000 (20:16 +0000)]
Oops. Typo.

llvm-svn: 9303

20 years agoAdded LLVM header notice.
John Criswell [Mon, 20 Oct 2003 20:11:43 +0000 (20:11 +0000)]
Added LLVM header notice.

llvm-svn: 9302

20 years agoFixed the documentation to coincide with the code.
Misha Brukman [Mon, 20 Oct 2003 19:47:25 +0000 (19:47 +0000)]
Fixed the documentation to coincide with the code.

llvm-svn: 9301

20 years agoAdded LLVM notice.
John Criswell [Mon, 20 Oct 2003 19:46:57 +0000 (19:46 +0000)]
Added LLVM notice.

llvm-svn: 9300

20 years agoMade error message more comprehensible.
Misha Brukman [Mon, 20 Oct 2003 19:43:47 +0000 (19:43 +0000)]
Made error message more comprehensible.

llvm-svn: 9299

20 years agoAdded LLVM project notice to the top of every C++ source file.
John Criswell [Mon, 20 Oct 2003 19:43:21 +0000 (19:43 +0000)]
Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298

20 years ago"Function"[0] == 'F', not 'M'
Chris Lattner [Mon, 20 Oct 2003 19:10:06 +0000 (19:10 +0000)]
"Function"[0] == 'F', not 'M'

llvm-svn: 9297

20 years agoUpdate release notes
Chris Lattner [Mon, 20 Oct 2003 19:05:03 +0000 (19:05 +0000)]
Update release notes

llvm-svn: 9296

20 years agoMinor leftover fixups from replaceMachineCodeForFunction () change.
Brian Gaeke [Mon, 20 Oct 2003 17:59:09 +0000 (17:59 +0000)]
Minor leftover fixups from replaceMachineCodeForFunction () change.

llvm-svn: 9295

20 years agofix file header
Chris Lattner [Mon, 20 Oct 2003 17:58:43 +0000 (17:58 +0000)]
fix file header

llvm-svn: 9294

20 years agofix file headers
Chris Lattner [Mon, 20 Oct 2003 17:57:13 +0000 (17:57 +0000)]
fix file headers

llvm-svn: 9293

20 years agoFix file header
Chris Lattner [Mon, 20 Oct 2003 17:52:11 +0000 (17:52 +0000)]
Fix file header

llvm-svn: 9292

20 years agoAdded copyright header to all C++ source files.
John Criswell [Mon, 20 Oct 2003 17:47:21 +0000 (17:47 +0000)]
Added copyright header to all C++ source files.

llvm-svn: 9291

20 years agoMade the Requirements information its own major section and moved it
John Criswell [Mon, 20 Oct 2003 16:39:52 +0000 (16:39 +0000)]
Made the Requirements information its own major section and moved it
between the "Getting Started Quickly" and "Getting Started Slowly" sections.
:)
Removed some of the nit-picky requirements information (i.e. GNU tar and
GNU zip).
Attempted to compact the requirements information so that it is less scary.

llvm-svn: 9290

20 years agoMake replaceMachineCodeForFunction() return void.
Brian Gaeke [Mon, 20 Oct 2003 15:17:12 +0000 (15:17 +0000)]
Make replaceMachineCodeForFunction() return void.

llvm-svn: 9289

20 years agoMake replaceMachineCodeForFunction return void.
Brian Gaeke [Mon, 20 Oct 2003 15:15:17 +0000 (15:15 +0000)]
Make replaceMachineCodeForFunction return void.

llvm-svn: 9288

20 years agoMake replaceMachineCodeForFunction return void.
Brian Gaeke [Mon, 20 Oct 2003 15:14:33 +0000 (15:14 +0000)]
Make replaceMachineCodeForFunction return void.
Make it assert by default.

llvm-svn: 9287

20 years agoApparently the dependencies are wrong for this file, so it didn't rebuild it
Chris Lattner [Mon, 20 Oct 2003 14:12:52 +0000 (14:12 +0000)]
Apparently the dependencies are wrong for this file, so it didn't rebuild it
when changing Instruction.def.  :(

llvm-svn: 9286

20 years agoReorder for minor efficiency gain
Chris Lattner [Mon, 20 Oct 2003 05:54:26 +0000 (05:54 +0000)]
Reorder for minor efficiency gain

llvm-svn: 9285

20 years agoEmit x86 instructions for: A = B op C, where A and B are 16-bit registers,
Chris Lattner [Mon, 20 Oct 2003 05:53:31 +0000 (05:53 +0000)]
Emit x86 instructions for: A = B op C, where A and B are 16-bit registers,
C is a constant which can be sign-extended from 8 bits without value loss,
and op is one of: add, sub, imul, and, or, xor.

This allows the JIT to emit the one byte version of the constant instead of
the two or 4 byte version.  Because these instructions are very common, this
can save a LOT of code space.  For example, I sampled two benchmarks, 176.gcc
and 254.gap.

BM        Old     New    Reduction
176.gcc 2673621 2548962  4.89%
254.gap  498261  475104  4.87%

Note that while the percentage is not spectacular, this did eliminate
124.6 _KILOBYTES_ of codespace from gcc.  Not bad.

Note that this doesn't effect the llc version at all, because the assembler
already does this optimization.

llvm-svn: 9284

20 years agoHrm, a relic from the past. How cute :)
Chris Lattner [Mon, 20 Oct 2003 05:45:49 +0000 (05:45 +0000)]
Hrm, a relic from the past.  How cute :)

llvm-svn: 9283

20 years agoFurther cleanups and simplifications
Chris Lattner [Mon, 20 Oct 2003 04:48:06 +0000 (04:48 +0000)]
Further cleanups and simplifications

llvm-svn: 9282

20 years agoEliminate code for pointer size and endianness emulation.
Chris Lattner [Mon, 20 Oct 2003 04:11:23 +0000 (04:11 +0000)]
Eliminate code for pointer size and endianness emulation.

llvm-svn: 9281

20 years agoThe Grammar Police was here.
Misha Brukman [Mon, 20 Oct 2003 04:03:10 +0000 (04:03 +0000)]
The Grammar Police was here.

llvm-svn: 9280