Devang Patel
9ecd23c14d
Fix comments.
...
llvm-svn: 62358
2009-01-16 21:07:53 +00:00
Evan Cheng
c4d19d6e8c
CreateVirtualRegisters does trivial copy coalescing. If a node def is used by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions.
...
llvm-svn: 62356
2009-01-16 20:57:18 +00:00
Chris Lattner
4ebfbc8e6c
remove a dead method.
...
llvm-svn: 62354
2009-01-16 20:26:53 +00:00
Chris Lattner
0354d30311
don't assert and die on out of range (undefined) shifts. This fixes
...
PR3334.
llvm-svn: 62352
2009-01-16 20:17:02 +00:00
Chris Lattner
5d1ed9ed1f
Fix PR3335 by not turning a store to one address space into a store to another.
...
llvm-svn: 62351
2009-01-16 20:12:52 +00:00
Chris Lattner
59dfd7d4af
reduce indentation by using early exits, no functionality change.
...
llvm-svn: 62350
2009-01-16 20:08:59 +00:00
Devang Patel
6f83d4b68f
Use lightweight DebugInfo objects directly.
...
llvm-svn: 62341
2009-01-16 19:28:14 +00:00
Bill Wendling
c9e856fbfd
Add support for non-zero __builtin_return_address values on X86.
...
llvm-svn: 62338
2009-01-16 19:25:27 +00:00
Evan Cheng
2932869ed4
Change isGVCompilationDisabled() semantics again. It should abort on any GV that's not constant whether it's "internal" or not. In a server / client environment, GV is returned in the same block of memory as code. However, the memory might not be writable.
...
llvm-svn: 62336
2009-01-16 19:14:49 +00:00
Gabor Greif
34a28dbecf
use specialized accessor instead of plain getOperand(0)
...
llvm-svn: 62330
2009-01-16 18:40:27 +00:00
Devang Patel
627bb2afb9
Align source code.
...
llvm-svn: 62328
2009-01-16 18:01:58 +00:00
Dan Gohman
e4265cdbb9
Fix a "comparison between signed and unsigned integer expressions"
...
warning.
llvm-svn: 62327
2009-01-16 17:55:08 +00:00
Nick Lewycky
3f81059a01
Reinstate r60509 from Dale:
...
Make the debugging dump be a full line.
llvm-svn: 62325
2009-01-16 17:07:22 +00:00
Duncan Sands
ecfbe4521c
Get this building with gcc-4.4.
...
llvm-svn: 62322
2009-01-16 15:54:57 +00:00
Duncan Sands
2bb8d618ad
Grammar fix.
...
llvm-svn: 62319
2009-01-16 09:29:46 +00:00
Mikhail Glushenkov
49be18cfc6
Registry.h should not depend on CommandLine.h.
...
Split Support/Registry.h into two files so that we have less to
recompile every time CommandLine.h is changed.
llvm-svn: 62312
2009-01-16 07:02:28 +00:00
Evan Cheng
4315a09f1a
This is now passing.
...
llvm-svn: 62308
2009-01-16 06:59:14 +00:00
Mikhail Glushenkov
5000223556
Delete trailing whitespace.
...
llvm-svn: 62307
2009-01-16 06:53:46 +00:00
Sanjiv Gupta
abf4207734
Reverting back 62301.
...
llvm-svn: 62304
2009-01-16 05:06:35 +00:00
Sanjiv Gupta
d54cf794a5
Few targets do not have a single directive to emit global constants.
...
For example, PIC16 needs to break a long or int constant into mulitple parts and emit multiple directives. So Allow targets to overried EmitConstantValueOnly().
llvm-svn: 62301
2009-01-16 02:45:46 +00:00
Evan Cheng
c58653bd6e
ARMCompilationCallback should not save / restore vfp registers if vfp is not available.
...
llvm-svn: 62299
2009-01-16 02:16:37 +00:00
Devang Patel
434239cc4f
Validate debug info values only if DwarfDebug is initialized.
...
llvm-svn: 62298
2009-01-16 02:15:14 +00:00
Evan Cheng
e7c9310d1b
Clean up previous cast optimization a bit. Also make zext elimination a bit more aggressive: if it's not necessary to emit an AND (i.e. high bits are already zero), it's profitable to evaluate the operand at a different type.
...
llvm-svn: 62297
2009-01-16 02:11:43 +00:00
Dan Gohman
1810c6366d
Add support for instructions with multiple ComplexPatterns, by
...
adding more information to the temporary variables names so that
they don't conflict.
llvm-svn: 62296
2009-01-16 02:05:52 +00:00
Devang Patel
befef54e67
Any debug info symbol is only valid if atleast one compile unit is seen.
...
llvm-svn: 62294
2009-01-16 01:49:46 +00:00
Dan Gohman
c5b1dbdb4e
Initial hazard recognizer support in post-pass scheduling. This includes
...
a new toy hazard recognizier heuristic which attempts to direct the
scheduler to avoid clumping large groups of loads or stores too densely.
llvm-svn: 62291
2009-01-16 01:33:36 +00:00
Devang Patel
f0e1e4cc51
Do not stumble over forward declared struct member.
...
llvm-svn: 62288
2009-01-16 00:50:53 +00:00
Devang Patel
1ee58c7d8c
Validate dbg_* intrinsics before lowering them.
...
llvm-svn: 62286
2009-01-15 23:41:32 +00:00
Mon P Wang
e235ba591f
Added missing support to widen an operand from a bit convert.
...
llvm-svn: 62285
2009-01-15 22:43:38 +00:00
Dan Gohman
3e0dcbbd15
Generalize the HazardRecognizer interface so that it can be used
...
to support MachineInstr-based scheduling in addition to
SDNode-based scheduling.
llvm-svn: 62284
2009-01-15 22:18:12 +00:00
Dan Gohman
23a5f63b21
Simplify the MachineLICM pass by having it only traverse outer
...
loops, hoisting instructions all the way out in one step rather
than hoisting them one nest level at a time. Also, make a few
other code simplifications. This speeds up MachineLICM
by several fold.
llvm-svn: 62283
2009-01-15 22:01:38 +00:00
Rafael Espindola
46b374f55b
Fix Alpha test and support for private linkage.
...
llvm-svn: 62282
2009-01-15 21:51:46 +00:00
Mon P Wang
4cfe965df2
Expand insert/extract of a <4 x i32> with a variable index.
...
llvm-svn: 62281
2009-01-15 21:10:20 +00:00
Rafael Espindola
0aba6c9435
Add the private linkage.
...
llvm-svn: 62279
2009-01-15 20:18:42 +00:00
Devang Patel
97d45c48c5
Use lightweight DebugInfo objects directly.
...
llvm-svn: 62276
2009-01-15 19:26:23 +00:00
Dan Gohman
6fcee67989
Move a few containers out of ScheduleDAGInstrs::BuildSchedGraph
...
and into the ScheduleDAGInstrs class, so that they don't get
destructed and re-constructed for each block. This fixes a
compile-time hot spot in the post-pass scheduler.
To help facilitate this, tidy and do some minor reorganization
in the scheduler constructor functions.
llvm-svn: 62275
2009-01-15 19:20:50 +00:00
Nuno Lopes
db7a9e291a
add comment to explain my previous commit, as asked by Chris
...
llvm-svn: 62272
2009-01-15 18:40:57 +00:00
Gabor Greif
b1f92de36f
avoid using iterators when they get invalidated potentially
...
this fixes PR3332
llvm-svn: 62271
2009-01-15 18:40:09 +00:00
Devang Patel
307fac7f3a
Use variable's context to identify respective DbgScope.
...
Use light weight DebugInfo object directly.
llvm-svn: 62269
2009-01-15 18:25:17 +00:00
Dan Gohman
0b06dcbf4b
Add load-folding table entries for BT*ri8 instructions.
...
llvm-svn: 62267
2009-01-15 17:57:09 +00:00
Dan Gohman
273ef2ab9f
Make getWidenVectorType const; this file was missed in the
...
previous commit.
llvm-svn: 62266
2009-01-15 17:39:39 +00:00
Dan Gohman
37d7b5be33
Make getWidenVectorType const.
...
llvm-svn: 62265
2009-01-15 17:34:08 +00:00
Evan Cheng
340e5fe0a6
Eliminate a redundant check.
...
llvm-svn: 62264
2009-01-15 17:09:07 +00:00
Evan Cheng
d504f9fe27
- Teach CanEvaluateInDifferentType of this xform: sext (zext ty1), ty2 -> zext ty2
...
- Looking at the number of sign bits of the a sext instruction to determine whether new trunc + sext pair should be added when its source is being evaluated in a different type.
llvm-svn: 62263
2009-01-15 17:01:23 +00:00
Dan Gohman
791e6c24db
More consts on TargetLowering references.
...
llvm-svn: 62262
2009-01-15 16:58:17 +00:00
Dan Gohman
9dd6a69768
Use const with TargetLowering references in a few more places.
...
llvm-svn: 62260
2009-01-15 16:43:02 +00:00
Dan Gohman
ab89b888e8
Const-qualify getPreIndexedAddressParts and friends.
...
llvm-svn: 62259
2009-01-15 16:29:45 +00:00
Richard Osborne
ce265d8cf9
Don't fold address calculations which use negative offsets into
...
the ADDRspii addressing mode.
llvm-svn: 62258
2009-01-15 11:32:30 +00:00
Richard Osborne
71ffa94e3f
Update the operands used when building LDAWSP instructions to match the .td
...
changes in the last commit.
llvm-svn: 62257
2009-01-15 11:18:53 +00:00
Gabor Greif
feac7ccdbd
minor refactoring: use a more specific API
...
llvm-svn: 62256
2009-01-15 11:10:44 +00:00