Dale Johannesen
e4f309e582
testcase for PR 1779.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59268 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 22:17:10 +00:00
Owen Anderson
711fd3db2d
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59267 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 21:53:14 +00:00
Dale Johannesen
330169fa3e
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59266 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 21:52:36 +00:00
Evan Cheng
704bff9e6c
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 21:50:50 +00:00
Dan Gohman
550f5afb68
Make the Node member of SUnit private, and add accessors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59264 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 21:36:12 +00:00
Dan Gohman
a23b3b803e
Change ScheduleDAG's DAG member from a reference to a pointer, to prepare
...
for the possibility of scheduling without a SelectionDAG being present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59263 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 21:21:28 +00:00
Steve Naroff
eee0852878
Add files to VC++ projects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59262 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 21:18:54 +00:00
Evan Cheng
35b0bfd06d
Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59258 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 19:22:28 +00:00
Dan Gohman
83aad6494c
LLVM can generate native code for amd64 on "Linux".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59257 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 19:07:07 +00:00
Dan Gohman
4a829ecc54
Use find_first/find_next to iterate through all the set bits in a
...
BitVector, instead of manually testing each bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59246 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 16:31:27 +00:00
Bill Wendling
023422a6eb
Fix to record comparator to make it work for return values > 1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59242 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 12:03:00 +00:00
Bill Wendling
20072af3b0
Put comma in correct place for call to StructType::get
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59241 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 10:18:35 +00:00
Bill Wendling
cdcc3e6e12
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>]>;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59237 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 09:08:33 +00:00
Evan Cheng
3c902e81fa
fsub{d|s} encoding bugs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59234 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 07:59:48 +00:00
Evan Cheng
67fd91f3df
Missed a break statement.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59231 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 07:46:59 +00:00
Evan Cheng
148cad8b30
Fix pre- and post-indexed load / store encoding bugs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59230 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 07:34:59 +00:00
Bill Wendling
a6ce05f82a
Refactor the code that does the type checking for intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59228 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 07:11:27 +00:00
Daniel Dunbar
0d9eb9b491
Add Binary flag to raw_fd_ostream constructor.
...
Document raw_fd_ostream's treatment of "-".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59219 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 05:01:07 +00:00
Bill Wendling
241085aa38
Added testcase for r59214.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59218 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 04:09:04 +00:00
Devang Patel
bf5db817f4
Really remove all debug information.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59208 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:28:40 +00:00
Bill Wendling
6ff4bfee3a
Regenerated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59204 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:03:00 +00:00
Bill Wendling
31359bab86
Update docs for ssp and sspreq function attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:02:51 +00:00
Bill Wendling
e9e6bdf27f
Implement stack protectors as function attributes: "ssp" and "sspreq".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-13 01:02:14 +00:00
Dan Gohman
7fc610f073
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59194 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 23:24:15 +00:00
Dan Gohman
bc5cbb8be9
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59190 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 22:55:05 +00:00
Evan Cheng
cb5798285a
Remove the incorrect assertion. We don't have enough information before relocation to set U bit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59170 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 21:37:59 +00:00
Oscar Fuentes
bc8dda83ef
CMake: when bulding shared libraries on non-WIN32 systems, link dl to
...
LLVMSystem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59159 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 20:40:56 +00:00
Oscar Fuentes
e40db4a2f3
Tell GenLibDeps.pl to inspect .so and .dylib shared files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59158 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 20:39:06 +00:00
Dale Johannesen
7e298ed379
Fix unsigned char->ppcf128 conversion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59150 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 18:38:44 +00:00
Dan Gohman
2d9716f7bf
Do the LiveVariables update before printing the instruction in
...
the debug output, so that the updated liveness flags are
reflected in the debug output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59147 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 17:15:19 +00:00
Dan Gohman
4cbb3ca67d
Remove some debugging code made redundant by the change to do
...
coalescing as a separate pass rather than inside of
LiveIntervalAnalysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59146 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 17:09:23 +00:00
Dan Gohman
e8f4ac2b10
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59145 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 17:02:24 +00:00
Dan Gohman
4974b6aae1
Correct a function name in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59143 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 16:53:40 +00:00
Tanya Lattner
02fa4f4e01
Add test case for ptr annotation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59142 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 16:12:27 +00:00
Mikhail Glushenkov
6766572dcb
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 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59131 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 12:41:18 +00:00
Duncan Sands
9a365b6acb
Correct these links.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59126 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 10:10:25 +00:00
Duncan Sands
1e465a35c8
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59122 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 08:37:57 +00:00
Duncan Sands
245146b58a
Correct some thinkos in the expansion of ADD/SUB
...
when the target does not support ADDC/SUBC. This
fixes PR3044.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59120 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 08:23:26 +00:00
Evan Cheng
e7c3551e6f
Change binary dump format.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 08:22:43 +00:00
Evan Cheng
607f1b41a2
Address mode immediate offset has already been divided by 4.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59117 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 08:21:12 +00:00
Evan Cheng
3f4924efff
Fix a VFP binary arithmetic instruction encoding bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59116 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 08:14:21 +00:00
Evan Cheng
706329143d
Fix address mode 3 immediate offset mode encoding.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59109 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 07:34:37 +00:00
Evan Cheng
3c4a4ffa3d
Consolidate formats; fix FCMPED etc. encodings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59107 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 07:18:38 +00:00
Tanya Lattner
0a6b8fd44a
Add ptr annotation intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59106 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 07:17:57 +00:00
Evan Cheng
80a119842d
Fix VFP conversion instruction encodings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59104 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 06:41:41 +00:00
Evan Cheng
d06d48d2b5
Fix encoding of single-precision VFP registers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59102 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 02:19:38 +00:00
Dale Johannesen
cbf7cf50ec
Fix the testb optimization so x86 also bootstraps.
...
Reenable test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59101 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 02:00:35 +00:00
Evan Cheng
580c0dfaed
VFP fld / fst immediate field is multiplied by 4.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59100 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 01:02:24 +00:00
Oscar Fuentes
4e506abedd
CMake: Remove removed source file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59098 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 00:14:12 +00:00
Mikhail Glushenkov
262d248833
Add a bit of lazy evaluation to PopulateCompilationGraph().
...
Only the tools that are mentioned in the compilation graph definition
are now inserted by PopulateCompilationGraph(). This should cut down
plugin loading time a little.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59097 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-12 00:05:17 +00:00