Commit Graph

29073 Commits

Author SHA1 Message Date
Reid Spencer 01f7e06d8f Make sure we truncate stored values to their bit width.
llvm-svn: 33317
2007-01-18 01:24:02 +00:00
Bill Wendling e750f61ac5 Have the OutputBuffer take the is64Bit and isLittleEndian booleans.
llvm-svn: 33316
2007-01-18 01:23:11 +00:00
Chris Lattner c1ea85b4c4 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.

llvm-svn: 33315
2007-01-18 01:15:58 +00:00
Chris Lattner 0ee2d46cfe add new JumpTableSpecialLabelPrefix hook to asmprinter for jumptable emission.
llvm-svn: 33314
2007-01-18 01:12:56 +00:00
Reid Spencer 7300651384 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.

llvm-svn: 33313
2007-01-17 23:33:20 +00:00
Reid Spencer 062a3b8241 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.

llvm-svn: 33312
2007-01-17 23:20:43 +00:00
Bill Wendling cd9c1f035a Changed to use the OutputBuffer instead of the methods in MachO and ELF
writers.

llvm-svn: 33311
2007-01-17 22:22:31 +00:00
Bill Wendling cbb5501c5d Refactored output buffer methods from MachO and ELF writers.
llvm-svn: 33310
2007-01-17 22:17:24 +00:00
Devang Patel 48537a046c Add CGPassManager.
llvm-svn: 33309
2007-01-17 21:45:01 +00:00
Devang Patel 23f8aa921e Update ModulePass::assignPassManager() to take into account Preferred
Pass Manager Type.

llvm-svn: 33308
2007-01-17 21:19:23 +00:00
Devang Patel fd41843243 s/PassDebugging_New/PassDebugging/g
llvm-svn: 33307
2007-01-17 20:33:36 +00:00
Devang Patel dffca63396 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.

llvm-svn: 33306
2007-01-17 20:30:17 +00:00
Reid Spencer e7b24afae1 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.

llvm-svn: 33305
2007-01-17 20:24:45 +00:00
Chris Lattner f64cc9edd1 restructure code a bit to make use of continue (simplifying things). Generalize
the .zerofill directive emission to not be darwin-specific

llvm-svn: 33304
2007-01-17 17:44:25 +00:00
Chris Lattner 88b45f9a2c darwin doesn't support .bss, but it does have .zerofill
llvm-svn: 33303
2007-01-17 17:43:33 +00:00
Chris Lattner 1ceb643f31 add new directive
llvm-svn: 33302
2007-01-17 17:42:42 +00:00
Chris Lattner 2e38168e4a document that BSSSection can be null.
Add new ZeroFillDirective directive.

llvm-svn: 33301
2007-01-17 17:42:30 +00:00
Anton Korobeynikov 716efbfc63 Document flag
llvm-svn: 33300
2007-01-17 10:40:54 +00:00
Anton Korobeynikov 3f6d52834b * 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.

llvm-svn: 33299
2007-01-17 10:33:08 +00:00
Bill Wendling 38ee6519b7 Revert patch.
llvm-svn: 33298
2007-01-17 09:06:13 +00:00
Reid Spencer 7629b78c50 The Regression directory is now gone.
llvm-svn: 33297
2007-01-17 08:01:13 +00:00
Reid Spencer 83b3d82672 Regression is gone, don't try to find it on clean target.
llvm-svn: 33296
2007-01-17 07:59:14 +00:00
Chris Lattner 100602d756 Make tblgen error more useful. Patch by B. Scott Michel
llvm-svn: 33295
2007-01-17 07:45:12 +00:00
Chris Lattner 856228f42e make doxygen comment much better. Patch by B. Scott Michel!
llvm-svn: 33294
2007-01-17 07:28:48 +00:00
Reid Spencer ebd7cac7e4 Update for changes in location of Stacker.
llvm-svn: 33293
2007-01-17 05:37:42 +00:00
Chris Lattner 24a0e7b8f4 remove obsolete comment
llvm-svn: 33292
2007-01-17 05:26:57 +00:00
Bill Wendling 05e5a5ee6c Create the specified TargetObjInfo and use it.
llvm-svn: 33291
2007-01-17 03:51:37 +00:00
Bill Wendling a967e9c9a9 Create/store/and delete the TargetObjInfo object.
llvm-svn: 33290
2007-01-17 03:50:41 +00:00
Bill Wendling dcc324b15b Use the methods in the TargetObjInfo object instead of internal methods.
llvm-svn: 33289
2007-01-17 03:49:21 +00:00
Bill Wendling d04c52203f The TargetObjInfo object goes here.
llvm-svn: 33288
2007-01-17 03:48:29 +00:00
Bill Wendling 7865c4d295 Removed methods which are now in the respective TargetObjInfo implementations.
llvm-svn: 33287
2007-01-17 03:47:54 +00:00
Bill Wendling f758157385 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.

llvm-svn: 33286
2007-01-17 03:46:30 +00:00
Reid Spencer c35fec9567 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!

llvm-svn: 33285
2007-01-17 03:38:22 +00:00
Reid Spencer ceb8459f1d Regenerate.
llvm-svn: 33284
2007-01-17 02:48:45 +00:00
Reid Spencer 082a77f1c9 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.

llvm-svn: 33283
2007-01-17 02:47:33 +00:00
Reid Spencer 00e5e0ea8f For PR1117:
Expose the previously hidden checkCast function as CastInst::castIsValid.

llvm-svn: 33282
2007-01-17 02:46:11 +00:00
Reid Spencer 48e0c338ca Test cases for PR1117.
llvm-svn: 33281
2007-01-17 02:45:19 +00:00
Reid Spencer a8a1547370 For PR1094:
Adjust the use of SetVector for changes in SetVector's interface.
Patch by Gordon Henriksen.

llvm-svn: 33280
2007-01-17 02:23:37 +00:00
Reid Spencer 2854cb9ab8 For PR1094:
Make the SetVector::iterator be the vector's const_iterator.

llvm-svn: 33279
2007-01-17 02:22:18 +00:00
Reid Spencer e6fd0e826b For PR1074:
Remove the projects/Stacker directory. LLVM is now free of dependency
on llvm-gcc.

llvm-svn: 33278
2007-01-17 02:18:44 +00:00
Reid Spencer b4e0f9b52e For PR1074:
Adjust configuration for Stacker's new name: llvm-stacker.

llvm-svn: 33277
2007-01-17 02:14:46 +00:00
Reid Spencer 8da11cde85 Remove unused forward class declarations.
llvm-svn: 33276
2007-01-17 01:49:59 +00:00
Reid Spencer 0fa0670b8b Ignore the output directory.
llvm-svn: 33275
2007-01-17 01:48:42 +00:00
Reid Spencer 7dac4c31a4 Join two lines that caused awk to squak on some platforms.
llvm-svn: 33274
2007-01-16 22:41:12 +00:00
Devang Patel d85662f67d Pass manager may require certain analysis. In such cases, initially
pass manager is last user.

llvm-svn: 33273
2007-01-16 22:38:10 +00:00
Reid Spencer 4eac5b315d Fix test cases. Patch by Guoling Han.
llvm-svn: 33272
2007-01-16 22:31:46 +00:00
Reid Spencer a3facd734a Remove this test case. LLVM doesn't currently support comparison of packed.
llvm-svn: 33271
2007-01-16 21:58:58 +00:00
Devang Patel 3312f75071 Undo last check-in.
Remove setupPassManager() and its use.

llvm-svn: 33270
2007-01-16 21:43:18 +00:00
Anton Korobeynikov 31fcc2cde9 Missed "<" :)
llvm-svn: 33265
2007-01-16 20:22:18 +00:00
Devang Patel 68dc3d2263 Setup pass manager before scheduling required analysis.
llvm-svn: 33262
2007-01-16 19:46:09 +00:00