Hongbin Zheng
e1fd20172b
Add testcase for r154007, when a function has the optsize attribute,
...
the loop should be unrolled according the value of OptSizeUnrollThreshold.
llvm-svn: 154014
2012-04-04 13:24:40 +00:00
Rafael Espindola
ba0a6cabb8
Always compute all the bits in ComputeMaskedBits.
...
This allows us to keep passing reduced masks to SimplifyDemandedBits, but
know about all the bits if SimplifyDemandedBits fails. This allows instcombine
to simplify cases like the one in the included testcase.
llvm-svn: 154011
2012-04-04 12:51:34 +00:00
Hongbin Zheng
b21b865fe8
LoopUnrollPass: Use variable "Threshold" instead of "CurrentThreshold" when
...
reducing unroll count, otherwise the reduced unroll count is not taking
the "OptimizeForSize" attribute into account.
llvm-svn: 154007
2012-04-04 11:44:08 +00:00
Benjamin Kramer
a1355d17ca
Move yaml::Stream's dtor out of line so it can see Scanner's dtor.
...
llvm-svn: 154004
2012-04-04 08:53:34 +00:00
Benjamin Kramer
e43bde73aa
Implement DwarfLLVMRegPair::operator< without violating asymmetry.
...
MSVC8 verifies this.
llvm-svn: 154002
2012-04-04 08:24:08 +00:00
Craig Topper
34487838bf
Convert assert(false) followed by a return to llvm_unreachable
...
llvm-svn: 153997
2012-04-04 04:55:46 +00:00
Craig Topper
4c7d995029
Remove default case from switch that was already covering all cases.
...
llvm-svn: 153996
2012-04-04 04:42:42 +00:00
Pete Cooper
e7bff68a5e
Removed useless switch for default case when switch was covering all the enum values
...
llvm-svn: 153984
2012-04-04 00:53:04 +00:00
Bob Wilson
3e66d73259
Fix the install location for the Embedded makefile target.
...
svn r145378 inadvertently changed the destination for the Embedded target
in the makefile. Add a "/Developer" suffix to DSTROOT to compensate.
llvm-svn: 153980
2012-04-03 23:44:39 +00:00
Michael J. Spencer
afc0d6a36f
Sorry about that. MSVC seems to accept just about any random string you give it ;/
...
llvm-svn: 153979
2012-04-03 23:36:44 +00:00
Bob Wilson
9d12ffcd71
Remove dead code for installing libLTO when building llvmCore.
...
llvm-svn: 153978
2012-04-03 23:13:26 +00:00
Michael J. Spencer
22120c47a7
Add YAML parser to Support.
...
llvm-svn: 153977
2012-04-03 23:09:22 +00:00
Pete Cooper
9511ec86f9
Add VSELECT to LegalizeVectorTypes::ScalariseVectorResult. Previously it would crash if it encountered a 1 element VSELECT. Solution is slightly more complicated than just creating a SELET as we have to mask or sign extend the vector condition if it had different boolean contents from the scalar condition. Fixes <rdar://problem/11178095>
...
llvm-svn: 153976
2012-04-03 22:57:55 +00:00
Pete Cooper
b98934cf72
Removed one last bad continue statement meant to be removed in r153914.
...
llvm-svn: 153975
2012-04-03 22:18:49 +00:00
Bob Wilson
8bbd98df00
When building llvmCore, pass the SDKROOT and -arch setting to configure.
...
So far all of configure tests have been run against the default SDK and
architecture, regardless of what is actually being built. We've gotten
lucky until now. <rdar://problem/11112479>
llvm-svn: 153972
2012-04-03 21:50:26 +00:00
Bob Wilson
5512ec8bae
Remove a reference to the C backend.
...
llvm-svn: 153971
2012-04-03 21:50:24 +00:00
Chad Rosier
2a02fe1bb2
Fix an issue in SimplifySetCC() specific to vector comparisons.
...
When folding X == X we need to check getBooleanContents() to determine if the
result is a vector of ones or a vector of negative ones.
I tried creating a test case, but the problem seems to only be exposed on a
much older version of clang (around r144500).
rdar://10923049
llvm-svn: 153966
2012-04-03 20:11:24 +00:00
Anton Korobeynikov
d0b458d694
Set soname for FreeBSD as well.
...
Patch by Bernard Cafarelli!
llvm-svn: 153965
2012-04-03 19:48:31 +00:00
Eric Christopher
b81e2b403c
Fix thinko check for number of operands to be the one that actually
...
might have more than 19 operands. Add a testcase to make sure I
never screw that up again.
Part of rdar://11026482
llvm-svn: 153961
2012-04-03 17:55:42 +00:00
Lang Hames
ffa52d2ae2
Matrix simplification in PBQP may push infinite costs onto register options.
...
The colorability heuristic should count these as denied registers.
No test case - this exposed a bug on an out-of-tree target.
llvm-svn: 153958
2012-04-03 16:27:16 +00:00
Dylan Noblesmith
7a3973d3e0
ARMDisassembler: drop bogus dependency on ARMCodeGen
...
And indirectly, a dependency on most of the core LLVM optimization
libraries.
llvm-svn: 153957
2012-04-03 15:48:14 +00:00
Dylan Noblesmith
6338485d59
Object: drop bogus VMCore dependency
...
llvm-svn: 153956
2012-04-03 15:48:10 +00:00
Bill Wendling
e2cf674310
The speedup doesn't appear to have been from this, but was an anomaly of my testing machine.
...
llvm-svn: 153951
2012-04-03 11:19:21 +00:00
Bill Wendling
dd91e73409
Reserve space for the eventual filling of the vector. This gives a small speedup.
...
llvm-svn: 153949
2012-04-03 10:50:09 +00:00
Nadav Rotem
269703f983
Add an additional testcase which checks ops with multiple users.
...
llvm-svn: 153939
2012-04-03 07:39:36 +00:00
Anton Korobeynikov
325e92668b
Make PPCCompilationCallbackC function to be static, so there will be no need to issue call via
...
PLT when LLVM is built as shared library. This mimics the X86 backend towards the approach.
llvm-svn: 153938
2012-04-03 06:59:28 +00:00
Craig Topper
9c252ebe4c
Tidy up spacing in some tablegen outputs.
...
llvm-svn: 153937
2012-04-03 06:52:47 +00:00
Craig Topper
7629d63bc4
Add support for AVX enhanced comparison predicates. Patch from Kay Tiong Khoo.
...
llvm-svn: 153935
2012-04-03 05:20:24 +00:00
Bill Wendling
32867652c9
Reformatting. No functionality change.
...
llvm-svn: 153928
2012-04-03 03:56:52 +00:00
Bill Wendling
7d350efddc
As Eric pointed out, even a Debug build should be equal. Leave the flag that can turn off comparisons though.
...
llvm-svn: 153927
2012-04-03 03:27:43 +00:00
Akira Hatanaka
d19f025374
Revert r153924. Delete test/MC/Disassembler/Mips and lib/Target/Mips/Disassembler.
...
llvm-svn: 153926
2012-04-03 03:01:13 +00:00
Akira Hatanaka
55059262aa
Revert r153924. There were buildbot failures.
...
llvm-svn: 153925
2012-04-03 02:51:09 +00:00
Akira Hatanaka
e2498d014b
MIPS disassembler support.
...
Patch by Vladimir Medic.
llvm-svn: 153924
2012-04-03 02:20:58 +00:00
Andrew Trick
a890e3c69a
Cleanup set_union usage. The same thing but a bit cleaner now.
...
llvm-svn: 153922
2012-04-03 01:35:52 +00:00
Andrew Trick
c544e7c0a7
Use std::set_union instead of nasty custom code.
...
I just noticed Jakob's examples of the proper application of
std::set... routines.
llvm-svn: 153918
2012-04-03 00:47:23 +00:00
Eric Christopher
34164196af
Add a line number for the scope of the function (starting at the first
...
brace) so that we get more accurate line number information about the
declaration of a given function and the line where the function
first starts.
Part of rdar://11026482
llvm-svn: 153916
2012-04-03 00:43:49 +00:00
Pete Cooper
4f0dbb27d9
Fixes to r153903. Added missing explanation of behaviour when the VirtRegMap is NULL. Also changed it in this case to just avoid updating the map, but live ranges or intervals will still get updated and created
...
llvm-svn: 153914
2012-04-03 00:28:46 +00:00
Bill Wendling
d70cde134b
Compare the .o files only for release builds. Add an option to bypass the comparison altogether.
...
llvm-svn: 153909
2012-04-02 23:27:43 +00:00
Pete Cooper
3ca96f9950
Moved LiveRangeEdit.h so that it can be called from other parts of the backend, not just libCodeGen
...
llvm-svn: 153906
2012-04-02 22:44:18 +00:00
Rafael Espindola
f76bff0504
Make dominatedBySlowTreeWalk private and assert cases handled by the caller.
...
llvm-svn: 153905
2012-04-02 22:37:54 +00:00
Jakob Stoklund Olesen
291007b055
Allocate virtual registers in ascending order.
...
This is just the fallback tie-breaker ordering, the main allocation
order is still descending size.
Patch by Shamil Kurmangaleev!
llvm-svn: 153904
2012-04-02 22:30:39 +00:00
Pete Cooper
2bde2f42b1
Refactored the LiveRangeEdit interface so that MachineFunction, TargetInstrInfo, MachineRegisterInfo, LiveIntervals, and VirtRegMap are all passed into the constructor and stored as members instead of passed in to each method.
...
llvm-svn: 153903
2012-04-02 22:22:53 +00:00
Bill Wendling
932b992888
Add an option to turn off the expensive GVN load PRE part of GVN.
...
llvm-svn: 153902
2012-04-02 22:16:50 +00:00
Owen Anderson
98f2c0c384
Add predicates for checking whether targets have free FNEG and FABS operations, and prevent the DAGCombiner from turning them into bitwise operations if they do.
...
llvm-svn: 153901
2012-04-02 22:10:29 +00:00
Lang Hames
aaafacd07e
During two-address lowering, rescheduling an instruction does not untie
...
operands. Make TryInstructionTransform return false to reflect this.
Fixes PR11861.
llvm-svn: 153892
2012-04-02 19:58:43 +00:00
Rafael Espindola
2e5c58e77b
No need to run llvm-as.
...
llvm-svn: 153890
2012-04-02 19:44:20 +00:00
Akira Hatanaka
b1f68f9696
Initial 64 bit direct object support.
...
This patch allows llvm to recognize that a 64 bit object file is being produced
and that the subsequently generated ELF header has the correct information.
The test case checks for both big and little endian flavors.
Patch by Jack Carter.
llvm-svn: 153889
2012-04-02 19:25:22 +00:00
Hal Finkel
7591afa235
The binutils for the IBM BG/P are too old to support CFI.
...
llvm-svn: 153886
2012-04-02 19:09:04 +00:00
Hal Finkel
f208af02a4
Add triple support for the IBM BG/P and BG/Q supercomputers.
...
llvm-svn: 153882
2012-04-02 18:31:33 +00:00
Eric Christopher
ad9fe8955a
Turn on the accelerator tables for Darwin.
...
llvm-svn: 153880
2012-04-02 17:58:52 +00:00