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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Reid Spencer [Tue, 16 Jan 2007 18:08:22 +0000 (18:08 +0000)]
New test cases for bit accurate integers developed by Guoling Han.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33259
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 18:02:45 +0000 (18:02 +0000)]
Fix SMG2000 with the CBE: opaque types need names too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33258
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 17:51:40 +0000 (17:51 +0000)]
document some subtlety
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33257
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 16 Jan 2007 16:41:57 +0000 (16:41 +0000)]
Emit symbol type information for ELF/COFF targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33256
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 16 Jan 2007 09:29:17 +0000 (09:29 +0000)]
Instead of yet another enum indicating the "assembly language flavor",
just use the one that's in the subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33255
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 07:22:23 +0000 (07:22 +0000)]
Fix PR918 by only using typedefs to name struct types. This makes the later
type ordering stuff work better. This fixes PR918 and
CodeGen/CBackend/2007-01-15-NamedArrayType.ll
Patch by Gordon Henriksen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33254
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 07:21:28 +0000 (07:21 +0000)]
testcase for PR918
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33253
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 06:39:48 +0000 (06:39 +0000)]
add a note: we need whole-function selectiondags :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33252
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 05:59:59 +0000 (05:59 +0000)]
Fix PR1114 and CodeGen/Generic/2007-01-15-LoadSelectCycle.ll by being
careful when folding "c ? load p : load q" that C doesn't reach either load.
If so, folding this into load (c ? p : q) will induce a cycle in the graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33251
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 05:58:50 +0000 (05:58 +0000)]
new testcase for PR1114
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 16 Jan 2007 04:55:25 +0000 (04:55 +0000)]
add options to view the dags before the first or second pass of dag combine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33249
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 16 Jan 2007 04:15:20 +0000 (04:15 +0000)]
Added a -mtriple flag to force darwin backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33248
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 16 Jan 2007 04:13:03 +0000 (04:13 +0000)]
Make inline ASM the INTEL one if it's in that emission mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33247
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 16 Jan 2007 03:42:04 +0000 (03:42 +0000)]
Fix for PR1095:
LLVM would miscompile ASM dialects when compiling for PPC. Added dialects for
the X86 and PPC backends. It defaults to "0", the first variant of a compound
inline asm expression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33246
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 16 Jan 2007 02:00:38 +0000 (02:00 +0000)]
Code refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33245
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 15 Jan 2007 23:06:56 +0000 (23:06 +0000)]
Remove extra white spaces. Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33244
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 15 Jan 2007 20:31:54 +0000 (20:31 +0000)]
Do not record last users of Pass Manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33243
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Mon, 15 Jan 2007 20:27:18 +0000 (20:27 +0000)]
Unbreak VC++ build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 18:32:24 +0000 (18:32 +0000)]
test darwin too! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33241
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 15 Jan 2007 18:28:34 +0000 (18:28 +0000)]
One more @ to remove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33240
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 18:28:18 +0000 (18:28 +0000)]
make this more efficient in release builds (time and space)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33239
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 15 Jan 2007 18:27:39 +0000 (18:27 +0000)]
Update documentation for parameter attributes for the syntax change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 17:55:20 +0000 (17:55 +0000)]
Fix a regression in my isIntegral patch that broke 471.omnetpp. This is
because TargetData::getTypeSize() returns the same for i1 and i8. This fix
is not right for the full generality of bitwise types, but it fixes the
regression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33237
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 15 Jan 2007 14:30:07 +0000 (14:30 +0000)]
Don't print address of ETNode. Print the DFSNumIn which uniquely identifies
the basic block and is stable across runs in gdb or valgrind.
Make Node::update handle edges which dominate and are tighter than
existing edges.
Replace makeEqual's "squeeze theorem" code. Fixes miscompilation.
Gate the calls to defToOps and opsToDef. Before this, we were getting IG
edges about values which weren't even defined in the dominated area. This
reduces the size of the IG by about half.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33236
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 07:41:51 +0000 (07:41 +0000)]
Run an instcombine pass after inlining but before scalarrepl. This allows
instcombine to clean up the code, which makes more code suitable for SRoA.
This helps C++ code in particular, e.g. speeding up tramp3d by 31%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33235
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 07:30:06 +0000 (07:30 +0000)]
Implement InstCombine/phi.ll:test7, deletion of trivial value loops for
induction variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 07:29:29 +0000 (07:29 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33233
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 07:02:54 +0000 (07:02 +0000)]
simplify some code now that types are signless
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 06:51:56 +0000 (06:51 +0000)]
delete stores to allocas with one use. This is a trivial form of DSE which
often kicks in for ?: expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 06:51:25 +0000 (06:51 +0000)]
add a simple case where instcombine can detect and remove a dead alloca
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33230
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 06:27:37 +0000 (06:27 +0000)]
Constant fold llvm.powi.*. This speeds up tramp3d--v4 by 9.5%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33229
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 06:25:39 +0000 (06:25 +0000)]
add some notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33228
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 15 Jan 2007 02:41:46 +0000 (02:41 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33227
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 15 Jan 2007 02:40:33 +0000 (02:40 +0000)]
For PR1113:
Increment the counter after the second use, not after the first use. This
fixes PR1113.
Also, rename some classes for simplicity and to more naturally be
reminscient of LLVM 1.9. This in preparation for additional classes that
will provide a scaled down model of the LLVM 1.9 IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 02:27:26 +0000 (02:27 +0000)]
rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33225
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 02:12:07 +0000 (02:12 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 02:05:34 +0000 (02:05 +0000)]
teach VMCore to accept i1 add's and shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 02:03:16 +0000 (02:03 +0000)]
eliminate calls to Type::isInteger, preferring isIntegral instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 02:00:29 +0000 (02:00 +0000)]
allow i1 to operators like shift and add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:58:56 +0000 (01:58 +0000)]
Update code to eliminate calls to isInteger, calling isIntegral instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33220
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:55:32 +0000 (01:55 +0000)]
Change to match API changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:55:30 +0000 (01:55 +0000)]
Eliminate calls to isInteger, generalizing code and tightening checks as needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33218
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:54:13 +0000 (01:54 +0000)]
Terminology change: drop 'integral' completely. Now we just have integer,
which includes i1. Change the semantics of the various instructions to
support i1 where they didn't before: for example, it is now legal [though
not terribly useful, as it is the same as xor] to add two i1 values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33217
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:48:11 +0000 (01:48 +0000)]
Make use of isInteger vs isIntegral more explicit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:04:21 +0000 (01:04 +0000)]
ensure these don't xpass if opt crashes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 01:02:34 +0000 (01:02 +0000)]
Fix correlated exprs regressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 00:45:50 +0000 (00:45 +0000)]
don't discriminate against i1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33213
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 15 Jan 2007 00:26:18 +0000 (00:26 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33212
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 15 Jan 2007 00:25:53 +0000 (00:25 +0000)]
Reorganize things a bit in preparation for rewrite. Although this looks
like a lot, its really only two changes:
1. Move stuff that should be private to .y out of the .h file.
2. Make all semantic values pointers.
This cleans up the silly destroy methods and changes them to delete. It
also moves the TypeInfo and ValueInfo classes into the .y where we can
modify them more readily because they have no clients any more.
This shouldn't result in any functional changes in llvm-upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33211
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 15 Jan 2007 00:15:09 +0000 (00:15 +0000)]
Fix Analysis/Dominators/2006-10-02-BreakCritEdges.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33210
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 14 Jan 2007 21:46:42 +0000 (21:46 +0000)]
Primitive types don't include integers any more, adjust.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33209
91177308-0d34-0410-b5e6-
96231b3b80d8