Chris Lattner
c383be807e
merge some tests into select.ll and make them more specific.
...
llvm-svn: 120928
2010-12-05 01:13:58 +00:00
Chris Lattner
7e0a594633
rename test
...
llvm-svn: 120927
2010-12-05 01:02:23 +00:00
Chris Lattner
1a760f6247
remove two tests that aren't really testing anything.
...
llvm-svn: 120926
2010-12-05 01:02:13 +00:00
Bill Wendling
2b53c0830d
Initialize HasPOPCNT.
...
llvm-svn: 120923
2010-12-04 23:57:24 +00:00
Rafael Espindola
310b851621
Once the layout is done we don't need to keep updating which fragments are
...
valid. Addresses will not change.
llvm-svn: 120921
2010-12-04 22:47:22 +00:00
Rafael Espindola
1bf8d261f1
Remember the contents of leb and dwarfline fragments when relaxing. This avoids
...
having to evaluate the expression again when writing.
llvm-svn: 120920
2010-12-04 21:58:52 +00:00
Cameron Zwarich
5e3c712e67
Remove PHIElimination's private copy of SkipPHIsAndLabels.
...
llvm-svn: 120918
2010-12-04 20:40:15 +00:00
Benjamin Kramer
851691ddb2
Add patterns for the x86 popcnt instruction.
...
- Also adds a new POPCNT subtarget feature that is currently enabled if the target
supports SSE4.2 (nehalem) or SSE4A (barcelona).
llvm-svn: 120917
2010-12-04 20:32:23 +00:00
Bill Wendling
18e834f217
Silence 'may be used uninitialized in this function' warnings. Static analysis
...
may determine that they cannot be used uninitialized. But that might be a bit
too much for the compiler to determine.
llvm-svn: 120916
2010-12-04 20:20:34 +00:00
Michael J. Spencer
2cd429339f
Support/PathV2: Remove redundant calls to make_error_code.
...
llvm-svn: 120913
2010-12-04 18:45:32 +00:00
Benjamin Kramer
e2e8053264
APInt: microoptimize a few methods.
...
llvm-svn: 120912
2010-12-04 18:05:36 +00:00
Benjamin Kramer
ec7938f7af
Simplify APInt::getAllOnesValue.
...
llvm-svn: 120911
2010-12-04 16:37:47 +00:00
Benjamin Kramer
009451fddc
Remove unneeded zero arrays.
...
llvm-svn: 120910
2010-12-04 15:28:22 +00:00
Benjamin Kramer
612c7225ee
Apparently APFloat::getZero doesn't like PPCDoubleDoubles.
...
llvm-svn: 120909
2010-12-04 14:43:08 +00:00
Francois Pichet
2fac2ab94d
Disable C++ exception handling on MSVC.
...
Total size of bin\Release on disk goes from 82.9 MB to 74.2 MB. (~10% saving)
llvm-svn: 120908
2010-12-04 14:30:22 +00:00
Benjamin Kramer
77faee6ba1
Simplify code. No functionality change.
...
llvm-svn: 120907
2010-12-04 14:22:24 +00:00
Francois Pichet
6aff5fc3be
Disable RTTI on Windows.
...
Total size of bin\Release on disk goes from 83.6 MB to 81.8MB. (~2% saving)
llvm-svn: 120901
2010-12-04 09:42:30 +00:00
Bob Wilson
20c65a9d33
The Thumb tADDrSPi instruction is not valid when the destination is SP.
...
Check for that and try narrowing it to tADDspi instead. Radar 8724703.
llvm-svn: 120892
2010-12-04 04:40:19 +00:00
Bob Wilson
5917f1a762
Remove trailing whitespace.
...
llvm-svn: 120891
2010-12-04 04:40:15 +00:00
Rafael Espindola
9215947c83
There are two reasons why we might want to use
...
foo = a - b
.long foo
instead of just
.long a - b
First, on darwin9 64 bits the assembler produces the wrong result. Second,
if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not
consider a - b to be a constant but will if the dummy foo is created.
Split how we handle these cases. The first one is something MC should take care
of. The second one has to be handled by the caller.
llvm-svn: 120889
2010-12-04 03:21:47 +00:00
Michael J. Spencer
e541b5fa8c
Unittests/Support/PathV2: Add FileSystem tests.
...
llvm-svn: 120888
2010-12-04 03:18:42 +00:00
Michael J. Spencer
5a2272dcef
Support/FileSystem: Add status implementation.
...
llvm-svn: 120870
2010-12-04 00:32:40 +00:00
Michael J. Spencer
8754a822bb
Support/SystemError: Make error_category and error_code auto-bool-conversion-safe.
...
llvm-svn: 120869
2010-12-04 00:32:24 +00:00
Michael J. Spencer
090a4bd632
Support/Windows/FileSystem: Fix MinGW warnings.
...
llvm-svn: 120868
2010-12-04 00:32:14 +00:00
Michael J. Spencer
e1360680ce
Support/FileSystem: Add file_size implementation.
...
llvm-svn: 120867
2010-12-04 00:31:48 +00:00
Rafael Espindola
50b6170457
Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid
...
doing that if the target is darwin10 or newer.
This fixes
*) Direct object emission was producing objects without the workaround on
darwin9.
*) Assembly printing was producing objects with the workaround on linux.
llvm-svn: 120866
2010-12-04 00:31:13 +00:00
Jim Grosbach
4c10ffa7c3
Encode condition code for Thumb1 conditional branch instruction.
...
llvm-svn: 120865
2010-12-04 00:20:40 +00:00
Devang Patel
686e9faa6d
Do not try luck by using given name to create temporary file. In parallel builds it may not work.
...
llvm-svn: 120860
2010-12-03 23:58:31 +00:00
Jim Grosbach
1dac8796d5
Correctly size-reduce the t2CMPzrr instruction to tCMPzr when possible.
...
tCMPzhir has undefined behavior when both source registers are low registers.
rdar://8728577
llvm-svn: 120858
2010-12-03 23:54:18 +00:00
Bill Wendling
7e27f17312
Use correct variable names to match the patterns.
...
llvm-svn: 120857
2010-12-03 23:44:24 +00:00
Jakob Stoklund Olesen
6f535251de
Also inore '()' while creating mdnode name from ObjC symbol name.
...
llvm-svn: 120856
2010-12-03 23:40:45 +00:00
Rafael Espindola
4145acdc3b
First step in fixing MC. Make it clear that we are avoiding a bug in the
...
darwin9 linker, what is needed to avoid it and where to get more information.
Also make the workaround simpler. Just the regular end_sequence we normally
create is more than 4 bytes.
Tested by building cctools and ld64 from darwin9 on a darwin10 system and using
those. I checked that I was able to reproduce the bootstrap failure when
the the workaround was disabled.
llvm-svn: 120854
2010-12-03 23:36:59 +00:00
Devang Patel
fdc570cad4
Ignore '+' while creating mdnode name from ObjC symbol name.
...
llvm-svn: 120853
2010-12-03 23:29:30 +00:00
Jim Grosbach
3b5c857f01
Match pattern operand names to expected encoding field names. This corrects the
...
operand encoding ordering of the instruction.
llvm-svn: 120852
2010-12-03 23:21:25 +00:00
Jim Grosbach
dbefb3e7e5
Remove incorrect BL target encoding (it's similar to, but not the same as the
...
ARM instruction). Add encoding of bits 13 and 11.
llvm-svn: 120849
2010-12-03 22:33:42 +00:00
Jim Grosbach
8cef570ed9
Encode the 32-bit wide Thumb (and Thumb2) instructions with the high order
...
halfword being emitted to the stream first. rdar://8728174
llvm-svn: 120848
2010-12-03 22:31:40 +00:00
Nate Begeman
d4310b6d7c
Revert this change since it breaks a couple of the AVX tests.
...
I'm unclear if the tests are actually correct or not, but reverting for now.
llvm-svn: 120847
2010-12-03 22:29:15 +00:00
Jakob Stoklund Olesen
8ed86d7fd3
Rename virtRegMap to avoid confusion with the VirtRegMap that it isn't.
...
llvm-svn: 120846
2010-12-03 22:25:09 +00:00
Jakob Stoklund Olesen
8b893e3575
Coalesce debug locations when possible, causing less DBG_VALUE instructions to
...
be emitted.
llvm-svn: 120845
2010-12-03 22:25:07 +00:00
Nate Begeman
deb26223bd
Scalar f32/f64 are also subregs of ymm regs
...
llvm-svn: 120844
2010-12-03 21:54:39 +00:00
Nate Begeman
3911dcfd71
Remove SSE1-4 disable when AVX is enabled. While this may be useful for development,
...
it completely breaks scalar fp in xmm regs when AVX is enabled.
llvm-svn: 120843
2010-12-03 21:54:14 +00:00
Jakob Stoklund Olesen
c18ef29bc6
Emit DBG_VALUE instructions from LiveDebugVariables.
...
llvm-svn: 120842
2010-12-03 21:47:10 +00:00
Jakob Stoklund Olesen
1d753a5f7f
Also update virtRegMap when renaming virtual registers.
...
llvm-svn: 120841
2010-12-03 21:47:08 +00:00
Jim Grosbach
c69ad2176a
When using the 'push' mnemonic for Thumb2 stmdb, be explicit when it's the
...
32-bit wide version by adding the .w suffix.
llvm-svn: 120838
2010-12-03 20:33:01 +00:00
Benjamin Kramer
e27eff8888
Remove unused variable.
...
llvm-svn: 120836
2010-12-03 19:55:37 +00:00
Jim Grosbach
c8ce9a3453
Reduce t2 ldr/str instructions to the correct t1 versions when there's an
...
immediate offset.
llvm-svn: 120833
2010-12-03 19:47:11 +00:00
Jason W Kim
27bbab7e31
fix ARM::fixup_arm_branch, cleanup, and share more code between ELF and Darwin
...
llvm-svn: 120832
2010-12-03 19:40:23 +00:00
Jim Grosbach
25da270139
No need to declare EncoderMethod property anymore; just assign to it.
...
llvm-svn: 120831
2010-12-03 19:31:00 +00:00
Jakob Stoklund Olesen
1ec6a68038
Delete the StrongPHIElimination pass, leaving only a shell.
...
The StrongPHIElimination pass did not work, and nobody has worked on it for two
years.
A rewrite is underway, so I am leaving this shell pass instead of deleting it
completely.
llvm-svn: 120830
2010-12-03 19:21:53 +00:00
Jakob Stoklund Olesen
4cd667151d
Add IntervalMap::iterator::set{Start,Stop,Value} methods that allow limited
...
editing of the current interval.
These methods may cause coalescing, there are corresponding set*Unchecked
methods for editing without coalescing. The non-coalescing methods are useful
for applying monotonic transforms to all keys or values in a map without
accidentally coalescing transformed and untransformed intervals.
llvm-svn: 120829
2010-12-03 19:02:00 +00:00