Reid Spencer
90935f608d
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
2007-01-18 02:12:10 +00:00
Evan Cheng
071b9d5d7c
Minor code clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33323 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-18 01:49:58 +00:00
Reid Spencer
547dcf2467
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
2007-01-18 01:32:46 +00:00
Reid Spencer
23e28836ed
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
2007-01-18 01:25:42 +00:00
Reid Spencer
f89aec655f
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
2007-01-18 01:24:02 +00:00
Bill Wendling
c904a5b925
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
2007-01-18 01:23:11 +00:00
Chris Lattner
b266ccd0f4
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
2007-01-18 01:15:58 +00:00
Chris Lattner
393a8eea3c
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
2007-01-18 01:12:56 +00:00
Reid Spencer
a10dc506c0
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
2007-01-17 23:33:20 +00:00
Reid Spencer
4cbd542dfe
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
2007-01-17 23:20:43 +00:00
Bill Wendling
203d3e4386
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
2007-01-17 22:22:31 +00:00
Bill Wendling
f341ccbff9
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
2007-01-17 22:17:24 +00:00
Devang Patel
75f9abf517
Add CGPassManager.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33309 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 21:45:01 +00:00
Devang Patel
44b0d29802
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
2007-01-17 21:19:23 +00:00
Devang Patel
26426949f3
s/PassDebugging_New/PassDebugging/g
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33307 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 20:33:36 +00:00
Devang Patel
be1ffc6b8d
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
2007-01-17 20:30:17 +00:00
Reid Spencer
32b169114e
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
2007-01-17 20:24:45 +00:00
Chris Lattner
8e13e90052
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
2007-01-17 17:44:25 +00:00
Chris Lattner
42ca450a57
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
2007-01-17 17:43:33 +00:00
Chris Lattner
6f198dfb38
add new directive
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33302 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 17:42:42 +00:00
Chris Lattner
c099e49f57
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
2007-01-17 17:42:30 +00:00
Anton Korobeynikov
292a007c94
Document flag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33300 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 10:40:54 +00:00
Anton Korobeynikov
5032e5a613
* 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
2007-01-17 10:33:08 +00:00
Bill Wendling
e911615c47
Revert patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33298 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 09:06:13 +00:00
Reid Spencer
44d59b0daf
The Regression directory is now gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33297 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 08:01:13 +00:00
Reid Spencer
fb15c005bb
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
2007-01-17 07:59:14 +00:00
Chris Lattner
d8a1728b5a
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
2007-01-17 07:45:12 +00:00
Chris Lattner
c49e1eb8cc
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
2007-01-17 07:28:48 +00:00
Reid Spencer
72826f6171
Update for changes in location of Stacker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33293 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 05:37:42 +00:00
Chris Lattner
de8dacf759
remove obsolete comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33292 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 05:26:57 +00:00
Bill Wendling
22fb30231b
Create the specified TargetObjInfo and use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33291 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 03:51:37 +00:00
Bill Wendling
cc91f5862c
Create/store/and delete the TargetObjInfo object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33290 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 03:50:41 +00:00
Bill Wendling
157c4eeb4d
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
2007-01-17 03:49:21 +00:00
Bill Wendling
3007f7a30e
The TargetObjInfo object goes here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33288 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 03:48:29 +00:00
Bill Wendling
99b10272f9
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
2007-01-17 03:47:54 +00:00
Bill Wendling
34f03fff2d
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
2007-01-17 03:46:30 +00:00
Reid Spencer
2c13f6657a
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
2007-01-17 03:38:22 +00:00
Reid Spencer
b0fcf8fe8f
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33284 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 02:48:45 +00:00
Reid Spencer
93947c3985
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
2007-01-17 02:47:33 +00:00
Reid Spencer
0a11af1f73
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
2007-01-17 02:46:11 +00:00
Reid Spencer
889cf0ec51
Test cases for PR1117.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33281 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 02:45:19 +00:00
Reid Spencer
7af9a13f3a
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
2007-01-17 02:23:37 +00:00
Reid Spencer
cf48cab945
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
2007-01-17 02:22:18 +00:00
Reid Spencer
d203342a59
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
2007-01-17 02:18:44 +00:00
Reid Spencer
67bb0796dd
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
2007-01-17 02:14:46 +00:00
Reid Spencer
34341b09f1
Remove unused forward class declarations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33276 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 01:49:59 +00:00
Reid Spencer
b164c76709
Ignore the output directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33275 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 01:48:42 +00:00
Reid Spencer
ea92a109ff
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
2007-01-16 22:41:12 +00:00
Devang Patel
8df87095fc
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
2007-01-16 22:38:10 +00:00
Reid Spencer
4b8c4b35e3
Fix test cases. Patch by Guoling Han.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33272 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-16 22:31:46 +00:00