Evan Cheng
64dfcacd5f
Turns out AnalyzeBranch can modify the mbb being analyzed. This is a nasty
...
suprise to some callers, e.g. register coalescer. For now, add an parameter
that tells AnalyzeBranch whether it's safe to modify the mbb. A better
solution is out there, but I don't have time to deal with it right now.
llvm-svn: 64124
2009-02-09 07:14:22 +00:00
Bill Wendling
6e91f6119a
Strip the LTO dylib.
...
llvm-svn: 64119
2009-02-09 06:42:40 +00:00
Bill Wendling
194d09151a
Small fix for the 'strip' command. Do a list of .so files.
...
llvm-svn: 64112
2009-02-09 04:01:11 +00:00
Evan Cheng
b9946d9841
Eliminate a 'control reaches end of non-void function' warning.
...
llvm-svn: 64111
2009-02-09 03:07:24 +00:00
Bill Wendling
f2116d7450
Don't run 'strip' on files that aren't there.
...
llvm-svn: 64108
2009-02-09 02:18:35 +00:00
Bill Wendling
783b851b76
Remove warnings about not being able to delete something. Don't run lipo on gccas, gccld, and llvm-config scripts.
...
llvm-svn: 64107
2009-02-09 02:13:33 +00:00
Chris Lattner
da0921f5e6
mention rdynamic, PR3431, patch by Stein Roger Skafløtten!
...
llvm-svn: 64106
2009-02-09 00:04:40 +00:00
Bill Wendling
b9a7327006
Document llvm.umul.with.overflow indicating that it's badly broken and not intended for use.
...
llvm-svn: 64104
2009-02-08 23:00:09 +00:00
Bill Wendling
c743d39585
Rename dg.exp to llvmc.exp. This is so I can ignore it during a make check if I want to.
...
llvm-svn: 64103
2009-02-08 22:52:50 +00:00
Mikhail Glushenkov
f606bd6a6d
80-column violation.
...
llvm-svn: 64102
2009-02-08 22:48:07 +00:00
Mikhail Glushenkov
8b5bfbfc7a
Add a Sleep() function.
...
llvm-svn: 64101
2009-02-08 22:47:39 +00:00
Chris Lattner
d1d4cffae9
I can't type today apparently.
...
llvm-svn: 64097
2009-02-08 22:21:28 +00:00
Mikhail Glushenkov
a6435d48bc
Add Emacs hints to Alarm.inc.
...
Also removes some trailing whitespace and fixes one 80-column violation.
llvm-svn: 64094
2009-02-08 21:10:57 +00:00
Chris Lattner
1aca40e349
add a note.
...
llvm-svn: 64093
2009-02-08 20:44:19 +00:00
Chris Lattner
c9e1b48449
fix typo
...
llvm-svn: 64091
2009-02-08 20:00:15 +00:00
Chris Lattner
04c57c5bae
fix typo
...
llvm-svn: 64090
2009-02-08 19:59:51 +00:00
Chris Lattner
412f626b96
reject void pointers with a nice error:
...
llvm-as: t.ll:2:15: pointers to void are invalid, use i8* instead
%X = type void*
^
instead of asserting and dying.
llvm-svn: 64089
2009-02-08 19:56:22 +00:00
Chris Lattner
4a67c91d0b
document pointer type constraints, PR3513
...
llvm-svn: 64088
2009-02-08 19:53:29 +00:00
Mikhail Glushenkov
cc4c8e848a
The 'false.c' test must depend on llvm-g++.
...
Also, turn on Objective-C/C++ tests.
This should fix http://llvm.org/bugs/show_bug.cgi?id=3499 .
llvm-svn: 64084
2009-02-08 11:44:37 +00:00
Evan Cheng
b3783639cb
Fix PR3486. Fix a bug in code that manually patch physical register live interval after its sub-register is coalesced with a virtual register.
...
llvm-svn: 64082
2009-02-08 11:04:35 +00:00
Evan Cheng
942519306e
Strengthen the previous check.
...
llvm-svn: 64076
2009-02-08 08:24:28 +00:00
Evan Cheng
fe014df914
r64073 commit message is lost. Here it is:
...
Right now if the coalesced copy def is dead and its src is a kill, and that
there are now other uses within the live range, the coalescer would mark the
def of the source register as dead. But it should also check if there are
other kills which means the value has other uses not in the live range.
llvm-svn: 64075
2009-02-08 08:00:36 +00:00
Evan Cheng
e5e95f7717
(no commit message)
...
llvm-svn: 64073
2009-02-08 07:48:37 +00:00
Bill Wendling
fd2bd720da
Fixes from feedback.
...
llvm-svn: 64070
2009-02-08 04:04:40 +00:00
Bill Wendling
f4d70628a3
Document the 'llvm.OP.with.overflow' intrinsics.
...
llvm-svn: 64066
2009-02-08 01:40:31 +00:00
Bill Wendling
415515077b
Mistakenly turned this on.
...
llvm-svn: 64065
2009-02-08 01:32:00 +00:00
Bill Wendling
5469ec1072
Revert r63999. It was breaking self-hosting builds.
...
llvm-svn: 64062
2009-02-08 00:58:05 +00:00
Chris Lattner
4f8542f31d
testcase for r64049 of llvm-gcc.
...
llvm-svn: 64050
2009-02-07 23:37:03 +00:00
Chris Lattner
d8f0786c31
Add missing break statements, fixing PR3503.
...
llvm-svn: 64040
2009-02-07 22:37:06 +00:00
Mon P Wang
21eb52a74f
Instrcombine should not change load(cast p) to cast(load p) if the cast
...
changes the address space of the pointer.
llvm-svn: 64035
2009-02-07 22:19:29 +00:00
Dale Johannesen
9c310711bb
Use getDebugLoc forwarder instead of getNode()->getDebugLoc.
...
No functional change.
llvm-svn: 64026
2009-02-07 19:59:05 +00:00
Evan Cheng
b87980a042
Revert 64023. make prefers GNUmakefile over makefile.
...
llvm-svn: 64024
2009-02-07 19:38:46 +00:00
Evan Cheng
b443e95b32
Move Apple style build makefiles to the top level. Just like llvmgcc42.
...
llvm-svn: 64023
2009-02-07 19:05:24 +00:00
Chris Lattner
c3aa8f7bab
fix bugpoint url, patch by Pieter de Bie!
...
llvm-svn: 64022
2009-02-07 18:56:30 +00:00
Dan Gohman
747e55bc9a
Constify TargetInstrInfo::EmitInstrWithCustomInserter, allowing
...
ScheduleDAG's TLI member to use const.
llvm-svn: 64018
2009-02-07 16:15:20 +00:00
Dan Gohman
e9000829b0
Change several SmallPtrSetImpl members from public to protected,
...
to make the encapsulation more clear.
llvm-svn: 64017
2009-02-07 16:12:23 +00:00
Dan Gohman
1d258405ac
Simplify some code by using blocks_begin(), blocks_end(), and
...
the iterator typedefs instead of handling the std::vector
directly.
llvm-svn: 64016
2009-02-07 16:10:35 +00:00
Nick Lewycky
ef01e112aa
Add an API for strings with possible NULLs in the middle. Refactor the other
...
two AddString methods to use it.
llvm-svn: 64005
2009-02-07 04:57:08 +00:00
Mike Stump
f009a51794
Insert space to avoid warning and make code more readable.
...
llvm-svn: 64003
2009-02-07 03:36:02 +00:00
Nick Lewycky
4ddcc43724
Free the buffer in the case where we don't create a module out of it, as
...
pointed out by Torok Edwin.
Remove trailing whitespaces.
llvm-svn: 64002
2009-02-07 03:15:01 +00:00
Dale Johannesen
8ba7132128
Make SDNode constructors take a DebugLoc always.
...
Adjust derived classes to pass UnknownLoc where
a DebugLoc does not make sense. Pick one of
DebugLoc and non-DebugLoc variants to survive
for all such classes.
llvm-svn: 64000
2009-02-07 02:15:05 +00:00
Evan Cheng
9571621665
Enable machine sinking pass in non-fast mode.
...
llvm-svn: 63999
2009-02-07 01:57:46 +00:00
Dale Johannesen
773ca057b1
Deleted one line too many. oops.
...
llvm-svn: 63996
2009-02-07 01:34:19 +00:00
Dale Johannesen
a72d41a67b
Remove now-unused constructors.
...
llvm-svn: 63995
2009-02-07 01:27:09 +00:00
Evan Cheng
47a65a167d
Don't sink the instruction if TargetRegisterInfo::isSafeToMoveRegClassDefs doesn't think it's safe. This works around PR1911.
...
llvm-svn: 63994
2009-02-07 01:21:47 +00:00
Dale Johannesen
4ea526268c
Needs this file too.
...
llvm-svn: 63993
2009-02-07 00:56:46 +00:00
Dale Johannesen
62fd95d6ec
Get rid of the last non-DebugLoc versions of getNode!
...
Many targets build placeholder nodes for special operands, e.g.
GlobalBaseReg on X86 and PPC for the PIC base. There's no
sensible way to associate debug info with these. I've left
them built with getNode calls with explicit DebugLoc::getUnknownLoc operands.
I'm not too happy about this but don't see a good improvement;
I considered adding a getPseudoOperand or something, but it
seems to me that'll just make it harder to read.
llvm-svn: 63992
2009-02-07 00:55:49 +00:00
Dan Gohman
4e3e3deed3
Refactor some repeated logic into a separate function.
...
llvm-svn: 63989
2009-02-07 00:43:41 +00:00
Dan Gohman
78fe44ed52
Make a comment a doxygen comment.
...
llvm-svn: 63988
2009-02-07 00:42:54 +00:00
Bill Wendling
e53ca3a246
Constify operators.
...
llvm-svn: 63979
2009-02-06 23:17:54 +00:00
Dale Johannesen
84935759d5
Remove more non-DebugLoc getNode variants. Use
...
getCALLSEQ_{END,START} to permit passing no DebugLoc
there. UNDEF doesn't logically have DebugLoc; add
getUNDEF to encapsulate this.
llvm-svn: 63978
2009-02-06 23:05:02 +00:00
Dale Johannesen
dc93bbc4b0
And one more file.
...
llvm-svn: 63971
2009-02-06 21:55:48 +00:00
Dale Johannesen
400dc2e2e4
Remove more non-DebugLoc versions of getNode.
...
llvm-svn: 63969
2009-02-06 21:50:26 +00:00
Bill Wendling
b6b0aa2449
Record debug location information in the Dwarf writer.
...
A simple test program shows that debugging works. :-)
llvm-svn: 63968
2009-02-06 21:45:08 +00:00
Bill Wendling
03c34d0d3c
Clear out the CurDebugLoc info when doing a 'clear' on the SDL object.
...
llvm-svn: 63967
2009-02-06 21:36:23 +00:00
Bill Wendling
3ebc1ca43e
Add comparison operators to DebugLoc.
...
llvm-svn: 63966
2009-02-06 21:34:12 +00:00
Dan Gohman
21cb4114fb
Split the locking out of JIT::runJITOnFunction so that callers
...
that already hold the lock can call an entry point that doesn't
re-acquire the lock.
llvm-svn: 63965
2009-02-06 21:25:08 +00:00
Dan Gohman
1b32e0bbc2
Make Mutex's constructor explicit, and tidy up whitespace.
...
llvm-svn: 63963
2009-02-06 21:17:03 +00:00
Dan Gohman
af8f994681
Use .size and .type on ELF systems; this helps tools that map
...
addresses to symbols.
llvm-svn: 63962
2009-02-06 21:15:52 +00:00
Ted Kremenek
474f20efe3
Deallocate() methods now take a 'const void*' instead of a 'void *', matching observed behavior with how 'delete[]' can be used.
...
llvm-svn: 63956
2009-02-06 19:34:14 +00:00
Dale Johannesen
ab8e4425a3
Eliminate remaining non-DebugLoc version of getTargetNode.
...
llvm-svn: 63951
2009-02-06 19:16:40 +00:00
Dan Gohman
817a24f8e9
Rename SelectionDAGISel::Schedule to
...
SelectionDAGISel::CreateScheduler, and make it just create the
scheduler. Leave running the scheduler to the higher-level code.
This makes the higher-level code a little more explicit and
easier to follow, and will help enable some future refactoring.
llvm-svn: 63944
2009-02-06 18:26:51 +00:00
Sanjiv Gupta
48d6bb9924
Print globl directive for variables with external linkage (global variables).
...
llvm-svn: 63943
2009-02-06 18:24:59 +00:00
Dan Gohman
cd2cd9f5d7
Delete an unused member function.
...
llvm-svn: 63941
2009-02-06 18:19:52 +00:00
Evan Cheng
51afb7c0bb
We don't really need the abort here. This unbreak x86_64 linux build.
...
llvm-svn: 63940
2009-02-06 17:51:34 +00:00
Evan Cheng
066757eea1
Move getPointerRegClass from TargetInstrInfo to TargetRegisterInfo.
...
llvm-svn: 63938
2009-02-06 17:43:24 +00:00
Dan Gohman
483377c639
Move ScheduleDAGSDNodes.h to be a private header. Front-ends
...
that previously included this header should include
SchedulerRegistry.h instead.
llvm-svn: 63937
2009-02-06 17:22:58 +00:00
Evan Cheng
b5f0ec3eb7
Add TargetInstrInfo::isSafeToMoveRegisterClassDefs. It returns true if it's safe to move an instruction which defines a value in the register class. Replace pre-splitting specific IgnoreRegisterClassBarriers with this new hook.
...
llvm-svn: 63936
2009-02-06 17:17:30 +00:00
Evan Cheng
afdf90ae64
Change -1 => negative number.
...
llvm-svn: 63935
2009-02-06 17:12:56 +00:00
Dan Gohman
f4b08b4f6c
Move ScheduleDAGInstrs.h to be a private header. Front-ends
...
that used this header to select a scheduling policy should
use SchedulerRegistry.h instead (llvm-gcc and clang were
updated a while ago).
llvm-svn: 63934
2009-02-06 17:12:10 +00:00
Evan Cheng
1731125787
Document the meaning of -1 for getCopyCost.
...
llvm-svn: 63933
2009-02-06 17:01:33 +00:00
Dan Gohman
87cab1e751
Tidy up the ScheduleDAG class definition a little. Make a few
...
more member functions protected, and group all the protected
members together.
llvm-svn: 63932
2009-02-06 16:50:02 +00:00
Roman Levenstein
54e78e7446
Don't pass BitVectors by value, pass them by reference.
...
llvm-svn: 63931
2009-02-06 09:16:15 +00:00
Nick Lewycky
8811ecdadf
Correct strange whitespace.
...
llvm-svn: 63927
2009-02-06 07:01:00 +00:00
Devang Patel
7cb8df4ce7
Ignore DbgInfoIntrinsics.
...
llvm-svn: 63923
2009-02-06 06:19:06 +00:00
Chris Lattner
bbbb74372b
fix PR3489, use bits instead of bytes.
...
llvm-svn: 63916
2009-02-06 04:34:07 +00:00
Dale Johannesen
2c4cf2752d
get rid of some non-DebugLoc getTargetNode variants.
...
llvm-svn: 63909
2009-02-06 02:08:06 +00:00
Nick Lewycky
74b5ef7cae
Free the buffer.
...
llvm-svn: 63907
2009-02-06 01:58:34 +00:00
Evan Cheng
8ad4e0bb19
Fix test. It produces unexpected code if sse4.1 is on.
...
llvm-svn: 63906
2009-02-06 01:49:19 +00:00
Dale Johannesen
9f3f72f144
Get rid of one more non-DebugLoc getNode and
...
its corresponding getTargetNode. Lots of
caller changes.
llvm-svn: 63904
2009-02-06 01:31:28 +00:00
Owen Anderson
5a043f2cb1
Fix a crasher: we need to check that the function is non-null before using it!
...
llvm-svn: 63902
2009-02-06 00:13:43 +00:00
Owen Anderson
98a3617fba
Refactor my previous change to maintain the distinction between AliasAnalysis and BasicAliasAnalysis. This involves some wider changes because it
...
folds away some never-used methods.
llvm-svn: 63900
2009-02-05 23:36:27 +00:00
Devang Patel
409b794cfe
Ignore dbg intrinsics while propagating conditional expression info. Take 2.
...
llvm-svn: 63898
2009-02-05 23:32:52 +00:00
Evan Cheng
2599084ac5
isAsCheapAsMove instructions can have register src operands. Check if they are really re-materializable.
...
This fixes sse.expandfft and sse.stepfft.
llvm-svn: 63890
2009-02-05 22:24:17 +00:00
Dale Johannesen
f80493bbfd
Remove a non-DebugLoc version of getNode.
...
llvm-svn: 63889
2009-02-05 22:07:54 +00:00
Devang Patel
02f58e1e8d
Revert rev. 63876. It is causing llvm-gcc bootstrap failure.
...
llvm-svn: 63888
2009-02-05 21:46:41 +00:00
Dan Gohman
69d2cd92ba
Delete some trailing whiespaces.
...
llvm-svn: 63887
2009-02-05 21:34:56 +00:00
Dale Johannesen
3eb373f5ce
Remove 3 non-DebugLoc variants of getNode.
...
llvm-svn: 63886
2009-02-05 21:20:44 +00:00
Mike Stump
354d3de098
FIx spelling.
...
llvm-svn: 63883
2009-02-05 20:49:49 +00:00
Mike Stump
67f5ceaa82
Probe for flags before using them to try to help compiling with
...
compilers that don't support those flags. This hopefully will help
gcc 3.X compile this code. http://llvm.org/PR3487
llvm-svn: 63882
2009-02-05 20:45:27 +00:00
Devang Patel
58cb603d2a
Remove dead blocks in the end.
...
llvm-svn: 63880
2009-02-05 19:59:42 +00:00
Devang Patel
5922e26d1a
Ignore dbg intrinsics while propagating conditional expression info.
...
llvm-svn: 63876
2009-02-05 19:15:39 +00:00
Chris Lattner
a936b393e4
testcase for rdar://6551276 and llvm-gcc r63873
...
llvm-svn: 63874
2009-02-05 18:15:17 +00:00
Chris Lattner
413a0246f8
fix PR3488: llvm-ar r doesn't replace existing files
...
Patch by Daniel Shelton!
llvm-svn: 63870
2009-02-05 17:58:39 +00:00
Duncan Sands
2a3173287f
Revert the previous commit. It seems it didn't
...
really solve the problem. Also it changed the
name from libLLVMgold to LLVMgold (correcting
the name resulted in the original problem
suddenly reappearing).
llvm-svn: 63861
2009-02-05 10:21:34 +00:00
Duncan Sands
4dd55167ab
Stop llvm-config thinking that there are circular
...
dependencies between libraries due to __dso_handle
when doing "make install". I don't know what the
LINK_COMPONENTS stuff is about, so I left it alone.
llvm-svn: 63860
2009-02-05 09:54:02 +00:00
Evan Cheng
9d8bfbfdef
Machine LICM increases register pressure and it almost always increase code size. For now, disable it for optimizing for size.
...
llvm-svn: 63856
2009-02-05 08:51:13 +00:00
Evan Cheng
409c25f78d
Turn on machine LICM in non-fast mode.
...
llvm-svn: 63855
2009-02-05 08:46:33 +00:00
Evan Cheng
399660c384
Teach machine licm to CSE hoisted instructions.
...
llvm-svn: 63854
2009-02-05 08:45:46 +00:00
Evan Cheng
0f734469eb
ReMaterializeTrivialDef need to trim the live interval to the last kill if the copy kills the source register. This fixes uint64tof64.ll after ARM::MOVi is marked as isAsCheapAsAMove.
...
llvm-svn: 63853
2009-02-05 08:45:04 +00:00