Bill Wendling
e8b48b49c9
Don't install the libLLVMHello.dylib example.
...
llvm-svn: 68807
2009-04-10 18:48:38 +00:00
Bill Wendling
cd1e037c50
Add compatibility_version and current_version flags when creating dylibs.
...
llvm-svn: 68801
2009-04-10 18:20:41 +00:00
Bill Wendling
591854d441
Don't run "dsymutils" on .a files.
...
llvm-svn: 68795
2009-04-10 17:45:16 +00:00
Chris Lattner
30c3de6461
fix two problems with machine sinking:
...
1. Sinking would crash when the first instruction of a block was
sunk due to iterator problems.
2. Instructions could be sunk to their current block, causing an
infinite loop.
This fixes PR3968
llvm-svn: 68787
2009-04-10 16:38:36 +00:00
Dan Gohman
e517ae4211
Now that register classes have names, include the name in debug output.
...
llvm-svn: 68786
2009-04-10 15:59:38 +00:00
Chris Lattner
6758943615
fix a broken assertion in ilist_iterator, which caused it to crash in the
...
bad case instead of actually assert. Bug pointed out by Jakob Stoklund
Olesen!
llvm-svn: 68785
2009-04-10 15:47:17 +00:00
Chris Lattner
4c4453061e
fix typo, patch by Shlomi Fish!
...
llvm-svn: 68784
2009-04-10 15:38:51 +00:00
Sanjiv Gupta
638f400a3c
Added code to handle spilling and reloading of FSRs.
...
llvm-svn: 68783
2009-04-10 15:10:14 +00:00
Rafael Espindola
bb834f0929
Don't fold a load if the other operand is a TLS address.
...
With this we generate
movl %gs:0, %eax
leal i@NTPOFF(%eax), %eax
instead of
movl $i@NTPOFF, %eax
addl %gs:0, %eax
llvm-svn: 68778
2009-04-10 10:09:34 +00:00
Nick Lewycky
beae9f75df
Cleanup. Remove redundant llvm:: , we don't need them since we're inside
...
namespace llvm already.
llvm-svn: 68774
2009-04-10 06:54:06 +00:00
Chris Lattner
bc8848f76f
Add a new Type::getPointerTo method, which is shorthand for
...
llvm::PointerType::get(). Patch by Anders Johnsen!
llvm-svn: 68772
2009-04-10 06:42:02 +00:00
Nick Lewycky
b0001322e0
Add utility function to IRBuilder that takes the difference between two
...
pointers, taking into account the size of the pointed-to object.
Patch by Jeffrey Yasskin!
llvm-svn: 68768
2009-04-10 05:30:48 +00:00
Nick Lewycky
ffb1fdf25b
Regenerate.
...
llvm-svn: 68767
2009-04-10 05:18:27 +00:00
Chris Lattner
428f71623b
a few fixes to "addrspace(256) is reference offset of GS segment register".
...
It turns out that there are still several problems with this, will file a bugzilla.
llvm-svn: 68749
2009-04-10 00:16:23 +00:00
Bill Wendling
992f846dc7
Pass in the std::string parameter instead of returning it by value.
...
llvm-svn: 68747
2009-04-10 00:12:49 +00:00
Bill Wendling
fe56c25065
Constify getter methods.
...
llvm-svn: 68745
2009-04-10 00:00:25 +00:00
Dan Gohman
de912e2475
Remove the obsolete SelectionDAG::getNodeValueTypes and simplify
...
code that uses it by using SelectionDAG::getVTList instead.
llvm-svn: 68744
2009-04-09 23:54:40 +00:00
Dan Gohman
4c56c1c736
Change the NumVTs field from short to int, since there's no
...
real need for it to be short.
llvm-svn: 68742
2009-04-09 23:53:31 +00:00
Bill Wendling
16abfc97fb
StringMap<DIE*>::iterator::first() returns a pointer to the first character of
...
the key. This will cause it to create a new std::string, which isn't
wanted. Instead, pass back the "const char*". Modify the EmitString() method to
take a "const char*".
llvm-svn: 68741
2009-04-09 23:51:31 +00:00
Devang Patel
a68bdef482
Silence unused variable warning.
...
llvm-svn: 68735
2009-04-09 23:45:17 +00:00
Chris Lattner
66ab904f5a
ignore register zero in isRegTiedToUseOperand, following the example of
...
isRegTiedToDefOperand. Thanks to Bob for pointing this out!
llvm-svn: 68734
2009-04-09 23:33:34 +00:00
Owen Anderson
5eb8d26f19
Give register alias checking the hash table treatment too.
...
llvm-svn: 68730
2009-04-09 22:19:30 +00:00
Bill Wendling
e65fd1a302
Use a StringMap instead of std::map for storing std::string->DIE* maps. This
...
gives a micro speedup in the Dwarf writer.
llvm-svn: 68728
2009-04-09 21:49:15 +00:00
Devang Patel
a2c2b85df4
llvm.dbg.func_start also defines beginning of function scope.
...
llvm-svn: 68727
2009-04-09 21:42:11 +00:00
Bill Wendling
f704f90f6e
Revert r68708. It was causing this failure in the self-hosting buildbot:
...
llvm[2]: Compiling lto.cpp for Debug build (PIC)
make[2]: *** No rule to make target `/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Debug/lib/libLLVMBitWriter.a', needed by `/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.sh.build/Release/lib/libLTO.dylib'. Stop.
make[1]: *** [all] Error 1
make: *** [all] Error 1
llvm-svn: 68721
2009-04-09 18:26:57 +00:00
Bob Wilson
51856173c8
Fix pr3954. The register scavenger asserts for inline assembly with
...
register destinations that are tied to source operands. The
TargetInstrDescr::findTiedToSrcOperand method silently fails for inline
assembly. The existing MachineInstr::isRegReDefinedByTwoAddr was very
close to doing what is needed, so this revision makes a few changes to
that method and also renames it to isRegTiedToUseOperand (for consistency
with the very similar isRegTiedToDefOperand and because it handles both
two-address instructions and inline assembly with tied registers).
llvm-svn: 68714
2009-04-09 17:16:43 +00:00
Sanjiv Gupta
38533d48dd
The way we are trying to figure out banksel immediate operand may yield different results for different type of insns. This will eventually need to be changed but currently let us prevent the crash in cases of incorrect detection of banksel operand.
...
llvm-svn: 68713
2009-04-09 17:06:24 +00:00
Chris Lattner
a725028d41
reg0 references are not real registers. This fixes a crash on the
...
attached testcase.
llvm-svn: 68712
2009-04-09 16:50:43 +00:00
Misha Brukman
a04ede8d5b
Make sure to rebuild dependencies for the `check' and `unittests' targets so
...
we're not testing out-of-date code. This also makes "make check" and
"make unittests" work out-of-the box right after the configure step, without
requiring the user to run "make tools-only" or "make libs-only".
Tested on Linux/x86_64 and Darwin/x86.
llvm-svn: 68708
2009-04-09 14:57:00 +00:00
Sanjiv Gupta
60fd2cd503
Arguments to indirect calls were being passed incorrectly. They are not fixed to start after return value.
...
llvm-svn: 68705
2009-04-09 10:29:32 +00:00
Chris Lattner
bcd2632638
Fix code size computation on x86-64, patch by Zoltan Varga!
...
llvm-svn: 68690
2009-04-09 06:10:51 +00:00
Chris Lattner
fc8b2b9ff9
add an accessor method, patch by John McCall!
...
llvm-svn: 68684
2009-04-09 05:56:58 +00:00
Sanjiv Gupta
cdfdc79b70
r68576 unconverd a bug in PIC16 port (Thanks to Dan Gohman) where we were custom lowering an ADD to ADDC.
...
llvm-svn: 68671
2009-04-09 04:03:43 +00:00
Dan Gohman
0e8d199f91
Generalize ExtendUsesToFormExtLoad to be usable for ANY_EXTEND,
...
in addition to ZERO_EXTEND and SIGN_EXTEND. Fix a bug in the
way it checked for live-out values, and simplify the way it
find users by using SDNode::use_iterator's (relatively) new
features. Also, make it slightly more permissive on targets
with free truncates.
In SelectionDAGBuild, avoid creating ANY_EXTEND nodes that are
larger than necessary. If the target's SwitchAmountTy has
enough bits, use it. This exposes the truncate to optimization
early, enabling more optimizations.
llvm-svn: 68670
2009-04-09 03:51:29 +00:00
Owen Anderson
3a888f639e
Convert TargetRegisterInfo's super-register checking to use a pre-computed hash table just like subregister checking does.
...
llvm-svn: 68669
2009-04-09 03:50:16 +00:00
Nick Lewycky
8b4db2da2b
Fix pointer casting problem.
...
llvm-svn: 68668
2009-04-09 03:10:03 +00:00
Dan Gohman
e6db8ca5eb
Don't copy the operand of a SwitchInst into virtual registers as
...
eagerly. This helps avoid CopyToReg nodes in some cases where they
aren't needed, and also helps subsequent optimizer heuristics
in cases where the extra nodes would cause the node to appear
to have multiple results. This doesn't have a significant impact
currently; it'll help an upcoming change.
llvm-svn: 68667
2009-04-09 02:33:36 +00:00
Dan Gohman
f15454866c
Fix grammaros in comments.
...
llvm-svn: 68666
2009-04-09 02:06:09 +00:00
Misha Brukman
f02d62deeb
Fixed compiler warning.
...
llvm-svn: 68664
2009-04-09 00:42:37 +00:00
Daniel Dunbar
3f48987069
Add sys::Path::makeAbsolute().
...
llvm-svn: 68663
2009-04-09 00:33:08 +00:00
Douglas Gregor
912fa42dd9
Fix BitstreamReader's GetCurrentBitNo to return the correct bit number, and stop JumpToBit from covering up its mistakes
...
llvm-svn: 68648
2009-04-08 22:26:47 +00:00
Devang Patel
3396d7ef9d
If subprogram type is not tagged as DW_TAG_subroutine_type then use it directly as a return value type.
...
llvm-svn: 68647
2009-04-08 22:18:45 +00:00
Rafael Espindola
3b2df10c9e
Re-apply 68552.
...
Tested by bootstrapping llvm-gcc and using that to build llvm.
llvm-svn: 68645
2009-04-08 21:14:34 +00:00
Bob Wilson
8462791237
Add testcase for PR3795.
...
llvm-svn: 68620
2009-04-08 18:00:55 +00:00
Bob Wilson
866c174f79
Fix PR3795: Apply Dan's suggested fix for
...
ARMTargetLowering::isLegalAddressingMode.
llvm-svn: 68619
2009-04-08 17:55:28 +00:00
Ted Kremenek
b58a9058a2
Accommodate empty string for build type. This was previously causing an error
...
when generating an Xcode project using the CMake files (thanks to Doug Gregor
for identifying the issue).
llvm-svn: 68618
2009-04-08 17:28:16 +00:00
Douglas Gregor
3da1d240ff
Use 8 instead of CHAR_BIT
...
llvm-svn: 68616
2009-04-08 16:57:40 +00:00
Duncan Sands
5a82613db0
Soft float support for FREM.
...
llvm-svn: 68614
2009-04-08 16:20:57 +00:00
Misha Brukman
680336d12f
* Fixed calls to APInt ctor to work for negative values on Darwin/x86
...
* Converted C-style casts to C++-style casts
llvm-svn: 68613
2009-04-08 16:17:23 +00:00
Douglas Gregor
006dfc8a9f
Add BitstreamWriter::GetCurrentBitNo, to report where we are in the output bitstream
...
llvm-svn: 68610
2009-04-08 15:18:21 +00:00