Dan Gohman
3abe79e3e9
Add a version of NewSUnit for creating units with MachineInstrs.
...
llvm-svn: 59282
2008-11-14 00:41:36 +00:00
Dan Gohman
bab393fdff
For post-regalloc scheduling, remove the instructions from the block
...
before re-inserting them.
llvm-svn: 59281
2008-11-14 00:33:17 +00:00
Dan Gohman
5b7b7b416b
Check in the correct version of the patch in r59279.
...
llvm-svn: 59280
2008-11-14 00:32:34 +00:00
Dan Gohman
ad452993b0
Debug printing for SUnits that carry MachineInstrs.
...
llvm-svn: 59279
2008-11-14 00:28:56 +00:00
Dan Gohman
f92f2d0c97
Initial support for carrying MachineInstrs in SUnits.
...
llvm-svn: 59278
2008-11-14 00:06:09 +00:00
Dan Gohman
2e0edf0617
Change DOTGraphTraits<ScheduleDAG*>::getGraphName how to find the name of
...
the current function on its own, rather than relying on the SelectionDAG.
llvm-svn: 59277
2008-11-13 23:45:55 +00:00
Dan Gohman
24b2c89cdf
Clarify the comment about NumPreds and NumSuccs to reflect that they only
...
count non-control preds and succs.
llvm-svn: 59276
2008-11-13 23:41:41 +00:00
Evan Cheng
f7c1da41a1
Handle the rest of pseudo instructions.
...
llvm-svn: 59275
2008-11-13 23:36:57 +00:00
Evan Cheng
feb7615798
Lazy compilation callback save / restore VFP registers.
...
llvm-svn: 59274
2008-11-13 23:28:54 +00:00
Dan Gohman
0a3ae5c0f2
Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit
...
to carry a SmallVector of flagged nodes, just calculate the flagged nodes
dynamically when they are needed.
The local-liveness change is due to a trivial scheduling change where
the scheduler arbitrary decision differently.
llvm-svn: 59273
2008-11-13 23:24:17 +00:00
Dale Johannesen
cc7dc0ec70
testcase for PR 1779.
...
llvm-svn: 59268
2008-11-13 22:17:10 +00:00
Owen Anderson
aa9f1836d9
Don't allow the restore point to be placed after terminators. With this change,
...
MultiSource/Applications is clean with the prealloc splitter. Some failures
remain in SPEC.
llvm-svn: 59267
2008-11-13 21:53:14 +00:00
Dale Johannesen
de9fdff884
Extend InlineAsm::C_Register to allow multiple specific registers
...
(actually, code already all worked, only the comment
changed). Use this to implement 'A' constraint on x86.
Fixes PR 1779.
llvm-svn: 59266
2008-11-13 21:52:36 +00:00
Evan Cheng
f8ba919d76
Always emit a function pointer as a pointer to the function stub (if there is one). This makes it possible to compare function pointer values in lazy compilation mode. This fixes PR3043.
...
llvm-svn: 59265
2008-11-13 21:50:50 +00:00
Dan Gohman
0cefa8f2ff
Make the Node member of SUnit private, and add accessors.
...
llvm-svn: 59264
2008-11-13 21:36:12 +00:00
Dan Gohman
df9f75e981
Change ScheduleDAG's DAG member from a reference to a pointer, to prepare
...
for the possibility of scheduling without a SelectionDAG being present.
llvm-svn: 59263
2008-11-13 21:21:28 +00:00
Steve Naroff
f6cc95eff5
Add files to VC++ projects.
...
llvm-svn: 59262
2008-11-13 21:18:54 +00:00
Evan Cheng
4c8297e12b
Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.
...
llvm-svn: 59258
2008-11-13 19:22:28 +00:00
Dan Gohman
f719fc4ff0
LLVM can generate native code for amd64 on "Linux".
...
llvm-svn: 59257
2008-11-13 19:07:07 +00:00
Dan Gohman
f63a02ae6c
Use find_first/find_next to iterate through all the set bits in a
...
BitVector, instead of manually testing each bit.
llvm-svn: 59246
2008-11-13 16:31:27 +00:00
Bill Wendling
9eaf125600
Fix to record comparator to make it work for return values > 1.
...
llvm-svn: 59242
2008-11-13 12:03:00 +00:00
Bill Wendling
ab7198eb4b
Put comma in correct place for call to StructType::get
...
llvm-svn: 59241
2008-11-13 10:18:35 +00:00
Bill Wendling
9dc2bd7973
Modify the intrinsics pattern to separate out the "return" types from the
...
"parameter" types. An intrinsic can now return a multiple return values like
this:
def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty],
[LLVMMatchType<0>, LLVMMatchType<0>]>;
llvm-svn: 59237
2008-11-13 09:08:33 +00:00
Evan Cheng
997eb67c20
fsub{d|s} encoding bugs.
...
llvm-svn: 59234
2008-11-13 07:59:48 +00:00
Evan Cheng
d67d6c4571
Missed a break statement.
...
llvm-svn: 59231
2008-11-13 07:46:59 +00:00
Evan Cheng
3c0113820b
Fix pre- and post-indexed load / store encoding bugs.
...
llvm-svn: 59230
2008-11-13 07:34:59 +00:00
Bill Wendling
0eb23711fb
Refactor the code that does the type checking for intrinsics.
...
llvm-svn: 59228
2008-11-13 07:11:27 +00:00
Daniel Dunbar
a830cb14f3
Add Binary flag to raw_fd_ostream constructor.
...
Document raw_fd_ostream's treatment of "-".
llvm-svn: 59219
2008-11-13 05:01:07 +00:00
Bill Wendling
aede28fc3d
Added testcase for r59214.
...
llvm-svn: 59218
2008-11-13 04:09:04 +00:00
Devang Patel
2876af73db
Really remove all debug information.
...
llvm-svn: 59208
2008-11-13 01:28:40 +00:00
Bill Wendling
dedf359e39
Regenerated
...
llvm-svn: 59204
2008-11-13 01:03:00 +00:00
Bill Wendling
58ebe90530
Update docs for ssp and sspreq function attributes.
...
llvm-svn: 59203
2008-11-13 01:02:51 +00:00
Bill Wendling
f5b264a64b
Implement stack protectors as function attributes: "ssp" and "sspreq".
...
llvm-svn: 59202
2008-11-13 01:02:14 +00:00
Dan Gohman
c0c978748d
Revert the part of r59145 that changed the comment about
...
virtual registers possibly having multiple kills while still
being defined and killed in the same block. If LiveIntervals
is manually re-run after two-address lowering, it currently
does add extra kills to two-address instructions, but this
is considered a bug.
llvm-svn: 59194
2008-11-12 23:24:15 +00:00
Dan Gohman
229c65c05b
Move the code that inserts X87 FP_REG_KILL instructions from a
...
special-purpose hook to a new pass. Also, add check to see if any
x87 virtual registers are used, to avoid doing any work in the
common case that no x87 code is needed.
llvm-svn: 59190
2008-11-12 22:55:05 +00:00
Evan Cheng
4768468ec1
Remove the incorrect assertion. We don't have enough information before relocation to set U bit.
...
llvm-svn: 59170
2008-11-12 21:37:59 +00:00
Oscar Fuentes
dc2008cb1a
CMake: when bulding shared libraries on non-WIN32 systems, link dl to
...
LLVMSystem.
llvm-svn: 59159
2008-11-12 20:40:56 +00:00
Oscar Fuentes
ca51d6183a
Tell GenLibDeps.pl to inspect .so and .dylib shared files.
...
llvm-svn: 59158
2008-11-12 20:39:06 +00:00
Dale Johannesen
5ad71e113e
Fix unsigned char->ppcf128 conversion.
...
llvm-svn: 59150
2008-11-12 18:38:44 +00:00
Dan Gohman
5f3e5a75b4
Do the LiveVariables update before printing the instruction in
...
the debug output, so that the updated liveness flags are
reflected in the debug output.
llvm-svn: 59147
2008-11-12 17:15:19 +00:00
Dan Gohman
ceb5b7477b
Remove some debugging code made redundant by the change to do
...
coalescing as a separate pass rather than inside of
LiveIntervalAnalysis.
llvm-svn: 59146
2008-11-12 17:09:23 +00:00
Dan Gohman
a754a0901b
Update VarInfo's comments to reflect the current code. LiveVar
...
no longer records a unique defining instruction, and virtual
registers may have multiple kills while still being defined
and killed in the same block.
llvm-svn: 59145
2008-11-12 17:02:24 +00:00
Dan Gohman
a8c30fb400
Correct a function name in a comment.
...
llvm-svn: 59143
2008-11-12 16:53:40 +00:00
Tanya Lattner
19cb5b9b91
Add test case for ptr annotation.
...
llvm-svn: 59142
2008-11-12 16:12:27 +00:00
Mikhail Glushenkov
db3ab89624
Check the return value of std::getenv.
...
When constructing std::strings from C strings, we should check the input
value to be not NULL so that the std::string constructor does not
segfault.
Fixes #3047 .
llvm-svn: 59131
2008-11-12 12:41:18 +00:00
Duncan Sands
d29e6548b2
Correct these links.
...
llvm-svn: 59126
2008-11-12 10:10:25 +00:00
Duncan Sands
4e70a21580
Simplify SplitVecRes_EXTRACT_SUBVECTOR. This means
...
that it no longer handles non-power-of-two vectors.
However it previously only handled them sometimes,
depending on obscure numerical relationships between
the index and vector type. For example, for a vector
of length 6, it would succeed if and only if the
index was an even multiple of 6. I consider this
more confusing than useful.
llvm-svn: 59122
2008-11-12 08:37:57 +00:00
Duncan Sands
117397c8dd
Correct some thinkos in the expansion of ADD/SUB
...
when the target does not support ADDC/SUBC. This
fixes PR3044.
llvm-svn: 59120
2008-11-12 08:23:26 +00:00
Evan Cheng
b6c760349e
Change binary dump format.
...
llvm-svn: 59119
2008-11-12 08:22:43 +00:00
Evan Cheng
9cb6f40f8f
Address mode immediate offset has already been divided by 4.
...
llvm-svn: 59117
2008-11-12 08:21:12 +00:00