Daniel Dunbar
ea0a5aee7b
Fix an MSVC warning.
...
llvm-svn: 114184
2010-09-17 16:34:24 +00:00
Jim Grosbach
23ac157064
expand PICLDR MC lowering to handle other PICLDR and PICSTR versions.
...
llvm-svn: 114183
2010-09-17 16:25:52 +00:00
Daniel Dunbar
ed92665b19
MC/Mach-O/i386: Fix a crash in relocation handling.
...
llvm-svn: 114176
2010-09-17 15:21:50 +00:00
NAKAMURA Takumi
14029b5d65
Move the declaration SetInformationJobObject() outside of namespace.
...
It is also workaround for PR7927.
llvm-svn: 114175
2010-09-17 11:14:18 +00:00
NAKAMURA Takumi
cfded91183
AlphaSchedule.td: 7bit-ize.
...
llvm-svn: 114173
2010-09-17 09:56:43 +00:00
Michael J. Spencer
df84552a08
docs: Update GettingStartedVS to reflect current state.
...
llvm-svn: 114167
2010-09-17 06:33:20 +00:00
Daniel Dunbar
8a328e38c5
System: Don't reexport ___eprintf when building with Clang; this symbol isn't
...
used on Darwin anymore, and Clang might not always link with the library it is
currently found in.
llvm-svn: 114165
2010-09-17 04:25:24 +00:00
Oscar Fuentes
402ac1bb1c
tests/CMakeLists.txt: use configure_file' instead of
sed'.
...
The Windows users will appreciate this.
llvm-svn: 114158
2010-09-17 03:22:21 +00:00
Daniel Dunbar
a43c86b354
MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
...
expression to include the modifier.
- Gross, but this a corner case we don't expect to see often in practice, but
it is worth accepting.
- Also improves diagnostics on invalid modifiers.
llvm-svn: 114154
2010-09-17 02:47:07 +00:00
Oscar Fuentes
371e96c67a
Updated GettingStartedVS.html to reflect current state.
...
Reorganized it too.
llvm-svn: 114151
2010-09-17 02:17:13 +00:00
Dan Gohman
9dc559bdef
Fix the folding of floating-point math library calls, like sin(infinity),
...
so that it detects errors on platforms where libm doesn't set errno.
It's still subject to host libm details though.
llvm-svn: 114148
2010-09-17 01:38:06 +00:00
Oscar Fuentes
37061461b3
Updated LLVMLibDeps.cmake
...
llvm-svn: 114143
2010-09-17 00:43:53 +00:00
Dan Gohman
2f0d88bcbe
Add an #include of raw_ostream.h. Previously, this only compiled
...
because it was using Twine.h's declaration of operator<<(const Twine &).
llvm-svn: 114141
2010-09-17 00:33:43 +00:00
Bill Wendling
d8c305452a
Add "pointer to x86mmx" type to the intrinsics.
...
llvm-svn: 114140
2010-09-17 00:33:03 +00:00
Oscar Fuentes
7099ae0835
Direct CMake users to the right place for up-to-date info about using
...
LLVM libraries.
llvm-svn: 114139
2010-09-17 00:30:52 +00:00
Owen Anderson
c71f165f28
Allow the PassRegistry mutex to be lazily initialized, and clean up the global namespace at the same time.
...
llvm-svn: 114131
2010-09-16 23:44:50 +00:00
Owen Anderson
56bc6a9391
Do not expose the locking for the PassRegistry in the header. Be careful to
...
synchronize any method that might lazily initialize the pImpl.
llvm-svn: 114130
2010-09-16 23:32:35 +00:00
Benjamin Kramer
c8808012f9
Update CMake build.
...
llvm-svn: 114128
2010-09-16 23:06:18 +00:00
Dan Gohman
54fa09d403
Rename a variable to avoid a declaration conflict.
...
llvm-svn: 114126
2010-09-16 22:50:09 +00:00
Dan Gohman
836ce09592
Add a pass which prints out all the memdep dependencies.
...
llvm-svn: 114121
2010-09-16 22:08:32 +00:00
Devang Patel
99777d1d07
If FE forgot to provide a file name (usually it uses "stdin" as name in such situation) then make one up to ensure that debug info is not malformed.
...
llvm-svn: 114119
2010-09-16 20:57:49 +00:00
Owen Anderson
3d4644bad9
Revert r114097, adding back in the assertion against replacing an Instruction by itself. Now that CorrelatedValuePropagation is
...
more careful not to call SimplifyInstructionsInBlock() on an unreachable block, the issue has been fixed at a higher level. Add
a big warning to SimplifyInstructionsInBlock() to hopefully prevent this in the future.
llvm-svn: 114117
2010-09-16 20:51:41 +00:00
Chris Lattner
73fc5e794d
fix rdar://8438816 - unrecognized 'fildq' instruction
...
llvm-svn: 114116
2010-09-16 20:46:38 +00:00
Rafael Espindola
d542892fc0
Print the address of sections as 0 and create the metadata sections in the
...
same order as gnu as.
llvm-svn: 114109
2010-09-16 19:46:31 +00:00
Owen Anderson
37a6d67bd6
Add missing RUN line to this test.
...
llvm-svn: 114106
2010-09-16 18:46:23 +00:00
Owen Anderson
1a679ae773
Use a depth-first iteratation in CorrelatedValuePropagation to avoid wasting time trying
...
to optimize unreachable blocks.
llvm-svn: 114105
2010-09-16 18:35:07 +00:00
Dale Johannesen
cf9dc14249
When substituting sunkaddrs into indirect arguments an asm, we were
...
walking the asm arguments once and stashing their Values. This is
wrong because the same memory location can be in the list twice, and
if the first one has a sunkaddr substituted, the stashed value for the
second one will be wrong (use-after-free). PR 8154.
llvm-svn: 114104
2010-09-16 18:30:55 +00:00
Owen Anderson
6f3516065f
It is possible, under specific circumstances involving ptrtoint ConstantExpr's, for LVI to end up trying to merge
...
a Constant into a ConstantRange. Handle this conservatively for now, rather than asserting. The testcase is
more complex that I would like, but the manifestation of the problem is sensitive to iteration orders and the state of the
LVI cache, and I have not been able to reproduce it with manually constructed or simplified cases.
Fixes PR8162.
llvm-svn: 114103
2010-09-16 18:28:33 +00:00
Jim Grosbach
d7aec03bb1
make this non brain dead...
...
llvm-svn: 114100
2010-09-16 17:48:08 +00:00
Jim Grosbach
de7a4b08ad
Remove unnecessary by-reference return.
...
llvm-svn: 114099
2010-09-16 17:45:21 +00:00
Jim Grosbach
73f2f39001
MC-ization of the PICLDR pseudo. Next up, adding the other variants
...
(PICLDRB, et. al.) and PICSTR*
llvm-svn: 114098
2010-09-16 17:43:25 +00:00
Owen Anderson
521e8dfef8
Fix PR8161, in which an unreachable loop causes recursive instruction simplification to try
...
to replace an instruction with itself. Add a predicate to the simplifier to prevent this case.
llvm-svn: 114097
2010-09-16 17:42:36 +00:00
Jim Grosbach
9131eb8bf0
Make sure to promote single precision floats to double before extracting them
...
from the APFloat.
llvm-svn: 114096
2010-09-16 17:37:30 +00:00
Rafael Espindola
fa964e153e
Make sure that names like .note.GNU-stack are accepted as valid section names.
...
llvm-svn: 114091
2010-09-16 17:05:55 +00:00
Rafael Espindola
58aa9e8010
Add support for the .zero directive.
...
llvm-svn: 114077
2010-09-16 15:03:59 +00:00
Kalle Raiskila
68e2c15954
Change SPU register re-interpretations from OR to COPY_TO_REGCLASS instruction.
...
This cleans up after the mess r108567 left in the CellSPU backend.
ORCvt-instruction were used to reinterpret registers, and the ORs were then
removed by isMoveInstr(). This patch now removes 350 instrucions of format:
or $3, $3, $3
(from the 52 testcases in CodeGen/CellSPU). One case of a nonexistant or is
checked for.
Some moves of the form 'ori $., $., 0' and 'ai $., $., 0' still remain.
llvm-svn: 114074
2010-09-16 12:29:33 +00:00
Duncan Sands
c128b42eb8
Add better support for environment portion of triple. Original patch by
...
Cameron Esfahani, tweaked to use array_lengthof.
llvm-svn: 114073
2010-09-16 08:25:48 +00:00
Duncan Sands
82768f4f13
Some versions of gcc still warn about "ignoring return value ... declared
...
with attribute warn_unused_result" here - suppress the warning harder.
llvm-svn: 114072
2010-09-16 08:20:49 +00:00
Bob Wilson
622f0a7592
Remove support for "dregpair" operand modifier, now that it is no longer being
...
used for anything.
llvm-svn: 114067
2010-09-16 04:55:00 +00:00
Bob Wilson
76c730bdbd
When expanding ARM pseudo registers, copy the existing predicate operands
...
instead of using default predicates on the expanded instructions.
llvm-svn: 114066
2010-09-16 04:25:37 +00:00
Jim Grosbach
1c3e1420e1
store MC FP immediates as a double instead of as an APFloat, thus avoiding an
...
unnecessary dtor for MCOperand.
llvm-svn: 114064
2010-09-16 03:45:21 +00:00
Daniel Dunbar
1eb4c166bf
llvm-mc: Teach -as-lex to print more token kinds.
...
llvm-svn: 114051
2010-09-16 00:42:35 +00:00
Daniel Dunbar
efebe50dd8
build: Add support for a TOOL_ORDER_FILE variable so commands can build with an
...
order file on Darwin.
llvm-svn: 114050
2010-09-16 00:42:32 +00:00
Bob Wilson
b85d2897d5
Add missing break.
...
llvm-svn: 114048
2010-09-16 00:31:32 +00:00
Bob Wilson
c63e8b4d2d
Change VLDMQ and VSTMQ to be pseudo instructions. They are expanded after
...
register allocation to VLDMD and VSTMD respectively. This avoids using the
dregpair operand modifier.
llvm-svn: 114047
2010-09-16 00:31:02 +00:00
Owen Anderson
7321210916
Fix a threaded LLVM bug due the need for operator= on reference counted AttrListImpl's. It might
...
be possible to implement this very carefully to allow a lock-free implementation while still
avoiding illegal interleavings, but I haven't been able to figure one out.
llvm-svn: 114046
2010-09-16 00:27:35 +00:00
Jakob Stoklund Olesen
e37047a62f
Use the value mapping provided by LiveIntervalMap. This simplifies the code a
...
great deal because we don't have to worry about maintaining SSA form.
Unconditionally copy back to dupli when the register is live out of the split
range, even if the live-out value was defined outside the range. Skipping the
back-copy only makes sense when the live range is going to spill outside the
split range, and we don't know that it will. Besides, this was a hack to avoid
SSA update issues.
Clear up some confusion about the end point of a half-open LiveRange. Methinks
LiveRanges need to be closed so both start and end are included in the range.
The low bits of a SlotIndex are symbolic, so a half-open range doesn't really
make sense. This would be a pervasive change, though.
llvm-svn: 114043
2010-09-16 00:01:36 +00:00
Michael J. Spencer
4b7f13a515
System/Path: Add x86-64 COFF to IdentifyFileType.
...
llvm-svn: 114037
2010-09-15 23:04:14 +00:00
Owen Anderson
445e4de610
Since PassRegistry is currently a shared global object, it needs locking. While it might intuitively seem
...
that all the setup of this class currently happens at static initialization time, this misses the fact
that some later events can cause mutation of the PassRegistrationListeners list, and thus cause race issues.
llvm-svn: 114036
2010-09-15 23:03:33 +00:00
Michael J. Spencer
915ffb8284
System/Path: Add isObjectFile().
...
llvm-svn: 114032
2010-09-15 22:45:45 +00:00