Chris Lattner
3203bf3688
idiom recognition should catch this.
...
llvm-svn: 114304
2010-09-19 00:37:34 +00:00
Chris Lattner
ac0afb0fbe
add a readme.
...
llvm-svn: 114303
2010-09-19 00:34:58 +00:00
Chris Lattner
4e80799dbb
add corei7, the laptop version.
...
llvm-svn: 114302
2010-09-19 00:31:58 +00:00
NAKAMURA Takumi
a4a0276d4f
X86Subtarget.h: Fix Cygwin's TD.
...
llvm-svn: 114297
2010-09-18 19:50:42 +00:00
Eric Christopher
2901b19344
Add the exit instruction to the PTX target.
...
Patch by Che-Liang Chiou <clchiou@gmail.com>!
llvm-svn: 114294
2010-09-18 18:52:28 +00:00
Michael J. Spencer
3a9b3aae55
Fix build.
...
llvm-svn: 114292
2010-09-18 17:54:37 +00:00
Rafael Espindola
9c3a9bf8aa
Make sure the STT_FILE symbol is the first one in the symbol table.
...
llvm-svn: 114285
2010-09-18 15:03:21 +00:00
Benjamin Kramer
89a330c4b9
Unbreak msvc build.
...
llvm-svn: 114284
2010-09-18 14:41:26 +00:00
Gabor Greif
dd1c709af4
do not rely on the implicit-dereference semantics of dyn_cast_or_null
...
llvm-svn: 114278
2010-09-18 11:55:34 +00:00
Gabor Greif
5348c51fbe
do not rely on the implicit-dereference semantics of dyn_cast_or_null
...
llvm-svn: 114277
2010-09-18 11:53:39 +00:00
Lang Hames
2d87a43549
Fixed non-const iterator error.
...
llvm-svn: 114273
2010-09-18 09:49:08 +00:00
Lang Hames
4a8c999803
Added a separate class (PBQPBuilder) for PBQP Problem construction. This class can be extended to support custom constraints.
...
For now the allocator still uses the old (internal) construction mechanism by default. This will be phased out soon assuming
no issues with the builder system come up.
To invoke the new construction mechanism just pass '-regalloc=pbqp -pbqp-builder' to llc. To provide custom constraints a
Target just needs to extend PBQPBuilder and pass an instance of their derived builder to the RegAllocPBQP constructor.
llvm-svn: 114272
2010-09-18 09:07:10 +00:00
Evan Cheng
442cb9c620
Fix code that break critical edges for PHI uses. Watch out for multiple PHIs in different blocks.
...
llvm-svn: 114270
2010-09-18 06:42:17 +00:00
Owen Anderson
015641f659
Invert the logic of reachesChainWithoutSideEffects(). What we want to check is that there is
...
NO path to the destination containing side effects, not that SOME path contains no side effects.
In practice, this only manifests with CombinerAA enabled, because otherwise the chain has little
to no branching, so "any" is effectively equivalent to "all".
llvm-svn: 114268
2010-09-18 04:45:14 +00:00
Eric Christopher
0c5e912e21
Thumb opcodes for thumb calls.
...
llvm-svn: 114263
2010-09-18 02:32:38 +00:00
Eric Christopher
c9fef312c8
Add addrmode5 fp load support. Swap float/thumb operand adding to handle
...
thumb with floating point.
llvm-svn: 114256
2010-09-18 01:59:37 +00:00
Eric Christopher
b6ce0ab878
Floating point stores have a 3rd addressing mode type.
...
llvm-svn: 114254
2010-09-18 01:23:38 +00:00
Jim Grosbach
c909422ee9
factor out a simple helper function to create a label for PC-relative
...
instructions (PICADD, PICLDR, et.al.)
llvm-svn: 114243
2010-09-18 00:05:05 +00:00
Jim Grosbach
a19f7799fb
PC-relative pseudo instructions are lowered and printed directly. Any encounter
...
with one in the generic printing code is an error.
llvm-svn: 114242
2010-09-18 00:04:53 +00:00
Benjamin Kramer
1cad9b6521
Fix vmov.f64 disassembly on targets where sizeof(long) != 8.
...
llvm-svn: 114240
2010-09-17 23:48:07 +00:00
Jim Grosbach
8b988eb1d4
Add MC-inst handling for tPICADD
...
llvm-svn: 114237
2010-09-17 23:41:53 +00:00
Bob Wilson
670e1915c0
Add target-specific DAG combiner for BUILD_VECTOR and VMOVRRD. An i64
...
value should be in GPRs when it's going to be used as a scalar, and we use
VMOVRRD to make that happen, but if the value is converted back to a vector
we need to fold to a simple bit_convert. Radar 8407927.
llvm-svn: 114233
2010-09-17 22:59:05 +00:00
Jim Grosbach
8ae5cfffdd
Teach the (non-MC) instruction printer to use the cannonical names for push/pop,
...
and shift instructions on ARM. Update the tests to match.
llvm-svn: 114230
2010-09-17 22:36:38 +00:00
Rafael Espindola
acd5bacfb9
Avoid relocations in a common case.
...
llvm-svn: 114229
2010-09-17 22:34:41 +00:00
Evan Cheng
8c2bde65f0
Teach machine sink to
...
1) Do forward copy propagation. This makes it easier to estimate the cost of the
instruction being sunk.
2) Break critical edges on demand, including cases where the value is used by
PHI nodes.
Critical edge splitting is not yet enabled by default.
llvm-svn: 114227
2010-09-17 22:28:18 +00:00
Eric Christopher
716614f126
Rework arm fast isel branch and compare code.
...
llvm-svn: 114226
2010-09-17 22:28:18 +00:00
Evan Cheng
042ab036a2
Machine CSE was forgetting to clear some data structures.
...
llvm-svn: 114222
2010-09-17 21:59:42 +00:00
Evan Cheng
5f2926d516
Fix a potential bug that can cause miscomparison with and without debug info.
...
llvm-svn: 114220
2010-09-17 21:56:26 +00:00
Jakob Stoklund Olesen
37131971c3
Don't include <fenv.h> now that we have llvm/System/FEnv.h.
...
llvm-svn: 114219
2010-09-17 21:47:03 +00:00
Jim Grosbach
6e477cd3d8
Hook up verbose asm comment printing for SOImm operands in MC printer
...
llvm-svn: 114215
2010-09-17 21:33:25 +00:00
Jim Grosbach
352a616f23
trailing whitespace
...
llvm-svn: 114212
2010-09-17 21:25:10 +00:00
Dan Gohman
aaed2c137f
Avoid emitting a PIC base register if no PIC addresses are needed.
...
This fixes rdar://8396318.
llvm-svn: 114201
2010-09-17 20:24:24 +00:00
Dan Gohman
8058e1b851
Attempt to support platforms which don't have fenv.h.
...
llvm-svn: 114196
2010-09-17 20:06:27 +00:00
Jim Grosbach
1703c92cf5
Add skeleton infrastructure for the ARMMCCodeEmitter class. Patch by Jason Kim!
...
llvm-svn: 114195
2010-09-17 18:46:17 +00:00
Jim Grosbach
34a1adb4ea
handle the upper16/lower16 target operand flags on symbol references for MC
...
instruction lowering.
llvm-svn: 114191
2010-09-17 18:25:25 +00:00
Chris Lattner
4bce01542c
fix rdar://8444631 - encoder crash on 'enter'
...
What a weird instruction.
llvm-svn: 114190
2010-09-17 18:02:29 +00:00
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
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
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
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
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
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