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
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
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
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
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
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
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
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
Anton Korobeynikov
922965aa29
Cleanup. Comments added.
...
llvm-svn: 33260
2007-01-16 18:23:09 +00:00
Chris Lattner
4202f37352
Fix SMG2000 with the CBE: opaque types need names too.
...
llvm-svn: 33258
2007-01-16 18:02:45 +00:00
Chris Lattner
6cc58a0dc5
document some subtlety
...
llvm-svn: 33257
2007-01-16 17:51:40 +00:00
Anton Korobeynikov
4f01b783a3
Emit symbol type information for ELF/COFF targets
...
llvm-svn: 33256
2007-01-16 16:41:57 +00:00
Bill Wendling
c7b2ab9bdf
Instead of yet another enum indicating the "assembly language flavor",
...
just use the one that's in the subtarget.
llvm-svn: 33255
2007-01-16 09:29:17 +00:00
Chris Lattner
5488ade154
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.
llvm-svn: 33254
2007-01-16 07:22:23 +00:00
Chris Lattner
89e5813312
add a note: we need whole-function selectiondags :)
...
llvm-svn: 33252
2007-01-16 06:39:48 +00:00
Chris Lattner
4dc4489286
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.
llvm-svn: 33251
2007-01-16 05:59:59 +00:00
Chris Lattner
f70c5cd5db
add options to view the dags before the first or second pass of dag combine.
...
llvm-svn: 33249
2007-01-16 04:55:25 +00:00
Bill Wendling
0b3a451e1b
Make inline ASM the INTEL one if it's in that emission mode.
...
llvm-svn: 33247
2007-01-16 04:13:03 +00:00
Bill Wendling
e21237e59a
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.
llvm-svn: 33246
2007-01-16 03:42:04 +00:00
Devang Patel
4268fc08d3
Code refactoring.
...
llvm-svn: 33245
2007-01-16 02:00:38 +00:00
Devang Patel
6975b6ec09
Remove extra white spaces. Fix comments.
...
llvm-svn: 33244
2007-01-15 23:06:56 +00:00
Devang Patel
39786a90d0
Do not record last users of Pass Manager.
...
llvm-svn: 33243
2007-01-15 20:31:54 +00:00
Jeff Cohen
9431075206
Unbreak VC++ build.
...
llvm-svn: 33242
2007-01-15 20:27:18 +00:00
Chris Lattner
90d2e426f9
make this more efficient in release builds (time and space)
...
llvm-svn: 33239
2007-01-15 18:28:18 +00:00
Chris Lattner
479a9fc492
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.
llvm-svn: 33237
2007-01-15 17:55:20 +00:00
Nick Lewycky
6ce36cff3a
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.
llvm-svn: 33236
2007-01-15 14:30:07 +00:00
Chris Lattner
c8dcede292
Implement InstCombine/phi.ll:test7, deletion of trivial value loops for
...
induction variables.
llvm-svn: 33234
2007-01-15 07:30:06 +00:00
Chris Lattner
27df1db485
simplify some code now that types are signless
...
llvm-svn: 33232
2007-01-15 07:02:54 +00:00
Chris Lattner
a4beeef76c
delete stores to allocas with one use. This is a trivial form of DSE which
...
often kicks in for ?: expressions.
llvm-svn: 33231
2007-01-15 06:51:56 +00:00
Chris Lattner
26933ddb10
Constant fold llvm.powi.*. This speeds up tramp3d--v4 by 9.5%
...
llvm-svn: 33229
2007-01-15 06:27:37 +00:00
Chris Lattner
e76908ba81
add some notes
...
llvm-svn: 33228
2007-01-15 06:25:39 +00:00
Chris Lattner
03c4953cdd
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! :)
llvm-svn: 33225
2007-01-15 02:27:26 +00:00
Chris Lattner
c1be5ac420
regenerate
...
llvm-svn: 33224
2007-01-15 02:12:07 +00:00
Chris Lattner
57eedaca52
teach VMCore to accept i1 add's and shifts
...
llvm-svn: 33223
2007-01-15 02:05:34 +00:00
Chris Lattner
c69c6c4db2
eliminate calls to Type::isInteger, preferring isIntegral instead.
...
llvm-svn: 33222
2007-01-15 02:03:16 +00:00
Chris Lattner
b02536cadf
allow i1 to operators like shift and add.
...
llvm-svn: 33221
2007-01-15 02:00:29 +00:00
Chris Lattner
4442e4b401
Update code to eliminate calls to isInteger, calling isIntegral instead.
...
llvm-svn: 33220
2007-01-15 01:58:56 +00:00
Chris Lattner
1942249c5b
Eliminate calls to isInteger, generalizing code and tightening checks as needed.
...
llvm-svn: 33218
2007-01-15 01:55:30 +00:00
Chris Lattner
f448a8c8ac
Make use of isInteger vs isIntegral more explicit
...
llvm-svn: 33216
2007-01-15 01:48:11 +00:00
Chris Lattner
f9478e757b
Fix correlated exprs regressions
...
llvm-svn: 33214
2007-01-15 01:02:34 +00:00
Chris Lattner
885433b15b
don't discriminate against i1
...
llvm-svn: 33213
2007-01-15 00:45:50 +00:00
Chris Lattner
f739d01059
Fix Analysis/Dominators/2006-10-02-BreakCritEdges.ll
...
llvm-svn: 33210
2007-01-15 00:15:09 +00:00
Chris Lattner
6ee923f3bb
instcombine has always been miscompiling fcmp x, x, disregarding possible
...
NANs. This fixes PR1111 and Transforms/InstCombine/2007-01-14-FcmpSelf.ll
llvm-svn: 33208
2007-01-14 19:42:17 +00:00
Chris Lattner
9818a6fd76
Fix PR1110 and Analysis/Dominators/2007-01-14-BreakCritEdges.ll by being
...
more careful about unreachable code when updating dominator info.
llvm-svn: 33204
2007-01-14 18:33:35 +00:00
Anton Korobeynikov
cce06fd277
No hidden visiblity on Mingw32/Cygwin
...
llvm-svn: 33202
2007-01-14 11:49:39 +00:00
Chris Lattner
3c84b551db
add support for hidden visibility to darwin/ppc and linux/ppc targets
...
llvm-svn: 33200
2007-01-14 06:37:54 +00:00
Chris Lattner
8c51bf5bf6
add support for hidden visibility to darwin/x86
...
llvm-svn: 33198
2007-01-14 06:29:53 +00:00
Chris Lattner
9f6badbc41
add a new HiddenDirective member for handling visibility.
...
llvm-svn: 33197
2007-01-14 06:27:21 +00:00
Chris Lattner
ae5db00419
add a missing else. This caused globals to be printed as:
...
movq ___dso_handle@GOTPCREL(%rip)(%rip), %rsi
instead of:
movq ___dso_handle@GOTPCREL(%rip), %rsi
llvm-svn: 33196
2007-01-14 06:08:14 +00:00
Chris Lattner
875d7b2b1d
fit to 80 cols.
...
Remove now-extraneous checks for ptr->ptr bitcasts.
Fix PR1109 and Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll. We
need to consider arbitrary sized objects when checking for nested GEP offsets.
llvm-svn: 33195
2007-01-14 05:57:53 +00:00
Chris Lattner
5a55476211
Fix PR1101 and Analysis/ScalarEvolution/trip-count.ll
...
llvm-svn: 33193
2007-01-14 01:24:47 +00:00
Chris Lattner
6bbb29ba40
darwin doesn't use .hidden. Disable this until we fix it right.
...
llvm-svn: 33191
2007-01-14 00:50:56 +00:00
Chris Lattner
5544e17a08
Fix PR1103 and Regression/CodeGen/X86/2007-01-13-StackPtrIndex.ll
...
llvm-svn: 33189
2007-01-14 00:13:07 +00:00
Chris Lattner
de86991b14
remove dead code, frameindices must be resolve before the asmprinter runs.
...
llvm-svn: 33187
2007-01-13 23:59:03 +00:00
Chris Lattner
387bf3f700
Fix Transforms/InstCombine/2007-01-13-ExtCompareMiscompile.ll, which is part
...
of PR1107
llvm-svn: 33185
2007-01-13 23:11:38 +00:00
Reid Spencer
47bb5c996e
Fix indentation to prior level for easier diffs.
...
llvm-svn: 33184
2007-01-13 05:10:53 +00:00
Reid Spencer
58a8db0a3f
Regenerate.
...
llvm-svn: 33182
2007-01-13 05:00:46 +00:00
Reid Spencer
502d64e654
Bye bye bool. AsmWriter doesn't generate it any more so AsmParser shouldn't
...
read it any more. This is consistent with the new IR as well.
llvm-svn: 33181
2007-01-13 05:00:20 +00:00
Nick Lewycky
4294446fcb
"Default context" blocks can occur after a non-default one. This meant
...
that properties were being applied where they didn't belong. Fixes crash
in new MiBench testcase.
Also mark debugging code as such in #ifdef.
llvm-svn: 33177
2007-01-13 02:05:28 +00:00
Reid Spencer
91d93de25e
Fix a FIXME. 1 bit integer types are now printed as i1 not bool.
...
llvm-svn: 33176
2007-01-13 01:09:33 +00:00
Chris Lattner
ff7434a526
Fix a minor bug handling constant exprs, introduced by a recent patch.
...
llvm-svn: 33175
2007-01-13 00:42:58 +00:00
Reid Spencer
ea4374c0d4
Make sure the IntegerValType has enough space for 2^23 bits.
...
llvm-svn: 33168
2007-01-13 00:12:29 +00:00
Reid Spencer
d8d0540d9b
Make sure that GEP indices are only 32 or 64 bits. We're not ready for
...
indices with other bit sizes yet.
llvm-svn: 33167
2007-01-13 00:10:02 +00:00
Reid Spencer
bea2e4cf23
Get rid of some useless distinction between bool and integer.
...
llvm-svn: 33166
2007-01-13 00:09:12 +00:00
Chris Lattner
ca82a908e3
fix a bug in a recent patch
...
llvm-svn: 33164
2007-01-13 00:02:49 +00:00
Reid Spencer
73497b26cd
Remove this file. It was inadvertently added because I could not find
...
TargetLowering.cpp in CodeGen/SelectionDAG (location makes no sense to me)
llvm-svn: 33160
2007-01-12 23:32:11 +00:00
Reid Spencer
a8a0f2cf68
Compensate for loss of DerivedTypes.h in TargetLowering.h
...
llvm-svn: 33159
2007-01-12 23:31:12 +00:00
Reid Spencer
ddf1421b8e
Move a function out of line.
...
llvm-svn: 33158
2007-01-12 23:30:31 +00:00
Chris Lattner
5699b8e3d0
remove over-general code.
...
llvm-svn: 33157
2007-01-12 23:28:32 +00:00
Chris Lattner
90c6e6835d
remove unneeded special case for bool
...
llvm-svn: 33156
2007-01-12 23:26:17 +00:00
Chris Lattner
65258e9ef3
Eliminate a log(n) lookup
...
llvm-svn: 33155
2007-01-12 23:23:08 +00:00
Reid Spencer
015b432b54
Adjust #includes to compensate for lost of DerivedTypes.h in
...
TargetLowering.h
llvm-svn: 33154
2007-01-12 23:22:14 +00:00
Reid Spencer
44e3d4ec40
Add a new home for TargetLowering member functions.
...
llvm-svn: 33152
2007-01-12 23:18:18 +00:00
Chris Lattner
afdee2062c
remove obsolete fixme
...
llvm-svn: 33151
2007-01-12 22:52:50 +00:00
Chris Lattner
f5e5236b57
simplify some code
...
llvm-svn: 33150
2007-01-12 22:51:20 +00:00
Evan Cheng
61a4be88b4
Minor fix.
...
llvm-svn: 33149
2007-01-12 22:51:10 +00:00
Chris Lattner
3b6058c278
Remove over-general comparisons
...
llvm-svn: 33147
2007-01-12 22:49:11 +00:00
Jim Laskey
f047882b15
Allow isAllOnesValue testing on packed constants
...
llvm-svn: 33146
2007-01-12 22:39:14 +00:00
Lauro Ramos Venancio
901d9e65f6
Don't add or sub zero to sp.
...
llvm-svn: 33142
2007-01-12 20:52:27 +00:00
Lauro Ramos Venancio
c4235e5521
Build constants using instructions mov/orr or mvn/eor.
...
llvm-svn: 33141
2007-01-12 20:35:49 +00:00
Devang Patel
f85793d171
s/addPassToManager/add/g
...
llvm-svn: 33138
2007-01-12 20:07:16 +00:00
Anton Korobeynikov
8ea9d3a687
Regenerate
...
llvm-svn: 33137
2007-01-12 19:22:51 +00:00
Anton Korobeynikov
a0554d90e8
* PIC codegen for X86/Linux has been implemented
...
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)
llvm-svn: 33136
2007-01-12 19:20:47 +00:00
Devang Patel
e759955c66
Move PMTopLevelManager, PMDataManager and FPPassManger classes into
...
new PassManagers.h header.
This opens door for implementing CGPassManager in IPA library.
llvm-svn: 33135
2007-01-12 18:52:44 +00:00
Chris Lattner
344da52c4c
Remove a bunch of duplicated code. Among other things, this fixes
...
constant folding of signed comparisons of bool.
llvm-svn: 33134
2007-01-12 18:42:52 +00:00
Chris Lattner
e3721e3002
eliminate redundant check
...
llvm-svn: 33132
2007-01-12 18:35:11 +00:00
Chris Lattner
67598a8ccc
regenerate
...
llvm-svn: 33131
2007-01-12 18:33:30 +00:00
Chris Lattner
f2a4af8da3
This production is dead, the lexer can never return 'NOT'
...
llvm-svn: 33130
2007-01-12 18:32:39 +00:00
Chris Lattner
15649084e9
Branch conditions must be i1
...
llvm-svn: 33129
2007-01-12 18:30:11 +00:00
Chris Lattner
19cfb04d04
don't discriminate against bool
...
llvm-svn: 33128
2007-01-12 18:28:58 +00:00
Chris Lattner
3b641bfba5
remove unneeded special cases
...
llvm-svn: 33127
2007-01-12 18:23:49 +00:00
Chris Lattner
0fd2b9f5c0
GEP operands can't be bools
...
llvm-svn: 33125
2007-01-12 18:20:48 +00:00
Chris Lattner
7f6fac4bb5
Simplify code
...
llvm-svn: 33123
2007-01-12 18:15:09 +00:00
Devang Patel
0f08004ac0
Remove dead code.
...
llvm-svn: 33121
2007-01-12 17:23:48 +00:00
Reid Spencer
b20ef92e42
Regenerate.
...
llvm-svn: 33117
2007-01-12 07:28:27 +00:00
Reid Spencer
0879a87a0d
Integer type names need 1 or more digits, not zero or more.
...
llvm-svn: 33116
2007-01-12 07:27:59 +00:00
Reid Spencer
c87215900d
Always write 1 bit integers as i1 not "bool".
...
llvm-svn: 33115
2007-01-12 07:25:20 +00:00
Evan Cheng
a557a0028d
Comment.
...
llvm-svn: 33114
2007-01-12 07:25:16 +00:00
Reid Spencer
7a9c62baa6
For PR1064:
...
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.
llvm-svn: 33113
2007-01-12 07:05:14 +00:00
Reid Spencer
cddc9dfe97
Implement review feedback for the ConstantBool->ConstantInt merge. Chris
...
recommended that getBoolValue be replaced with getZExtValue and that
get(bool) be replaced by get(const Type*, uint64_t). This implements
those changes.
llvm-svn: 33110
2007-01-12 04:24:46 +00:00
Evan Cheng
31cbddf28a
Store default libgcc routine names and allow them to be redefined by target.
...
llvm-svn: 33105
2007-01-12 02:11:51 +00:00
Nick Lewycky
ee32ee0250
If we know that it's a constant being casted, propagate through the cast
...
instruction. Doesn't work the other way though (can't recover bits that
have been truncated).
llvm-svn: 33104
2007-01-12 01:23:53 +00:00
Nick Lewycky
4a74a75bbb
Clean up logic after ConstantBool removal.
...
llvm-svn: 33096
2007-01-12 00:02:12 +00:00
Devang Patel
ad98d23f16
Start using PMStack. Now each pass is responsibe for assinging
...
a pass manager for itself.
There is some opportunity to remove some dead code from PassManager.cpp.
llvm-svn: 33087
2007-01-11 22:15:30 +00:00
Devang Patel
ac99eca428
Use getPassManagerType() instead of dynamic_cast.
...
llvm-svn: 33078
2007-01-11 19:59:06 +00:00
Reid Spencer
542964f55b
Rename BoolTy as Int1Ty. Patch by Sheng Zhou.
...
llvm-svn: 33076
2007-01-11 18:21:29 +00:00
Zhou Sheng
bd23db9968
Remove unnecessary boolean type check.
...
llvm-svn: 33075
2007-01-11 14:38:17 +00:00
Zhou Sheng
75b871fb1e
For PR1043:
...
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073
2007-01-11 12:24:14 +00:00
Zhou Sheng
691b263e07
Fixed indentation.
...
llvm-svn: 33072
2007-01-11 10:33:26 +00:00
Reid Spencer
5656cad97d
Shut up a warning about signed/unsigned.
...
llvm-svn: 33071
2007-01-11 07:58:19 +00:00
Chris Lattner
550a8f3760
simplify some logic further
...
llvm-svn: 33069
2007-01-11 04:30:21 +00:00
Chris Lattner
5e04332326
Recommit my previous patch with a bugfix: printInfoComment works on both
...
local and global values.
llvm-svn: 33068
2007-01-11 03:54:27 +00:00
Nick Lewycky
5d6ede524a
Quiet compiler warning. The only reason the function is marked virtual
...
is so that it can be called from inside a debugger.
llvm-svn: 33067
2007-01-11 02:38:21 +00:00
Nick Lewycky
2fc338f923
New predicate simplifier!
...
Please do not enable, there is still some known miscompile problem.
llvm-svn: 33066
2007-01-11 02:32:38 +00:00
Devang Patel
3b3f89900e
Add PassManagerType enum.
...
llvm-svn: 33065
2007-01-11 01:10:25 +00:00
Reid Spencer
750f80e306
Avoid taking the address of a macro by checking to see if stdin is defined
...
or not. This allows DynamicLibrary.cpp to compile on Darwin.
llvm-svn: 33064
2007-01-11 00:35:10 +00:00
Reid Spencer
74bd036059
Implement better constant folding of unordered FCMP predicates.
...
llvm-svn: 33063
2007-01-11 00:25:45 +00:00
Devang Patel
15701b5c0d
Robustify assingPassManager() for Module, Function and Basic Block
...
Passes.
Robustify PMStack.push()
Add dump() routine to print PMStack.
llvm-svn: 33062
2007-01-11 00:19:00 +00:00
Reid Spencer
1b2eeedd85
Allow LLI, in interpreter mode, to find stdin, stdout, and stderr. This is
...
a bit of a hack but it lets some of the llvm-test programs run.
llvm-svn: 33058
2007-01-10 19:50:43 +00:00
Reid Spencer
c6c4fab067
Back out the last patch which is a nightly test killer. The assertion
...
in getLocalSlot fires on many, many values. It broke nearly all of
the dejagnu tests. Simple changes to the assertion did not fix the
problem.
llvm-svn: 33054
2007-01-10 09:18:16 +00:00
Chris Lattner
2d56715015
Last refactoring before PR645: split up getSlot into getLocalSlot and getGlobalSlot.
...
No functionality change.
llvm-svn: 33053
2007-01-10 07:01:46 +00:00
Chris Lattner
2cf85c7507
eliminate some iterator gymnastics.
...
llvm-svn: 33052
2007-01-10 06:43:26 +00:00
Reid Spencer
69fb861b19
Change the file header name as this file was renamed.
...
llvm-svn: 33051
2007-01-10 04:17:32 +00:00
Reid Spencer
2972099ff1
Rename Writer.cpp as CBackend.cpp so it doesn't conflict with Writer.cpp
...
in the bytecode writer library. This helps with debugging.
llvm-svn: 33050
2007-01-10 04:16:17 +00:00
Chris Lattner
8571caa99b
Fix a bug in heap-sra that caused compilation failure of office-ispell.
...
llvm-svn: 33043
2007-01-09 23:29:37 +00:00
Reid Spencer
1fc9be30ef
For PR1099:
...
Invert the "isSigned" logic in calls to printType and printPrimitiveType.
We want variables to be declared unsigned by default so that signless
operators like + and - perform the unsigned operation that LLVM expects
by default. Parameters with the sext attribute will be declared signed and
signed instructions will case operand values to signed regardless of the
type of the variable. This passes all tests and fixes PR1099.
llvm-svn: 33039
2007-01-09 17:09:09 +00:00
Chris Lattner
04398e8d48
Inline insertValue into CreateModuleSlot/CreateFunctionSlot
...
llvm-svn: 33038
2007-01-09 08:04:59 +00:00
Chris Lattner
721c213c0e
Remove a bunch of complex logic that is completely dead: duplicates can
...
never be inserted!
llvm-svn: 33037
2007-01-09 07:58:11 +00:00
Chris Lattner
ea862a33d9
Split CreateSlot into two versions, one for globals and one for function-local
...
values
llvm-svn: 33036
2007-01-09 07:55:49 +00:00
Chris Lattner
89e774efaa
Remove extraneous return value from insertValue and getOrCreateSlot. Since
...
getOrCreateSlot no longer gets the slot, rename it to CreateSlot.
llvm-svn: 33035
2007-01-09 07:46:21 +00:00
Reid Spencer
bf38bf7143
For PR1099:
...
Partial fix for this PR. Default function parameters to signed integer, just
like everything else in CBE. The bug was caused by incorrectly introducing
parameter attributes feature by choosing "signed" parameter if the
SExtAttribute was specified. Howeer, if no attribute is specified, this
causes it to become unsigned which is incorrect. Reversing the logic so
that signedness is detected by "not ZExtAttribute" set fixes the issue.
This fixes 197.parser but there is more to do. Any comparison and possibly
other operators involving arguments may need to correctly cast the parameter
before its use, depending on the sign of the operator.
llvm-svn: 33034
2007-01-09 06:38:06 +00:00
Evan Cheng
6730f03370
Naming consistency.
...
llvm-svn: 33026
2007-01-08 23:55:53 +00:00
Evan Cheng
961bbd393b
Fix for PR1075: bottom-up register-reduction scheduling actually increases register pressure.
...
- Fixed bugs in sethi-ullman number computation and priority queue comparison
functions.
- Separate code that handles priority computation special cases from SU number computation.
llvm-svn: 33025
2007-01-08 23:50:38 +00:00
Chris Lattner
0199fd6d59
Implement some trivial FP foldings when -enable-unsafe-fp-math is specified.
...
This implements CodeGen/PowerPC/unsafe-math.ll
llvm-svn: 33024
2007-01-08 23:04:05 +00:00
Jim Laskey
3106724a03
Need to handle static declarations properly.
...
llvm-svn: 33022
2007-01-08 22:15:18 +00:00
Jeff Cohen
223004cd12
Unbreak VC++ build.
...
llvm-svn: 33021
2007-01-08 20:17:17 +00:00
Reid Spencer
7254c25fad
Parameter attributes are part of a FunctionType and deserve to be factored
...
into comparisons of two FunctionTypes. Make it so.
llvm-svn: 33020
2007-01-08 19:41:01 +00:00
Devang Patel
1c56a638a4
Add PMStack, a Pass Manager stack.
...
Eventually, Top level pass managers will use this to keep track of
active pass managers. Eass pass will also learn how to find appropriate
manager from these managers stack.
llvm-svn: 33018
2007-01-08 19:29:38 +00:00
Andrew Lenharth
0d124b8e00
And asm writing for packed struct initializers
...
llvm-svn: 33016
2007-01-08 18:21:30 +00:00
Andrew Lenharth
e3c5a4cfed
Make packed structs use packed initialiers for consistency
...
llvm-svn: 33015
2007-01-08 18:16:47 +00:00
Reid Spencer
8f166b0ef3
Comparison of primitive type sizes should now be done in bits, not bytes.
...
This patch converts getPrimitiveSize to getPrimitiveSizeInBits where it is
appropriate to do so (comparison of integer primitive types).
llvm-svn: 33012
2007-01-08 16:32:00 +00:00
Reid Spencer
bf96e02a54
For PR1097:
...
Enable complex addressing modes on 64-bit platforms involving two induction
variables by keeping a size and scale in 64-bits not 32.
Patch by Dan Gohman.
llvm-svn: 33011
2007-01-08 16:17:51 +00:00