oota-llvm.git
17 years agoFix a #include to resolve IntegerType class.
Reid Spencer [Fri, 19 Jan 2007 22:45:50 +0000 (22:45 +0000)]
Fix a #include to resolve IntegerType class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33385 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a #include to resolve IntegerType class.
Reid Spencer [Fri, 19 Jan 2007 22:45:05 +0000 (22:45 +0000)]
Add a #include to resolve IntegerType class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33384 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd test case extracted from lencod. Spiller was infinite looping in GetRegForReload().
Evan Cheng [Fri, 19 Jan 2007 22:43:14 +0000 (22:43 +0000)]
Add test case extracted from lencod. Spiller was infinite looping in GetRegForReload().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33383 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGetRegForReload() now keeps track which registers have been considered and rejected...
Evan Cheng [Fri, 19 Jan 2007 22:40:14 +0000 (22:40 +0000)]
GetRegForReload() now keeps track which registers have been considered and rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this:
  t1 := op t2, t3
  t2 <- assigned r0 for use by the reload but ended up reuse r1
  t3 <- assigned r1 for use by the reload but ended up reuse r0
  t1 <- desires r1
        sees r1 is taken by t2, tries t2's reload register r0
        sees r0 is taken by t3, tries t3's reload register r1
        sees r1 is taken by t2, tries t2's reload register r0 ...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33382 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUnbreak Darwin.
Reid Spencer [Fri, 19 Jan 2007 22:04:24 +0000 (22:04 +0000)]
Unbreak Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33375 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoHelp the lli interpreter find the stderr/stdin/stdout symbols. These are
Reid Spencer [Fri, 19 Jan 2007 21:41:04 +0000 (21:41 +0000)]
Help the lli interpreter find the stderr/stdin/stdout symbols. These are
needed for output to be generated. On Linux these are both global vars and
macro definitions so we have to special case Linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33374 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoHandle each of stderr/stdin/stdout separately.
Reid Spencer [Fri, 19 Jan 2007 21:30:39 +0000 (21:30 +0000)]
Handle each of stderr/stdin/stdout separately.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33373 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove dead methods in the ValTypes.
Reid Spencer [Fri, 19 Jan 2007 21:25:12 +0000 (21:25 +0000)]
Remove dead methods in the ValTypes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33372 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor this transform: store V, (cast P) -> store (cast V), P
Reid Spencer [Fri, 19 Jan 2007 21:20:31 +0000 (21:20 +0000)]
For this transform: store V, (cast P) -> store (cast V), P
don't allow the transform if V and the pointer's element type are different
width integer types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33371 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1043:
Reid Spencer [Fri, 19 Jan 2007 21:13:56 +0000 (21:13 +0000)]
For PR1043:
This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*

This also fixes PR1120.

Patch by Sheng Zhou.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33370 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake this test actually test what its supposed to test.
Reid Spencer [Fri, 19 Jan 2007 21:06:38 +0000 (21:06 +0000)]
Make this test actually test what its supposed to test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33369 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCode clean up. Use def : pat instead of defining new instructions.
Evan Cheng [Fri, 19 Jan 2007 20:27:35 +0000 (20:27 +0000)]
Code clean up. Use def : pat instead of defining new instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33368 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agofix build on amd64
Andrew Lenharth [Fri, 19 Jan 2007 20:17:59 +0000 (20:17 +0000)]
fix build on amd64

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33367 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoisDarwin -> isTargetDarwin
Evan Cheng [Fri, 19 Jan 2007 19:28:01 +0000 (19:28 +0000)]
isDarwin -> isTargetDarwin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33366 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRestructure code a bit to make use of continue (simplifying things). Generalize
Evan Cheng [Fri, 19 Jan 2007 19:25:36 +0000 (19:25 +0000)]
Restructure code a bit to make use of continue (simplifying things).  Generalize
the .zerofill directive emission to not be darwin-specific.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33365 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDarwin doesn't support .bss, but it does have .zerofill
Evan Cheng [Fri, 19 Jan 2007 19:23:47 +0000 (19:23 +0000)]
Darwin doesn't support .bss, but it does have .zerofill

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33364 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIntroduce TargetType's ELF and Darwin.
Evan Cheng [Fri, 19 Jan 2007 19:22:40 +0000 (19:22 +0000)]
Introduce TargetType's ELF and Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33363 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoModify emission of jump tables on darwin to emit an extra "l" label that
Evan Cheng [Fri, 19 Jan 2007 18:59:56 +0000 (18:59 +0000)]
Modify emission of jump tables on darwin to emit an extra "l" label that
delimits the boundaries of jump tables.  This lets the linker's dead code
stripping optimization do a better job.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33362 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove this xform:
Evan Cheng [Fri, 19 Jan 2007 17:51:44 +0000 (17:51 +0000)]
Remove this xform:
(shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2)
Replace it with:
(add (shl (add x, c1), c2), ) -> (add (add (shl x, c2), c1<<c2), )

This fixes test/CodeGen/ARM/smul.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33361 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd the check for udis86 to support disassembly.
Reid Spencer [Fri, 19 Jan 2007 17:41:47 +0000 (17:41 +0000)]
Add the check for udis86 to support disassembly.

Regenerated for Anton Korobeynikov.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33360 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix section definition.
Lauro Ramos Venancio [Fri, 19 Jan 2007 17:33:22 +0000 (17:33 +0000)]
Fix section definition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33359 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdding disassembler interface and external hook to udis86 library.
Anton Korobeynikov [Fri, 19 Jan 2007 17:25:17 +0000 (17:25 +0000)]
Adding disassembler interface and external hook to udis86 library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33358 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoicmp doesn't support comparison of packed types.
Reid Spencer [Fri, 19 Jan 2007 17:11:12 +0000 (17:11 +0000)]
icmp doesn't support comparison of packed types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33357 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCover non-byte-width BATs situation.
Zhou Sheng [Fri, 19 Jan 2007 14:30:59 +0000 (14:30 +0000)]
Cover non-byte-width BATs situation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33356 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCover more arithmetics for arbitrary bitwidth integers.
Zhou Sheng [Fri, 19 Jan 2007 14:26:57 +0000 (14:26 +0000)]
Cover more arithmetics for arbitrary bitwidth integers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33355 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoARM test cases contributed by Apple.
Evan Cheng [Fri, 19 Jan 2007 09:20:23 +0000 (09:20 +0000)]
ARM test cases contributed by Apple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33354 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoARM backend contribution from Apple.
Evan Cheng [Fri, 19 Jan 2007 07:51:42 +0000 (07:51 +0000)]
ARM backend contribution from Apple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33353 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNeeded to build on PPC Linux.
Nick Lewycky [Fri, 19 Jan 2007 04:36:02 +0000 (04:36 +0000)]
Needed to build on PPC Linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33352 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd one test case for Arbitrary BitWidth Integers.
Zhou Sheng [Fri, 19 Jan 2007 01:35:08 +0000 (01:35 +0000)]
Add one test case for Arbitrary BitWidth Integers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33348 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoBack out last changes for dataLayout. Much more work is needed.
Reid Spencer [Fri, 19 Jan 2007 00:07:16 +0000 (00:07 +0000)]
Back out last changes for dataLayout. Much more work is needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33347 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR761:
Reid Spencer [Thu, 18 Jan 2007 23:24:24 +0000 (23:24 +0000)]
For PR761:
Implement reading and writing of the Module's data layout string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33346 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- Target PIC style is no longer affected by relocation model.
Evan Cheng [Thu, 18 Jan 2007 22:27:12 +0000 (22:27 +0000)]
- Target PIC style is no longer affected by relocation model.
- In x86-64 mode, symbols with external linkage (not just symbols which are
  defined externally) requires GOT indirect reference.
- Stylistic code clean up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33345 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove an execution test from llvm/test
Chris Lattner [Thu, 18 Jan 2007 22:24:04 +0000 (22:24 +0000)]
remove an execution test from llvm/test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33344 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix InstCombine/2007-01-18-VectorInfLoop.ll, a case where instcombine
Chris Lattner [Thu, 18 Jan 2007 22:16:33 +0000 (22:16 +0000)]
Fix InstCombine/2007-01-18-VectorInfLoop.ll, a case where instcombine
infinitely loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33343 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase that causes instcombine to infinitely loop
Chris Lattner [Thu, 18 Jan 2007 22:16:03 +0000 (22:16 +0000)]
new testcase that causes instcombine to infinitely loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33342 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate copyright for 2007.
Reid Spencer [Thu, 18 Jan 2007 21:33:56 +0000 (21:33 +0000)]
Update copyright for 2007.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33339 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWelcome 2007.
John Criswell [Thu, 18 Jan 2007 21:22:36 +0000 (21:22 +0000)]
Welcome 2007.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33338 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up some code around the store V, (cast P) -> store (cast V), P
Reid Spencer [Thu, 18 Jan 2007 18:54:33 +0000 (18:54 +0000)]
Clean up some code around the store V, (cast P) -> store (cast V), P
transform. Change some variable names so it is clear what is source and
what is dest of the cast. Also, add an assert to ensure that the integer
to integer case is asserting if the bitwidths are different. This prevents
illegal casts from being formed and catches bitwidth bugs sooner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33337 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse a cheaper computation.
Reid Spencer [Thu, 18 Jan 2007 18:14:49 +0000 (18:14 +0000)]
Use a cheaper computation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33336 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a regression in the last patch. When constructing a BitMask, be careful
Reid Spencer [Thu, 18 Jan 2007 18:01:32 +0000 (18:01 +0000)]
Fix a regression in the last patch. When constructing a BitMask, be careful
not to overflow 64-bits and end up with a 0 mask. This caused i64 values to
always be stored as 0 with lots of consequential damage to nightly test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33335 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agomove contents of PR587 to here.
Chris Lattner [Thu, 18 Jan 2007 07:34:57 +0000 (07:34 +0000)]
move contents of PR587 to here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33333 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoProvide an isPowerOf2ByteWidth method for the IntegerType class. This will
Reid Spencer [Thu, 18 Jan 2007 02:59:54 +0000 (02:59 +0000)]
Provide an isPowerOf2ByteWidth method for the IntegerType class. This will
mostly be used by back ends that wish to distinguish between integer types
that fit evenly within a natural integer type and those that don't.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33328 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe zerofill directive needs a newline after it.
Bill Wendling [Thu, 18 Jan 2007 02:30:19 +0000 (02:30 +0000)]
The zerofill directive needs a newline after it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33327 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse the new maskToBitWidth function to ensure that the results of
Reid Spencer [Thu, 18 Jan 2007 02:12:51 +0000 (02:12 +0000)]
Use the new maskToBitWidth function to ensure that the results of
computations do not overflow the intended bit width.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33326 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd an inline helper function that masks a GenericValue to a specified
Reid Spencer [Thu, 18 Jan 2007 02:12:10 +0000 (02:12 +0000)]
Add an inline helper function that masks a GenericValue to a specified
bit width.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33325 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMinor code clean up.
Evan Cheng [Thu, 18 Jan 2007 01:49:58 +0000 (01:49 +0000)]
Minor code clean up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33323 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake shl instruction mask its result to the correct bitsize. This is
Reid Spencer [Thu, 18 Jan 2007 01:32:46 +0000 (01:32 +0000)]
Make shl instruction mask its result to the correct bitsize. This is
sufficient to get llvm-test/SingleSource/UnitTests/Integer/general-test.ll
working with lli in interpreter mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33321 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTwo changes:
Reid Spencer [Thu, 18 Jan 2007 01:25:42 +0000 (01:25 +0000)]
Two changes:
1. Fix logic for executeGEP. Only 32-bit and 64-bit integer types are
   acceptable as indices.
2. Ensure that all integer cast operations truncate their result to the
   integer size of the operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33318 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake sure we truncate stored values to their bit width.
Reid Spencer [Thu, 18 Jan 2007 01:24:02 +0000 (01:24 +0000)]
Make sure we truncate stored values to their bit width.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33317 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoHave the OutputBuffer take the is64Bit and isLittleEndian booleans.
Bill Wendling [Thu, 18 Jan 2007 01:23:11 +0000 (01:23 +0000)]
Have the OutputBuffer take the is64Bit and isLittleEndian booleans.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33316 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoModify emission of jump tables on darwin to emit an extra "l" label that
Chris Lattner [Thu, 18 Jan 2007 01:15:58 +0000 (01:15 +0000)]
Modify emission of jump tables on darwin to emit an extra "l" label that
delimits the boundaries of jump tables.  This lets the linker's dead code
stripping optimization do a better job.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33315 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd new JumpTableSpecialLabelPrefix hook to asmprinter for jumptable emission.
Chris Lattner [Thu, 18 Jan 2007 01:12:56 +0000 (01:12 +0000)]
add new JumpTableSpecialLabelPrefix hook to asmprinter for jumptable emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33314 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1028:
Reid Spencer [Wed, 17 Jan 2007 23:33:20 +0000 (23:33 +0000)]
For PR1028:
Add the llvm.stacksave and llvm.stackrestore intrinsics that correspond
to the GCC builtins __builtin_stack_save and __builtin_stack_restore. This
allows the CBE to execute these builtins, and fixes:

   test/CodeGen/CBackend/2007-01-17-StackSaveNRestore.ll
   External/SPEC/CINT2000/176.gcc (CBE)

Patch by Gordon Henriksen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33313 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1028:
Reid Spencer [Wed, 17 Jan 2007 23:20:43 +0000 (23:20 +0000)]
For PR1028:
Ensure the CBE generates calls to GCC builtins for stack_save and
stack_restore when it encounters the corresponding intrinsics.

Patch by Gordon Henriksen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33312 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoChanged to use the OutputBuffer instead of the methods in MachO and ELF
Bill Wendling [Wed, 17 Jan 2007 22:22:31 +0000 (22:22 +0000)]
Changed to use the OutputBuffer instead of the methods in MachO and ELF
writers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33311 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRefactored output buffer methods from MachO and ELF writers.
Bill Wendling [Wed, 17 Jan 2007 22:17:24 +0000 (22:17 +0000)]
Refactored output buffer methods from MachO and ELF writers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33310 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd CGPassManager.
Devang Patel [Wed, 17 Jan 2007 21:45:01 +0000 (21:45 +0000)]
Add CGPassManager.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33309 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate ModulePass::assignPassManager() to take into account Preferred
Devang Patel [Wed, 17 Jan 2007 21:19:23 +0000 (21:19 +0000)]
Update ModulePass::assignPassManager() to take into account Preferred
Pass Manager Type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33308 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agos/PassDebugging_New/PassDebugging/g
Devang Patel [Wed, 17 Jan 2007 20:33:36 +0000 (20:33 +0000)]
s/PassDebugging_New/PassDebugging/g

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33307 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate assignPassManager() signature to allow selection of preferred
Devang Patel [Wed, 17 Jan 2007 20:30:17 +0000 (20:30 +0000)]
Update assignPassManager() signature to allow selection of preferred
pass manager type. This allows new FPPassManager to select Call Graph
Pass Manager (if available) as its parent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33306 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR739:
Reid Spencer [Wed, 17 Jan 2007 20:24:45 +0000 (20:24 +0000)]
For PR739:
Support overriding the prefix and DESTDIR variables from the make command
line. This makes the makefile system a little more GNU compliant and the
feature makes it easier for distribution builders to re-target the install
location of LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33305 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agorestructure code a bit to make use of continue (simplifying things). Generalize
Chris Lattner [Wed, 17 Jan 2007 17:44:25 +0000 (17:44 +0000)]
restructure code a bit to make use of continue (simplifying things).  Generalize
the .zerofill directive emission to not be darwin-specific

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33304 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agodarwin doesn't support .bss, but it does have .zerofill
Chris Lattner [Wed, 17 Jan 2007 17:43:33 +0000 (17:43 +0000)]
darwin doesn't support .bss, but it does have .zerofill

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33303 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd new directive
Chris Lattner [Wed, 17 Jan 2007 17:42:42 +0000 (17:42 +0000)]
add new directive

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33302 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agodocument that BSSSection can be null.
Chris Lattner [Wed, 17 Jan 2007 17:42:30 +0000 (17:42 +0000)]
document that BSSSection can be null.
Add new ZeroFillDirective directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33301 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDocument flag
Anton Korobeynikov [Wed, 17 Jan 2007 10:40:54 +0000 (10:40 +0000)]
Document flag

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33300 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago* Fix one more bug in PIC codegen: extra load is needed for *all*
Anton Korobeynikov [Wed, 17 Jan 2007 10:33:08 +0000 (10:33 +0000)]
* Fix one more bug in PIC codegen: extra load is needed for *all*
non-statics.
* Introduce new option to output zero-initialized data to .bss section.
This can reduce size of binaries. Enable it by default for ELF &
Cygwin/Mingw targets. Probably, Darwin should be also added.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33299 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRevert patch.
Bill Wendling [Wed, 17 Jan 2007 09:06:13 +0000 (09:06 +0000)]
Revert patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33298 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe Regression directory is now gone.
Reid Spencer [Wed, 17 Jan 2007 08:01:13 +0000 (08:01 +0000)]
The Regression directory is now gone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33297 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegression is gone, don't try to find it on clean target.
Reid Spencer [Wed, 17 Jan 2007 07:59:14 +0000 (07:59 +0000)]
Regression is gone, don't try to find it on clean target.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33296 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake tblgen error more useful. Patch by B. Scott Michel
Chris Lattner [Wed, 17 Jan 2007 07:45:12 +0000 (07:45 +0000)]
Make tblgen error more useful.  Patch by B. Scott Michel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33295 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agomake doxygen comment much better. Patch by B. Scott Michel!
Chris Lattner [Wed, 17 Jan 2007 07:28:48 +0000 (07:28 +0000)]
make doxygen comment much better.  Patch by B. Scott Michel!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33294 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate for changes in location of Stacker.
Reid Spencer [Wed, 17 Jan 2007 05:37:42 +0000 (05:37 +0000)]
Update for changes in location of Stacker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33293 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove obsolete comment
Chris Lattner [Wed, 17 Jan 2007 05:26:57 +0000 (05:26 +0000)]
remove obsolete comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33292 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCreate the specified TargetObjInfo and use it.
Bill Wendling [Wed, 17 Jan 2007 03:51:37 +0000 (03:51 +0000)]
Create the specified TargetObjInfo and use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33291 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCreate/store/and delete the TargetObjInfo object.
Bill Wendling [Wed, 17 Jan 2007 03:50:41 +0000 (03:50 +0000)]
Create/store/and delete the TargetObjInfo object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33290 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse the methods in the TargetObjInfo object instead of internal methods.
Bill Wendling [Wed, 17 Jan 2007 03:49:21 +0000 (03:49 +0000)]
Use the methods in the TargetObjInfo object instead of internal methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33289 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe TargetObjInfo object goes here.
Bill Wendling [Wed, 17 Jan 2007 03:48:29 +0000 (03:48 +0000)]
The TargetObjInfo object goes here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33288 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemoved methods which are now in the respective TargetObjInfo implementations.
Bill Wendling [Wed, 17 Jan 2007 03:47:54 +0000 (03:47 +0000)]
Removed methods which are now in the respective TargetObjInfo implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33287 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew "TargetObjInfo" class. This holds information that the object writers will
Bill Wendling [Wed, 17 Jan 2007 03:46:30 +0000 (03:46 +0000)]
New "TargetObjInfo" class. This holds information that the object writers will
use to write things to the file. It's abstract so each target should implement
its own version for each writer type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33286 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix this tool for use on Darwin which requires the file to come after the
Reid Spencer [Wed, 17 Jan 2007 03:38:22 +0000 (03:38 +0000)]
Fix this tool for use on Darwin which requires the file to come after the
commands. Linux is more forgiving.

Patch by Gordon Henriksen. Thanks, Gordon!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33285 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate.
Reid Spencer [Wed, 17 Jan 2007 02:48:45 +0000 (02:48 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33284 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1117:
Reid Spencer [Wed, 17 Jan 2007 02:47:33 +0000 (02:47 +0000)]
For PR1117:
Make the assembler generate a nice error message if a bad cast instruction
is attempted instead of asserting out. This is made possible by the
recently exposed method CastInst::castIsValid() which checks the validity
of any cast instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33283 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1117:
Reid Spencer [Wed, 17 Jan 2007 02:46:11 +0000 (02:46 +0000)]
For PR1117:
Expose the previously hidden checkCast function as CastInst::castIsValid.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33282 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTest cases for PR1117.
Reid Spencer [Wed, 17 Jan 2007 02:45:19 +0000 (02:45 +0000)]
Test cases for PR1117.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33281 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1094:
Reid Spencer [Wed, 17 Jan 2007 02:23:37 +0000 (02:23 +0000)]
For PR1094:
Adjust the use of SetVector for changes in SetVector's interface.
Patch by Gordon Henriksen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33280 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1094:
Reid Spencer [Wed, 17 Jan 2007 02:22:18 +0000 (02:22 +0000)]
For PR1094:
Make the SetVector::iterator be the vector's const_iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33279 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1074:
Reid Spencer [Wed, 17 Jan 2007 02:18:44 +0000 (02:18 +0000)]
For PR1074:
Remove the projects/Stacker directory. LLVM is now free of dependency
on llvm-gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33278 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1074:
Reid Spencer [Wed, 17 Jan 2007 02:14:46 +0000 (02:14 +0000)]
For PR1074:
Adjust configuration for Stacker's new name: llvm-stacker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33277 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove unused forward class declarations.
Reid Spencer [Wed, 17 Jan 2007 01:49:59 +0000 (01:49 +0000)]
Remove unused forward class declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33276 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIgnore the output directory.
Reid Spencer [Wed, 17 Jan 2007 01:48:42 +0000 (01:48 +0000)]
Ignore the output directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33275 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoJoin two lines that caused awk to squak on some platforms.
Reid Spencer [Tue, 16 Jan 2007 22:41:12 +0000 (22:41 +0000)]
Join two lines that caused awk to squak on some platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33274 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPass manager may require certain analysis. In such cases, initially
Devang Patel [Tue, 16 Jan 2007 22:38:10 +0000 (22:38 +0000)]
Pass manager may require certain analysis. In such cases, initially
pass manager is last user.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33273 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix test cases. Patch by Guoling Han.
Reid Spencer [Tue, 16 Jan 2007 22:31:46 +0000 (22:31 +0000)]
Fix test cases. Patch by Guoling Han.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33272 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove this test case. LLVM doesn't currently support comparison of packed.
Reid Spencer [Tue, 16 Jan 2007 21:58:58 +0000 (21:58 +0000)]
Remove this test case. LLVM doesn't currently support comparison of packed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33271 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUndo last check-in.
Devang Patel [Tue, 16 Jan 2007 21:43:18 +0000 (21:43 +0000)]
Undo last check-in.
Remove setupPassManager() and its use.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33270 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMissed "<" :)
Anton Korobeynikov [Tue, 16 Jan 2007 20:22:18 +0000 (20:22 +0000)]
Missed "<" :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33265 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSetup pass manager before scheduling required analysis.
Devang Patel [Tue, 16 Jan 2007 19:46:09 +0000 (19:46 +0000)]
Setup pass manager before scheduling required analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33262 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd a test case for bit accurate integer types in llvm-gcc. This is
Reid Spencer [Tue, 16 Jan 2007 18:40:08 +0000 (18:40 +0000)]
Add a test case for bit accurate integer types in llvm-gcc. This is
XFAILed for now until llvm-gcc changes are committed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33261 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCleanup. Comments added.
Anton Korobeynikov [Tue, 16 Jan 2007 18:23:09 +0000 (18:23 +0000)]
Cleanup. Comments added.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33260 91177308-0d34-0410-b5e6-96231b3b80d8