Eli Friedman
a35a5295e0
Revert r144034 while I try to track down a crash.
...
llvm-svn: 144044
2011-11-07 23:53:20 +00:00
Bill Wendling
478f58cad4
This code is dead, what with the new EH model and the auto-upgraders in place.
...
Delete!
llvm-svn: 144043
2011-11-07 23:36:48 +00:00
Jakob Stoklund Olesen
9279f9efbc
Fix test for Windows as well.
...
llvm-svn: 144038
2011-11-07 23:10:43 +00:00
Jakob Stoklund Olesen
a70e9417fb
Kill and collapse outstanding DomainValues.
...
DomainValues that are only used by "don't care" instructions are now
collapsed to the first possible execution domain after all basic blocks
have been processed. This typically means the PS domain on x86.
For example, the vsel_i64 and vsel_double functions in sse2-blend.ll are
completely collapsed to the PS domain instead of containing a mix of
execution domains created by isel.
llvm-svn: 144037
2011-11-07 23:08:21 +00:00
Pete Cooper
7a4be01ac8
InstCombine now optimizes vector udiv by power of 2 to shifts
...
Fixes r8429
llvm-svn: 144036
2011-11-07 23:04:49 +00:00
Eli Friedman
55a86d32d3
Add a bunch of calls to RemoveDeadNode in LegalizeDAG, so legalization doesn't get confused by CSE later on. Fixes PR11318.
...
llvm-svn: 144034
2011-11-07 22:51:10 +00:00
Eric Christopher
5139dadd50
Add all completed and named types to the dwarf type accelerator tables.
...
llvm-svn: 144027
2011-11-07 22:11:16 +00:00
Bill Wendling
fc1935c8bf
Add ISPC to the external projects list.
...
llvm-svn: 144026
2011-11-07 22:05:17 +00:00
Jakob Stoklund Olesen
68e197e151
Use a reverse post order instead of a DFS order.
...
The enterBasicBlock() function is combining live-out values from
predecessor blocks. The RPO traversal means that more predecessors
have been visited when that happens, only back-edges are missing.
llvm-svn: 144025
2011-11-07 21:59:29 +00:00
Eric Christopher
ff2edf1499
Move the hash function to using and taking a StringRef.
...
llvm-svn: 144024
2011-11-07 21:49:35 +00:00
Eric Christopher
b6205d8b49
Simple destructor to delete the hash data we created earlier.
...
llvm-svn: 144023
2011-11-07 21:49:28 +00:00
Chad Rosier
fa75530ff0
Allow i1 to be promoted to i32 for ARM AAPCS and AAPCS-VFP calling convention as well.
...
llvm-svn: 144021
2011-11-07 21:43:40 +00:00
Jakob Stoklund Olesen
736cf46c3e
Extract two methods. No functional change.
...
llvm-svn: 144020
2011-11-07 21:40:27 +00:00
Akira Hatanaka
2216f73676
Various Mips64 floating point instruction patterns.
...
llvm-svn: 144019
2011-11-07 21:38:58 +00:00
Akira Hatanaka
b2d37760a2
Add definition of the base class for floating point comparison instructions
...
and add Mips64's version too.
llvm-svn: 144018
2011-11-07 21:37:33 +00:00
Akira Hatanaka
81c14002dc
Add code needed for copying between 64-bit integer and floating pointer
...
registers.
llvm-svn: 144017
2011-11-07 21:35:45 +00:00
Akira Hatanaka
1537e297e1
Add definitions of 64-bit instructions which move data between integer and
...
floating pointer registers.
llvm-svn: 144016
2011-11-07 21:32:58 +00:00
Jakob Stoklund Olesen
44dcc589b3
MBB doesn't need to be a class member.
...
llvm-svn: 144015
2011-11-07 21:23:42 +00:00
Jakob Stoklund Olesen
baffa7d35d
Fix pass name after the source was moved.
...
llvm-svn: 144014
2011-11-07 21:23:39 +00:00
Benjamin Kramer
69d57cf9c4
Simplify some uses of utohexstr.
...
As a side effect hex is printed lowercase instead of uppercase now.
llvm-svn: 144013
2011-11-07 21:00:59 +00:00
Benjamin Kramer
03d73e47b4
Simplify code. No functionality change.
...
llvm-svn: 144012
2011-11-07 21:00:43 +00:00
Jakob Stoklund Olesen
7f076cb6cc
Fix test for Linux.
...
llvm-svn: 144003
2011-11-07 20:47:23 +00:00
Bill Wendling
7496461f44
Make sure we don't insert instructions before a landingpad instruction.
...
<rdar://problem/10405911>
llvm-svn: 144000
2011-11-07 19:38:34 +00:00
Jakob Stoklund Olesen
0241308954
Expand V_SET0 to xorps by default.
...
The xorps instruction is smaller than pxor, so prefer that encoding.
The ExecutionDepsFix pass will switch the encoding to pxor and xorpd
when appropriate.
llvm-svn: 143996
2011-11-07 19:15:58 +00:00
Akira Hatanaka
2b8d1f163f
Add definition of 64-bit load upper immediate.
...
llvm-svn: 143994
2011-11-07 19:10:49 +00:00
Akira Hatanaka
2f4480046b
Include RegSaveAreaSize in the computation of stack size.
...
llvm-svn: 143993
2011-11-07 19:07:35 +00:00
Akira Hatanaka
7bcecd486f
Define functions that get or set the size of area on callee's stack frame which
...
is used to save va_arg or byval arguments passed in registers.
llvm-svn: 143992
2011-11-07 19:06:10 +00:00
Akira Hatanaka
d9c2e46cfb
Use array_lengthof to compute the number of iterations of a loop.
...
llvm-svn: 143991
2011-11-07 19:03:40 +00:00
Akira Hatanaka
cf7e5b0976
Fix patterns for unaligned 32-bit load. DSLL32 or DSRL32 should be emitted
...
when shift amount is larger than 32.
llvm-svn: 143990
2011-11-07 19:01:49 +00:00
Akira Hatanaka
770f0646db
Make the type of shift amount i32 in order to reduce the number of shift
...
instruction definitions.
llvm-svn: 143989
2011-11-07 18:59:49 +00:00
Akira Hatanaka
d5c1329078
Add 64-bit to 32-bit trunc pattern.
...
llvm-svn: 143988
2011-11-07 18:57:41 +00:00
Eric Christopher
988ac00abd
Use StringRef::startswith to do some string comparisons.
...
llvm-svn: 143982
2011-11-07 18:53:23 +00:00
Eric Christopher
2c5dab541d
Avoid the use of a local temporary for comment twines.
...
llvm-svn: 143974
2011-11-07 18:34:47 +00:00
Eric Christopher
cc979f9ae6
Allow for the case where the name of the subprogram is "".
...
Fixes a self-host error.
llvm-svn: 143970
2011-11-07 18:10:17 +00:00
Owen Anderson
7635bb7ae2
Fix llvm-objdump's MachO mode to not depend on the value returned by RelocationRef::getInfo().
...
llvm-svn: 143966
2011-11-07 17:21:36 +00:00
Richard Osborne
561fac4d4e
Don't introduce custom nodes after legalization in TargetLowering::BuildSDIV()
...
and TargetLowering::BuildUDIV(). Fixes PR11283
llvm-svn: 143964
2011-11-07 17:09:05 +00:00
Eric Christopher
8c7505f258
Remove unnecessary addition to API. Replace with something much simpler.
...
llvm-svn: 143925
2011-11-07 09:38:42 +00:00
Eric Christopher
e1c874aa70
Add new files to cmake.
...
llvm-svn: 143924
2011-11-07 09:37:06 +00:00
Eric Christopher
4996c70034
Add the support code to enable the dwarf accelerator tables. Upcoming patches
...
to fix the types section (all types, not just global types), and testcases.
The code to do the final emission is disabled by default.
llvm-svn: 143923
2011-11-07 09:24:32 +00:00
Eric Christopher
6e47204b0c
Add a new dwarf accelerator table prototype with the goal of replacing
...
the pubnames and pubtypes tables. LLDB can currently use this format
and a full spec is forthcoming and submission for standardization is planned.
A basic summary:
The dwarf accelerator tables are an indirect hash table optimized
for null lookup rather than access to known data. They are output into
an on-disk format that looks like this:
.-------------.
| HEADER |
|-------------|
| BUCKETS |
|-------------|
| HASHES |
|-------------|
| OFFSETS |
|-------------|
| DATA |
`-------------'
where the header contains a magic number, version, type of hash function,
the number of buckets, total number of hashes, and room for a special
struct of data and the length of that struct.
The buckets contain an index (e.g. 6) into the hashes array. The hashes
section contains all of the 32-bit hash values in contiguous memory, and
the offsets contain the offset into the data area for the particular
hash.
For a lookup example, we could hash a function name and take it modulo the
number of buckets giving us our bucket. From there we take the bucket value
as an index into the hashes table and look at each successive hash as long
as the hash value is still the same modulo result (bucket value) as earlier.
If we have a match we look at that same entry in the offsets table and
grab the offset in the data for our final match.
llvm-svn: 143921
2011-11-07 09:18:42 +00:00
Eric Christopher
a7b6189071
Expose a way to get the beginning of the dwarf string section.
...
llvm-svn: 143920
2011-11-07 09:18:38 +00:00
Eric Christopher
6abc9c5aaa
Fix up comment.
...
llvm-svn: 143919
2011-11-07 09:18:35 +00:00
Eric Christopher
2b4f77350d
Typo.
...
llvm-svn: 143918
2011-11-07 09:18:32 +00:00
Craig Topper
a6d409d543
Add AVX2 variable shift instructions and intrinsics.
...
llvm-svn: 143915
2011-11-07 08:26:24 +00:00
Craig Topper
ff39be0afc
Add AVX2 VPMOVMASK instructions and intrinsics.
...
llvm-svn: 143904
2011-11-07 03:20:35 +00:00
Craig Topper
e122dcbf4a
Add AVX2 VEXTRACTI128 and VINSERTI128 instructions. Fix VPERM2I128 to be qualified with HasAVX2 instead of HasAVX. Mark VINSERTF128 and VEXTRACTF128 as never having side effects.
...
llvm-svn: 143902
2011-11-07 02:00:04 +00:00
Craig Topper
620db14aac
Fix accidental edit to __builtin_ia32_vperm2f128_ps256's name
...
llvm-svn: 143901
2011-11-07 00:54:28 +00:00
NAKAMURA Takumi
012d681acd
Fix CRT selection logic when using CMake NMake generator.
...
CMAKE_CONFIGURATION_TYPES is only set on Visual Studio generators. For NMake CMAKE_BUILD_TYPE is used instead.
Patch by EJose Fonseca!
llvm-svn: 143898
2011-11-06 23:37:22 +00:00
Craig Topper
f01f1b5cb9
More AVX2 instructions and their intrinsics.
...
llvm-svn: 143895
2011-11-06 23:04:08 +00:00
Benjamin Kramer
20baffb257
Replace (Lower|Upper)caseString in favor of StringRef's newest methods.
...
llvm-svn: 143891
2011-11-06 20:37:06 +00:00
Benjamin Kramer
e3b94d1b55
Fix a typo.
...
llvm-svn: 143890
2011-11-06 20:36:50 +00:00
Daniel Dunbar
490aa6fd87
Revert "llvm-config-2: Switch to using real library dependency table." while I
...
investigate build failure.
llvm-svn: 143888
2011-11-06 19:57:04 +00:00
Daniel Dunbar
b7e86d4ee2
llvm-config: Users are allowed to provide component names in mixed case.
...
llvm-svn: 143881
2011-11-06 18:04:49 +00:00
Daniel Dunbar
3fa528d67c
ADT/StringRef: Add ::lower() and ::upper() methods.
...
llvm-svn: 143880
2011-11-06 18:04:43 +00:00
Daniel Dunbar
6b45852819
llvm-config-2: Switch to using real library dependency table.
...
- Also, fix a refacto that left extra "all" component in list (this is now
defined in the groups explicitly)
llvm-svn: 143879
2011-11-06 18:04:23 +00:00
Andrew Trick
6c0a11bf61
Release Notes: add a description of -enable-iv-rewrite.
...
llvm-svn: 143878
2011-11-06 17:59:24 +00:00
Peter Collingbourne
bf025fdb54
Return only the least significant 8 bits of the exit status from
...
Process::Wait on Windows (mimicing POSIX behaviour).
llvm-svn: 143876
2011-11-06 16:45:46 +00:00
NAKAMURA Takumi
a61f0cc731
docs/GettingStarted.html: [Git] Add another example for "[Gmail]/Drafts" in Traditional Chinese.
...
Thanks to Chen Weiren.
llvm-svn: 143862
2011-11-06 06:51:58 +00:00
Craig Topper
05d1cb98e7
Add more AVX2 instructions and intrinsics.
...
llvm-svn: 143861
2011-11-06 06:12:20 +00:00
Chandler Carruth
cd22ee3f17
CMake should join the party in a post 3.0 world. ;] This brings CMake's
...
version in-line with the configure-based version.
llvm-svn: 143834
2011-11-05 21:18:59 +00:00
Chad Rosier
d0191a53c9
Add support for passing i1, i8, and i16 call parameters. Also, be sure to
...
zero-extend the constant integer encoding. Test case provides testing for
both call parameters and materialization of i1, i8, and i16 types.
llvm-svn: 143821
2011-11-05 20:16:15 +00:00
Benjamin Kramer
807cf22b55
Update lit's list of tools.
...
llvm-svn: 143815
2011-11-05 16:20:52 +00:00
Benjamin Kramer
79730ad07d
Audited all the format strings in libDebugInfo and fixed those that didn't match the types.
...
llvm-svn: 143814
2011-11-05 16:01:13 +00:00
Benjamin Kramer
f7e0a31f8a
Reduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x and
...
that breaks on big-endian machines.
I have to clean up the 32/64 bit confusion in libDebugInfo some day.
llvm-svn: 143812
2011-11-05 15:35:00 +00:00
Benjamin Kramer
adc5b46782
Twinify.
...
llvm-svn: 143811
2011-11-05 13:11:25 +00:00
Benjamin Kramer
c1cb1be9b4
MachOObject: Use DataExtractor's uleb parser instead of rolling our own.
...
llvm-svn: 143810
2011-11-05 12:13:21 +00:00
Benjamin Kramer
c74798d5cf
Add an option to pad an uleb128 to MCObjectWriter and remove the uleb128 encoding from the DWARF asm printer.
...
As a side effect we now print dwarf ulebs with .ascii directives.
llvm-svn: 143809
2011-11-05 11:52:44 +00:00
Nick Lewycky
f2905afe62
Do simple cross-block DSE when we encounter a free statement. Fixes PR11240.
...
llvm-svn: 143808
2011-11-05 10:48:42 +00:00
Benjamin Kramer
635969ca7f
Fix pasto.
...
llvm-svn: 143802
2011-11-05 09:45:17 +00:00
Benjamin Kramer
f3da529028
Add more PRI.64 macros for MSVC and use them throughout the codebase.
...
llvm-svn: 143799
2011-11-05 08:57:40 +00:00
Daniel Dunbar
6437126f19
build/cmake: Enable initial llvm-build integration.
...
- Generates the llvm-config-2 LibraryDependencies.inc file.
- Generates dependency information so that cmake will automatically reconfigure
when LLVMBuild.txt files are changed.
llvm-svn: 143793
2011-11-05 06:30:03 +00:00
Peter Collingbourne
dc66efeb10
Recommend the -flto flag instead of -use-gold-plugin, and update
...
other aspects of the gold plugin docs to reflect reality.
llvm-svn: 143785
2011-11-05 04:17:28 +00:00
Peter Collingbourne
e5ddfa5ba1
Now that the linker supports lazily materialising globals, don't
...
materialise them in LTO.
I observed a ~0.5-1% speedup for an LTO link of opt.
llvm-svn: 143784
2011-11-05 04:17:25 +00:00
Peter Collingbourne
00221ce63d
Use absolute path to exportsfile in gold plugin CMake build.
...
(Ninja generator requirement.)
llvm-svn: 143783
2011-11-05 04:17:20 +00:00
Daniel Dunbar
0edba5c989
utils/llvm-build: Ensure output directory exists for tools which write various fragments.
...
llvm-svn: 143782
2011-11-05 04:07:49 +00:00
Daniel Dunbar
9057a3de5a
utils/llvm-build: Add trivial quoting of slashes for CMake fragment.
...
llvm-svn: 143781
2011-11-05 04:07:43 +00:00
Chad Rosier
f0055f61fb
Allow i1 to be promoted to i32 for ARM APCS calling convention.
...
llvm-svn: 143755
2011-11-05 00:02:56 +00:00
Pete Cooper
77c703f11c
Added missing &. Fixes <rdar://problem/10393723>
...
llvm-svn: 143753
2011-11-04 23:49:14 +00:00
Eli Friedman
8f249600e7
Enhanced vzeroupper insertion pass that avoids inserting vzeroupper where it is unnecessary through local analysis. Patch from Bruno Cardoso Lopes, with some additional changes.
...
I'm going to wait for any review comments and perform some additional testing before turning this on by default.
llvm-svn: 143750
2011-11-04 23:46:11 +00:00
Chad Rosier
5b8fdd7b62
Cannot create a result register for non-legal types.
...
llvm-svn: 143749
2011-11-04 23:45:39 +00:00
Daniel Dunbar
b0a48e1dd8
build/make: Fix the output path of the llvm-config-2 library dependency table.
...
llvm-svn: 143746
2011-11-04 23:40:14 +00:00
Daniel Dunbar
b814ee46e8
llvm-build: Quote colons in target names, in an attempt to make msys happy.
...
llvm-svn: 143745
2011-11-04 23:40:11 +00:00
Daniel Dunbar
e9733850be
llvm-build: Add initial --write-cmake-fragment option.
...
llvm-svn: 143744
2011-11-04 23:10:37 +00:00
Chad Rosier
e8b8b77307
When materializing an i32, SExt vs ZExt doesn't matter when we're trying to fit
...
in a 16-bit immediate. However, for the shorter non-legal types (i.e., i1, i8,
i16) we should not sign-extend. This prevents us from materializing things
such as 'true' (i.e., i1 1).
llvm-svn: 143743
2011-11-04 23:09:49 +00:00
Daniel Dunbar
21079cad11
build/cmake: Change to require Python be available.
...
llvm-svn: 143742
2011-11-04 23:04:05 +00:00
Chad Rosier
67f96887aa
Enable support for materializing i1, i8, and i16 integers via move immediate.
...
llvm-svn: 143739
2011-11-04 22:29:00 +00:00
Bruno Cardoso Lopes
c9473e9809
Add mips ELF relocation types. Patch by Jack Carter!
...
llvm-svn: 143738
2011-11-04 22:24:36 +00:00
Bill Wendling
ef3cdeab45
Fix some misplaced punctuation.
...
llvm-svn: 143737
2011-11-04 20:40:41 +00:00
Rafael Espindola
c2a8401ad2
Add triple to test.
...
llvm-svn: 143735
2011-11-04 20:20:34 +00:00
Daniel Dunbar
4a2eab0dac
build/cmake: Coalesce the configuration time header include fragment generation
...
for target definitions.
llvm-svn: 143731
2011-11-04 19:04:42 +00:00
Daniel Dunbar
ad3946ac6f
build/cmake: Coalesce in-tree sanity checks.
...
llvm-svn: 143730
2011-11-04 19:04:39 +00:00
Daniel Dunbar
511e29644f
build/cmake: Tidy up specification of build/include options for (tools, runtime,
...
examples, and tests).
llvm-svn: 143729
2011-11-04 19:04:37 +00:00
Daniel Dunbar
10fa2df7c5
build/cmake: Move all the user controllable options into top-level CMakeLists
...
for consistency.
llvm-svn: 143728
2011-11-04 19:04:35 +00:00
Daniel Dunbar
4a9c6426ff
build/cmake: Use tblgen macro directly instead of llvm_tablegen, which just
...
added a layer of indirection with no value (not even conciseness).
llvm-svn: 143727
2011-11-04 19:04:23 +00:00
Rafael Espindola
6cf4e830ce
Emit declarations before definitions if they are available. This causes DW_AT_specification to
...
point back in the file in the included testcase. Fixes PR11300.
llvm-svn: 143726
2011-11-04 19:00:29 +00:00
Bill Wendling
5f689e7b3a
Reformatting changes to get rid of blank lines, put code on one line, and to
...
decrease some code indentation. No intended functional changes.
llvm-svn: 143723
2011-11-04 18:48:00 +00:00
Eli Friedman
5e00f6e16f
Add missing includes/decls.
...
llvm-svn: 143722
2011-11-04 18:45:34 +00:00
Dan Gohman
ce3d6248b2
Add tests for existing InstSimplify features.
...
llvm-svn: 143721
2011-11-04 18:39:16 +00:00
Dan Gohman
85977e6ab4
Teach instsimplify to simplify calls to undef.
...
llvm-svn: 143719
2011-11-04 18:32:42 +00:00
Eli Friedman
97540c3a4a
Add missing includes/class declaration.
...
llvm-svn: 143718
2011-11-04 18:30:30 +00:00
Eli Friedman
c599df75f2
Add missing forward declarations.
...
llvm-svn: 143717
2011-11-04 18:29:09 +00:00
Eli Friedman
2bcf264ec7
Add a couple missing includes; found while analyzing LLVM headers.
...
llvm-svn: 143716
2011-11-04 18:19:43 +00:00
Eli Friedman
88b24261f6
Delete names for unused parameters in inline function definitions in headers, so LLVM users can compile with -Wunused-parameter. PR11257; based on patch by Kevin Harris.
...
llvm-svn: 143715
2011-11-04 18:11:56 +00:00
Bob Wilson
269532de25
Build llvmCore with RTTI enabled. <rdar://problem/10395761>
...
llvm-svn: 143714
2011-11-04 17:57:13 +00:00
Eli Friedman
5b693c2fa6
Add missing argument for atomic instructions in c++ backend. PR11268, part 2.
...
llvm-svn: 143712
2011-11-04 17:29:35 +00:00
Daniel Dunbar
d20ea7dc59
utils: Remove build-for-llvm-top.sh and ModuleInfo.txt, which are not documented and I am pretty sure no one uses.
...
llvm-svn: 143708
2011-11-04 17:14:44 +00:00
Chad Rosier
e502a88b50
Remove declarations for functions that don't exist (and never have).
...
Patch by Anders Waldenborg <anders@0x63.nu>.
llvm-svn: 143705
2011-11-04 17:07:11 +00:00
Benjamin Kramer
4246ca4021
Simplify code.
...
llvm-svn: 143695
2011-11-04 13:52:17 +00:00
Bill Wendling
019392bd4a
Move comment to the correct place.
...
llvm-svn: 143690
2011-11-04 09:34:06 +00:00
Bill Wendling
a2af67493c
Make the Mangler an ivar so that it doesn't have to be passed around everywhere.
...
llvm-svn: 143689
2011-11-04 09:30:19 +00:00
Bill Wendling
ac2abde903
Refactor the MCContext so that it's an ivar instead of a local which is passed
...
around. This is important for some future work as well.
llvm-svn: 143688
2011-11-04 09:24:40 +00:00
Craig Topper
caba032f48
Add intrinsics for X86 vcvtps2ph and vcvtph2ps instructions
...
llvm-svn: 143683
2011-11-04 06:59:49 +00:00
Craig Topper
b9a46e6b83
Add intrinsics for X86 vcvtps2ph and vcvtph2ps instructions
...
llvm-svn: 143682
2011-11-04 06:59:21 +00:00
Evan Cheng
1ddeb167e8
Fix some minor scheduling itinerary bug. It's not expected to actually affect codegen.
...
llvm-svn: 143675
2011-11-04 01:48:58 +00:00
Daniel Dunbar
9ef81066ad
utils: Rename the "llvmbuild" script to llvm-compilers-check.
...
llvm-svn: 143673
2011-11-04 01:09:02 +00:00
Chad Rosier
8a98ec4d4b
Indentation.
...
llvm-svn: 143670
2011-11-04 00:58:10 +00:00
Chad Rosier
f3e73ad5da
Add fast-isel support for returning i1, i8, and i16.
...
llvm-svn: 143669
2011-11-04 00:50:21 +00:00
Daniel Dunbar
e6d40de414
Speculatively revert "DeadStoreElimination can now trim the size of a store if
...
the end of it is dead.", which appears to break bootstrapping LLVM.
llvm-svn: 143668
2011-11-04 00:48:26 +00:00
Daniel Dunbar
1bd49deec0
build: Use right Echo variable and use Verb appropriately.
...
llvm-svn: 143664
2011-11-03 23:01:50 +00:00
Daniel Dunbar
b4ce26a2ea
build/Make: Integrate llvm-build into Makefiles.
...
- Basically, we coordinate with llvm-build to create a Makefile fragment we can
easily use. For now, nothing is wired in except the support to automatically
regenerate this file when necessary.
llvm-svn: 143662
2011-11-03 22:46:21 +00:00
Daniel Dunbar
ab3b1804fe
llvm-build: Add initial code for --write-make-fragment.
...
llvm-svn: 143661
2011-11-03 22:46:19 +00:00
Dan Gohman
198b7ffc11
Reapply r143206, with fixes. Disallow physical register lifetimes
...
across calls, and only check for nested dependences on the special
call-sequence-resource register.
llvm-svn: 143660
2011-11-03 21:49:52 +00:00
Daniel Dunbar
9f01a0db7d
utils: Remove (way) old nightly test scripts, I don't think anyone uses them and LNT has way better tools than this.
...
llvm-svn: 143655
2011-11-03 21:03:53 +00:00
Daniel Dunbar
803b761cbb
llvm-config-2: Implement build system support for getting the variables we only
...
know at build time.
llvm-svn: 143649
2011-11-03 21:01:36 +00:00
Daniel Dunbar
4a1a9eceb5
build/Make: Add support for INCLUDE_BUILD_DIR make variable, to specify that
...
component needs to include files from its ObjDir.
llvm-svn: 143648
2011-11-03 21:01:32 +00:00
Pete Cooper
65ba66c660
Reverted r143600 - selector reference change
...
llvm-svn: 143646
2011-11-03 20:47:50 +00:00
Bill Wendling
ed4cc4432f
Keep the Crack language as an external project.
...
llvm-svn: 143643
2011-11-03 20:10:01 +00:00
Daniel Dunbar
3fa708098a
llvm-build: Avoid followlinks keyword argument to os.walk.
...
- llvm-build should now be Python2.4 compatible as best I know.
llvm-svn: 143641
2011-11-03 19:45:52 +00:00
Dan Bailey
b68515c232
fixed global array handling for ptx to use the correct bit widths
...
llvm-svn: 143640
2011-11-03 19:24:46 +00:00
Daniel Dunbar
bf9bba47a1
build: Add initial cut at LLVMBuild.txt files.
...
llvm-svn: 143634
2011-11-03 18:53:17 +00:00
Pete Cooper
8a95aedb5d
DeadStoreElimination can now trim the size of a store if the end of it is dead.
...
Only currently done if the later store is writing to a power of 2 address or
has the same alignment as the earlier store as then its likely to not break up
large stores into smaller ones
Fixes <rdar://problem/10140300>
llvm-svn: 143630
2011-11-03 18:01:56 +00:00
Daniel Dunbar
453146e569
llvm-build: Update --write-llvmbuild to write out a standard LLVM style file
...
header.
llvm-svn: 143629
2011-11-03 17:56:31 +00:00
Daniel Dunbar
445e8f9d35
llvm-build: Add "--write-library-table" option for generating the C++ library
...
dependency table used by llvm-config.
llvm-svn: 143628
2011-11-03 17:56:28 +00:00
Daniel Dunbar
774421ec26
docs: Sketch docs for llvm-build tool.
...
llvm-svn: 143627
2011-11-03 17:56:24 +00:00
Daniel Dunbar
dbbb258666
llvm-build: Add --write-llvmbuild option, which writes out the component tree.
...
- Useful for migrating or auto-upgrading the format schema.
llvm-svn: 143626
2011-11-03 17:56:21 +00:00
Daniel Dunbar
f45369d7e8
llvm-build: Add --print-tree command line option.
...
llvm-svn: 143625
2011-11-03 17:56:18 +00:00
Daniel Dunbar
4897255255
llvm-build: Fill in some details w.r.t. component's parents.
...
llvm-svn: 143624
2011-11-03 17:56:16 +00:00
Daniel Dunbar
8844e3c0b2
llvm-build: Validate information on the loaded components and form the topological ordering among them (as well as validating that there are no cycles).
...
- Currently we require that all references between components (except the parent relation) fit into a DAG -- this could be relaxed later if it ever proves to be useful.
llvm-svn: 143623
2011-11-03 17:56:12 +00:00
Daniel Dunbar
84fc5ce7af
llvm-build: Fill in more of component parsing to be more strict and
...
differentiate between strings and lists.
llvm-svn: 143622
2011-11-03 17:56:10 +00:00
Daniel Dunbar
dd3fb562c4
llvm-build: Sketch code to load LLVMBuild.txt files.
...
llvm-svn: 143621
2011-11-03 17:56:06 +00:00
Daniel Dunbar
01b0588b42
build: Stub out llvm-build utility tool.
...
llvm-svn: 143620
2011-11-03 17:56:03 +00:00
Daniel Dunbar
6972721d5f
docs: Add initial docs on LLVMBuild organization.
...
llvm-svn: 143619
2011-11-03 17:55:59 +00:00
Daniel Dunbar
fa400a140b
llvm-config-2: Implement component dependency traversal, implement support for 'all', and fix a few other minor bugs.
...
- Still doesn't use actual generated component table, but that is now just a matter of wiring into the build system.
llvm-svn: 143617
2011-11-03 17:30:19 +00:00
Daniel Dunbar
b0f7a1472b
llvm-config: Start stubbing out a C++ version of llvm-config (as llvm-config-2,
...
for now).
- Mostly complete except for the data that needs to come from the build system
or the dependencies.
- Has some small improvements from current llvm-config:
o Uses TargetRegistry directly to get some information.
o Designed to work correctly when used from a CMake build tree (relatively
untested currently) (although pcc fixed this recently for old llvm-config).
llvm-svn: 143616
2011-11-03 17:30:16 +00:00
Craig Topper
0e7cbbabea
Add new X86 AVX2 VBROADCAST instructions.
...
llvm-svn: 143612
2011-11-03 07:35:53 +00:00
Galina Kistanova
98989469a2
Cleaned text, fixed HTML.
...
llvm-svn: 143607
2011-11-03 05:57:26 +00:00
Chad Rosier
bf5f4bec1a
Add support for sign-extending non-legal types in SelectSIToFP().
...
llvm-svn: 143603
2011-11-03 02:04:59 +00:00
Pete Cooper
e6173d81ae
Treat objc selector reference globals as invariant so that MachineLICM can hoist them out of loops. Fixes <rdar://problem/6027699>
...
llvm-svn: 143600
2011-11-03 00:56:36 +00:00
Chad Rosier
9589872af9
Remove some cruft from the BitcodeWriter, while still maintaining backward
...
compatibility in the BitcodeReader.
llvm-svn: 143598
2011-11-03 00:14:01 +00:00
Lang Hames
1f4603d498
Fixed parameter name.
...
llvm-svn: 143594
2011-11-02 23:37:04 +00:00
Chad Rosier
d294af104a
Removed unused variable.
...
llvm-svn: 143591
2011-11-02 23:21:55 +00:00
Bill Wendling
645eadac67
An array of chars of length 8 will also cause the stack protector to be inserted
...
into the function. Reflect that here so that the array will be placed next to
the SP.
<rdar://problem/10128329>
llvm-svn: 143590
2011-11-02 23:20:58 +00:00
Lang Hames
9929c423a1
Try to lower memset/memcpy/memmove to vector instructions on ARM where the alignment permits.
...
llvm-svn: 143582
2011-11-02 22:52:45 +00:00
Galina Kistanova
3246d3556b
Few corrections on the document page.
...
llvm-svn: 143578
2011-11-02 22:05:18 +00:00
Nick Lewycky
000307fef9
I added the first test to run llvm-dwarfdump.
...
llvm-svn: 143571
2011-11-02 21:02:27 +00:00
Nick Lewycky
d1ee7f8cf1
Don't emit a directory entry for the value in DW_AT_comp_dir, that is always
...
implied by directory index zero.
llvm-svn: 143570
2011-11-02 20:55:33 +00:00
Tobias Grosser
325569f716
docs: Fix two typos
...
llvm-svn: 143565
2011-11-02 19:51:04 +00:00
Daniel Dunbar
6c92223b37
build/Make: Update for rename of show-diagnostics.
...
llvm-svn: 143564
2011-11-02 19:48:19 +00:00
Michael J. Spencer
1085ce6d45
object: Add operator < for SymbolRef and SectionRef.
...
llvm-svn: 143563
2011-11-02 19:33:41 +00:00
Michael J. Spencer
d0f5b0e194
object/COFF: Properly initalize uses of DataRefImpl.
...
llvm-svn: 143562
2011-11-02 19:33:26 +00:00
Michael J. Spencer
e03ea9cd71
Object/Archive: Add symbol table iteration.
...
llvm-svn: 143561
2011-11-02 19:33:12 +00:00
Chad Rosier
9cf803c4bf
Add support for comparing integer non-legal types.
...
llvm-svn: 143559
2011-11-02 18:08:25 +00:00
Owen Anderson
fbb704f551
Fix the issue that r143552 was trying to address the _right_ way. One-register lists are legal on LDM/STM instructions, but we should not print the PUSH/POP aliases when they appear. This fixes round tripping on this instruction.
...
llvm-svn: 143557
2011-11-02 18:03:14 +00:00
Kevin Enderby
60d8516857
Replace tabs I added in this new line of code with spaces.
...
Thanks to Nick for spotting this!
llvm-svn: 143556
2011-11-02 17:56:38 +00:00
Daniel Dunbar
5aba1b4ea3
tests: Clean up tests/CMakeLists.txt to drop some variable configuration we no
...
longer need substitutions for.
llvm-svn: 143555
2011-11-02 17:54:51 +00:00
Owen Anderson
ec5c5f7008
The rules disallowing single-register reglist operands only apply to the POP alias, not to LDM/STM instructions. Revert r143552.
...
llvm-svn: 143553
2011-11-02 17:46:18 +00:00
Owen Anderson
fad59dab62
Register list operands are not allowed to contain only a single register. Alternate encodings are used in that case.
...
llvm-svn: 143552
2011-11-02 17:41:23 +00:00
Benjamin Kramer
4e8b463883
Don't print two 0x prefixes when printing an address.
...
llvm-svn: 143549
2011-11-02 17:24:36 +00:00
Chandler Carruth
76f9e57145
Add back the top-level target for 'llvm-config' and the dependency edge
...
to force it to build after all library targets so it has complete
dependency information. This should fix broken 'make install' with
CMake.
This is a partial revert of r143540, but it doesn't revert the most
important part of that change: removing the dependency edge from LLVM
tools to the llvm-config script.
llvm-svn: 143548
2011-11-02 17:22:57 +00:00
Chad Rosier
4489f948a7
Factor out an EmitIntExt function. No functionality change intended.
...
llvm-svn: 143547
2011-11-02 17:20:24 +00:00
Andrew Trick
c2c79c90f2
Rewrite LinearFunctionTestReplace to handle pointer-type IVs.
...
We've been hitting asserts in this code due to the many supported
combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This
second rewrite of the code attempts to deal with these cases systematically.
llvm-svn: 143546
2011-11-02 17:19:57 +00:00
Chandler Carruth
3198cc7376
Fix a typo noticed by Peter Collingbourne. No one depends on this
...
working today, but it shouldn't corrupt state for some poor soul to
debug later.
llvm-svn: 143545
2011-11-02 16:55:57 +00:00
Daniel Dunbar
f5918316e4
docs: Remove an out-of-date and unnecessary tool list.
...
llvm-svn: 143544
2011-11-02 15:57:05 +00:00
Daniel Dunbar
9a28c4a522
docs: Separate development process type of documentation from programming
...
documentation.
llvm-svn: 143543
2011-11-02 15:56:58 +00:00
Daniel Dunbar
1ad9bd9a4e
docs: Remove UsingLibraries page, which was inaccurate / out-of-date and not
...
particularly useful.
llvm-svn: 143542
2011-11-02 15:56:55 +00:00
Daniel Dunbar
bcafe5f84d
build/Make: Get rid of llvm-config-perobj, which isn't used anymore.
...
llvm-svn: 143541
2011-11-02 15:56:52 +00:00
Daniel Dunbar
ab527acc09
build/CMake: Remove llvm-config.target used to serialize tool builds on
...
llvm-config build, there is no longer a point to this after Chandler's work.
llvm-svn: 143540
2011-11-02 15:56:38 +00:00
Chandler Carruth
ae4e800c5b
Begin collecting some of the statistics for block placement discussed on
...
the mailing list. Suggestions for other statistics to collect would be
awesome. =]
Currently these are implemented as a separate pass guarded by a separate
flag. I'm not thrilled by that, but I wanted to be able to collect the
statistics for the old code placement as well as the new in order to
have a point of comparison. I'm planning on folding them into the single
pass if / when there is only one pass of interest.
llvm-svn: 143537
2011-11-02 07:17:12 +00:00
Craig Topper
a47b05c7f3
More AVX2 instructions and intrinsics.
...
llvm-svn: 143536
2011-11-02 06:54:17 +00:00
Chandler Carruth
9dba8af074
Add parentheses to disambiguate the precedence of these operations and
...
silence -Wparentheses.
llvm-svn: 143534
2011-11-02 05:43:44 +00:00
Chandler Carruth
39bf89b382
The TableGen parts of the CMake build are seriously broken. This fixes
...
one aspect of them by having them use the (annoying, if not broken)
proper library dependency model for adding the LLVMTableGen library as
a dependency. This could manifest as a link order issue in the presence
of separate LLVM / Clang source builds with CMake and a linker that
really cares about such things.
Also, add the Support dependency to llvm-tblgen itself so that it
doesn't rely on TableGen's transitive Support dependency. A parallel
change for clang-tblgen will be forthcoming.
llvm-svn: 143531
2011-11-02 05:03:06 +00:00
Craig Topper
682b850602
Add a bunch more X86 AVX2 instructions and their corresponding intrinsics.
...
llvm-svn: 143529
2011-11-02 04:42:13 +00:00
Chad Rosier
800f223b12
Rename show-diagnostics to something less ambiguous.
...
llvm-svn: 143525
2011-11-02 00:44:16 +00:00
Tanya Lattner
0a48b877c6
Add support to the linker to lazily link in functions. This change only links functions marked with specific linkage (internal, private, linker_private, linker_private_weak, linker_private_weak_def_auto, linkonce, linkonce_odr, and available_externally) if they have uses in the destination module. Instead of automatically linking, these functions are placed onto a worklist to be processed in the final stage of linking. We iterate over the list and if any functions on the list have uses in the destination module, we link them in and repeat the process until no changes in the state (uses) has changed. This means that any functions in the LazilyLink worklist that have a use in the destination module will be linked in and none that don't.
...
llvm-svn: 143524
2011-11-02 00:24:56 +00:00
Chad Rosier
ee7e452571
Factor out a SelectTrunc function. No functionality change intended.
...
llvm-svn: 143523
2011-11-02 00:18:48 +00:00
Andrew Trick
0dae890346
Broaden an assert to handle enable-iv-rewrite=true following r143183.
...
Narrowest possible fix for PR11279.
llvm-svn: 143522
2011-11-02 00:02:45 +00:00
Kevin Enderby
82ed3be1fb
Fixed a bug in the code to create a dwarf file and directory table entires when
...
it is separating the directory part from the basename of the FileName. Noticed
that this:
.file 1 "dir/foo"
when assembled got the two parts switched. Using the Mac OS X dwarfdump tool
it can be seen easily:
% dwarfdump -a a.out
include_directories[ 1] = 'foo'
Dir Mod Time File Len File Name
---- ---------- ---------- ---------------------------
file_names[ 1] 1 0x00000000 0x00000000 dir
...
Which should be:
...
include_directories[ 1] = 'dir'
Dir Mod Time File Len File Name
---- ---------- ---------- ---------------------------
file_names[ 1] 1 0x00000000 0x00000000 foo
llvm-svn: 143521
2011-11-01 23:39:05 +00:00
Jim Grosbach
5c6b6346bc
ARM label operands can be quoted.
...
For example, labels from Objective-C sources.
llvm-svn: 143511
2011-11-01 22:38:31 +00:00
Jim Grosbach
7f1f3bd868
ARM label operands can have an optional '#' before them.
...
llvm-svn: 143510
2011-11-01 22:37:37 +00:00
Kevin Enderby
6469fc275a
First part of support for generating dwarf for assembly source files with the
...
-g flag. In this part we generate the .file for the source being assembled and
the .loc's for the assembled instructions.
The next part will be to generate the dwarf Compile Unit DIE and a dwarf
subprogram DIE for each non-temporary label.
Once the next part is done test cases will be added. rdar://9275556
llvm-svn: 143509
2011-11-01 22:27:22 +00:00
Owen Anderson
69e54a740c
Fix disassembly of some VST1 instructions.
...
llvm-svn: 143507
2011-11-01 22:18:13 +00:00
Sebastian Pop
94441fbad7
rename getHostTriple into getDefaultTargetTriple
...
llvm-svn: 143502
2011-11-01 21:32:20 +00:00
Sebastian Pop
ec2fb226d8
rename LLVM_HOSTTRIPLE into LLVM_DEFAULT_TARGET_TRIPLE
...
llvm-svn: 143501
2011-11-01 21:31:44 +00:00
Sebastian Pop
f29a9b8c0b
derive LLVM_HOSTTRIPLE from target
...
llvm-svn: 143500
2011-11-01 21:30:04 +00:00
Eli Friedman
3f5eccbe7a
Teach the x86 backend a couple tricks for dealing with v16i8 sra by a constant splat value. Fixes PR11289.
...
llvm-svn: 143498
2011-11-01 21:18:39 +00:00
Jim Grosbach
107c14391f
Ignore MachO symbol flags in the upper nibble of n_desc.
...
They don't impact the MCJIT rtdyld, so just mask them off for now.
llvm-svn: 143472
2011-11-01 18:10:23 +00:00
Daniel Dunbar
ca5524b00b
Support/Compiler: Add LLVM_EXTENSION for use where we want to hide pedantic diags.
...
llvm-svn: 143468
2011-11-01 17:46:12 +00:00
Richard Osborne
56ce0932db
Don't fold negative offsets into cp / dp accesses to avoid relocation errors.
...
This can happen if the address + addend is less than the start of the cp / dp.
llvm-svn: 143459
2011-11-01 11:31:53 +00:00
Richard Osborne
37fe7d6641
Combine various XCore tests for floating point intrinsic support into a single test.
...
llvm-svn: 143458
2011-11-01 10:51:48 +00:00
Richard Osborne
8591b6b0ab
Move various XCore tests to FileCheck
...
llvm-svn: 143457
2011-11-01 10:41:28 +00:00
Craig Topper
fec80c6ad2
Fix operand type for x86 pmadd_ub_sw intrinsic.
...
llvm-svn: 143455
2011-11-01 07:25:22 +00:00
Eli Friedman
39df70c33a
Remove a couple unused methods. PR11201.
...
llvm-svn: 143452
2011-11-01 05:11:01 +00:00
Eli Friedman
a49b828f8f
Make sure we use the right insertion point when instcombine replaces a PHI with another instruction. (Specifically, don't insert an arbitrary instruction before a PHI.) Fixes PR11275.
...
llvm-svn: 143437
2011-11-01 04:49:29 +00:00
Eli Friedman
d4e02a50ba
A couple misc fixes so that bugpoint doesn't explode reducing code containing landingpads.
...
llvm-svn: 143435
2011-11-01 04:40:56 +00:00
Bill Wendling
eda350d8ab
Add LuaAV to external projects list.
...
llvm-svn: 143431
2011-11-01 04:08:23 +00:00
Eli Friedman
0eb88775ef
Move x86-specific tests into X86 folder.
...
llvm-svn: 143424
2011-11-01 03:21:48 +00:00
Eli Friedman
6185a2aa7c
Move another test requiring x86 into X86 directory.
...
llvm-svn: 143421
2011-11-01 03:12:47 +00:00
Eli Friedman
2cd281ea67
Move test requiring x86 backend into X86 directory.
...
llvm-svn: 143420
2011-11-01 03:11:41 +00:00
Jim Grosbach
fb2f1d61f4
ARM VLD/VST assembly parsing for symbolic address operands.
...
llvm-svn: 143413
2011-11-01 01:24:45 +00:00
Jakob Stoklund Olesen
559d4dcc16
Update split candidate correctly when interference cache is full.
...
No test case, spotted by inspection.
llvm-svn: 143407
2011-11-01 00:02:31 +00:00
Eli Friedman
d28ddbff8d
Add support for new atomics to cpp backend. Misc other fixes while I'm here. PR11268.
...
llvm-svn: 143406
2011-10-31 23:59:22 +00:00
Devang Patel
f4af8c65aa
Add utility to append a function to the list of global constructors.
...
Patch by Kostya Serebryany.
llvm-svn: 143405
2011-10-31 23:58:51 +00:00
Matt Beaumont-Gay
1c1a2b8123
Change the actual tests to match the input directory rename (duh)
...
llvm-svn: 143404
2011-10-31 23:56:52 +00:00
Tanya Lattner
e9839c045f
Reapply r141657.
...
Also revert the change to CREATE_SUBDIRS as this is what caused the CSS to break on the website and generate the much longer URLs.
llvm-svn: 143401
2011-10-31 23:46:50 +00:00
Matt Beaumont-Gay
da5e57cba1
Rename "TestObjectFiles" to "Inputs" (like the pattern for Clang tests)
...
llvm-svn: 143400
2011-10-31 23:46:38 +00:00
Jim Grosbach
05df460269
ARM VST1 w/ writeback assembly parsing and encoding.
...
llvm-svn: 143369
2011-10-31 21:50:31 +00:00
Ted Kremenek
aff3640d13
Update 'Getting Started' to suggest using GCC 4.2 or higher (or Clang). There is no reason to support older versions of GCC.
...
llvm-svn: 143366
2011-10-31 21:23:15 +00:00
Galina Kistanova
9545514c60
Added instruction how to add a builder to docs.
...
llvm-svn: 143365
2011-10-31 21:13:06 +00:00
Nadav Rotem
f310361a7d
Cleanup. Document. Make sure that this build_vector optimization only runs before the op legalizer and that the used type is legal.
...
llvm-svn: 143358
2011-10-31 20:08:25 +00:00
Jim Grosbach
e4c8e692f2
ARM writeback vs. stride operands for VST/VLD.
...
The _fixed variants have a writeback operand, but not a stride operand.
Split the conditional flag to distinguish the cases.
llvm-svn: 143356
2011-10-31 19:11:23 +00:00
Rafael Espindola
300dcb8e37
Move test to the X86 directory, note the PR number and only run MC once.
...
llvm-svn: 143352
2011-10-31 17:23:09 +00:00
Owen Anderson
40703f4252
More not-crashing NEON disassembly updates for the vld refactoring.
...
llvm-svn: 143351
2011-10-31 17:17:32 +00:00
NAKAMURA Takumi
a35cdd68cf
docs/*.html: Fix markups.
...
llvm-svn: 143349
2011-10-31 13:04:26 +00:00
NAKAMURA Takumi
b8004d9b4c
docs/*.html: Appease W3C Checker to add "charset=utf-8".
...
llvm-svn: 143348
2011-10-31 11:21:59 +00:00
Craig Topper
9821e75e64
Fix operand type for int_x86_ssse3_phadd_sw_128 intrinsic
...
llvm-svn: 143336
2011-10-31 07:16:37 +00:00
Craig Topper
242d1f8c73
Test case for X86 FS/GS Base intrinsics
...
llvm-svn: 143332
2011-10-31 02:15:47 +00:00
Craig Topper
cfcfdf2aab
Begin adding AVX2 instructions. No selection support yet other than intrinsics.
...
llvm-svn: 143331
2011-10-31 02:15:10 +00:00
Nick Lewycky
cd196f6b4f
Close <div> that was indenting the rest of the page.
...
llvm-svn: 143328
2011-10-31 01:32:21 +00:00
Nick Lewycky
aab6169ef6
Switch new .file directive emission off by default, change llc's flag for it to
...
-enable-dwarf-directory.
llvm-svn: 143326
2011-10-31 01:06:02 +00:00
Craig Topper
228d9131aa
Add intrinsics and feature flag for read/write FS/GS base instructions. Also add AVX2 feature flag.
...
llvm-svn: 143319
2011-10-30 19:57:21 +00:00
Duncan Sands
3d5692a475
Reapply commit 143214 with a fix: m_ICmp doesn't match conditions
...
with the given predicate, it matches any condition and returns the
predicate - d'oh! Original commit message:
The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false.
Spotted by my super-optimizer in 186.crafty and 450.soplex. We really
need a proper infrastructure for handling generalizations of this kind
of thing (which occur a lot), however this case is so simple that I decided
to go ahead and implement it directly.
llvm-svn: 143318
2011-10-30 19:56:36 +00:00
Craig Topper
27f8c6ee2c
Mark X86 pcmpeq b/w/d intrinsics as being Commutative. pcmpeqq is already marked as Commutative.
...
llvm-svn: 143317
2011-10-30 18:33:35 +00:00
Peter Collingbourne
8bb15d8276
Teach ModuleLinker::getLinkageResult about materialisable functions
...
llvm-svn: 143316
2011-10-30 17:46:34 +00:00
Benjamin Kramer
7402ee6ec2
X86: Emit logical shift by constant splat of <16 x i8> as a <8 x i16> shift and zero out the bits where zeros should've been shifted in.
...
llvm-svn: 143315
2011-10-30 17:31:21 +00:00
Craig Topper
9cdb9ffa43
Fix return type for X86 mpsadbw instrinsic. The instruction takes in a vector of 8-bit integers, but produces a vector of 16-bit integers.
...
llvm-svn: 143313
2011-10-30 17:22:45 +00:00
Nadav Rotem
c602b2c4de
Fix pr11266.
...
On x86: (shl V, 1) -> add V,V
Hardware support for vector-shift is sparse and in many cases we scalarize the
result. Additionally, on sandybridge padd is faster than shl.
llvm-svn: 143311
2011-10-30 13:24:22 +00:00
Benjamin Kramer
a4eba41b7a
Silence compiler warning.
...
llvm-svn: 143308
2011-10-30 08:39:55 +00:00
Nadav Rotem
1dda6a8ce1
Stabilize the test by specifying an exact cpu target
...
llvm-svn: 143307
2011-10-30 08:07:50 +00:00
Roman Divacky
2634d778a6
Update on PPC32.
...
llvm-svn: 143306
2011-10-30 07:49:04 +00:00
Bill Wendling
f525e37c5d
Do a relative path ln command instead of an absolute path one. Some people strangely enough have different directory layouts...
...
llvm-svn: 143302
2011-10-29 23:49:52 +00:00
NAKAMURA Takumi
f7af62ed78
CREDITS.TXT: Add a line. (test commit)
...
llvm-svn: 143300
2011-10-29 23:42:14 +00:00
Nadav Rotem
bf6568b5d6
Add a new DAGCombine optimization for BUILD_VECTOR.
...
If all of the inputs are zero/any_extended, create a new simple BV
which can be further optimized by other BV optimizations.
llvm-svn: 143297
2011-10-29 21:23:04 +00:00
Benjamin Kramer
932de2bc86
Force SSE for this test.
...
llvm-svn: 143291
2011-10-29 19:43:44 +00:00
Benjamin Kramer
ff91dd9f07
PPC: Disable moves for all CR subregisters.
...
Should fix assertion failures on ppc buildbots.
llvm-svn: 143290
2011-10-29 19:43:38 +00:00
Benjamin Kramer
594ee77964
SimplifyLibCalls: Use IRBuilder.CreateGlobalString when creating a string for printf->puts, which correctly sets the unnamed_addr bit on the resulting GlobalVariable.
...
Fixes PR11264.
llvm-svn: 143289
2011-10-29 19:43:31 +00:00
llvm
ac5394185e
Test.
...
llvm-svn: 143277
2011-10-29 14:16:39 +00:00
Bill Wendling
edc208762e
Revise ThreadSanitizer mention so that it lists the correct frontends.
...
llvm-svn: 143268
2011-10-29 01:11:15 +00:00
Bill Wendling
ca8dc4a617
Add Cling to the External Projects list.
...
llvm-svn: 143267
2011-10-29 01:10:01 +00:00
Eli Friedman
3af3c046a9
Revert r143214; it's breaking a bunch of stuff.
...
llvm-svn: 143265
2011-10-29 00:56:07 +00:00
Dan Gohman
9b9c970148
Revert r143206, as there are still some failing tests.
...
llvm-svn: 143262
2011-10-29 00:41:52 +00:00
NAKAMURA Takumi
6e315dd8ba
test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll: [PR11218] Mark "REQUIRES: asserts" for now.
...
llvm-svn: 143247
2011-10-28 23:11:03 +00:00
Jim Grosbach
3d785edee2
ARM mode 'mov' to 'mvn' assembler alias.
...
llvm-svn: 143237
2011-10-28 22:50:54 +00:00
Jim Grosbach
b009a872d7
Add Thumb2 alias for "mov Rd, #imm" to "mvn Rd, #~imm".
...
When '~imm' is encodable as a t2_so_imm but plain 'imm' is not. For example,
mov r2, #-3
becomes
mvn r2, #2
rdar://10349224
llvm-svn: 143235
2011-10-28 22:36:30 +00:00
Jim Grosbach
d1f1b79b52
Allow InstAlias's to use immediate matcher patterns that xform the value.
...
For example,
On ARM, "mov r3, #-3" is an alias for "mvn r3, #2", so we want to use a
matcher pattern that handles the bitwise negation when mapping to t2MVNi.
llvm-svn: 143233
2011-10-28 22:32:53 +00:00
Owen Anderson
5524ce7d82
Fix illegal disassembly testcase.
...
llvm-svn: 143231
2011-10-28 21:45:09 +00:00
Jim Grosbach
07ae229048
Clarify example snippets a bit.
...
llvm-svn: 143224
2011-10-28 20:52:20 +00:00
Owen Anderson
409b694c6c
Specify that the high bit of the alignment field is fixed to 0 on these instructions.
...
llvm-svn: 143220
2011-10-28 20:43:24 +00:00
Akira Hatanaka
104b7e3f2c
Make changes necessary in LowerFormalArguments to support Mips64.
...
llvm-svn: 143218
2011-10-28 19:55:48 +00:00
Akira Hatanaka
b20a325baf
Make changes necessary in LowerCall to support Mips64.
...
llvm-svn: 143217
2011-10-28 19:49:00 +00:00
Duncan Sands
280bc553b3
The expression icmp eq (select (icmp eq x, 0), 1, x), 0 folds to false.
...
Spotted by my super-optimizer in 186.crafty and 450.soplex. We really
need a proper infrastructure for handling generalizations of this kind
of thing (which occur a lot), however this case is so simple that I decided
to go ahead and implement it directly.
llvm-svn: 143214
2011-10-28 19:01:20 +00:00
Akira Hatanaka
7989f15d37
Add variable IsO32 to MipsTargetLowering.
...
llvm-svn: 143213
2011-10-28 18:47:24 +00:00
Duncan Sands
985ba6386d
A shift of a power of two is a power of two or zero.
...
For completeness - not spotted in the wild.
llvm-svn: 143211
2011-10-28 18:30:05 +00:00
Duncan Sands
92af0a8a7f
Fold icmp ugt (udiv X, Y), X to false. Spotted by my super-optimizer
...
in 186.crafty.
llvm-svn: 143209
2011-10-28 18:17:44 +00:00
Owen Anderson
dde461c8b1
Reapply r143202, with a manual decoding hook for SWP. This change inadvertantly exposed a decoding ambiguity between SWP and CPS that the auto-generated decoder can't handle.
...
llvm-svn: 143208
2011-10-28 18:02:13 +00:00
Dan Gohman
73057ad24f
Reapply r143177 and r143179 (reverting r143188), with scheduler
...
fixes: Use a separate register, instead of SP, as the
calling-convention resource, to avoid spurious conflicts with
actual uses of SP. Also, fix unscheduling of calling sequences,
which can be triggered by pseudo-two-address dependencies.
llvm-svn: 143206
2011-10-28 17:55:38 +00:00
Owen Anderson
effd094438
Revert r143202.
...
llvm-svn: 143203
2011-10-28 17:38:30 +00:00
Owen Anderson
df53d4fd61
Specify fixed bits on CPS instructions to enable roundtripping.
...
llvm-svn: 143202
2011-10-28 17:29:39 +00:00
Jim Grosbach
7a49575d7f
Thumb2 ADD/SUB instructions encoding selection outside IT block.
...
Outside an IT block, "add r3, #2" should select a 32-bit wide encoding
rather than generating an error indicating the 16-bit encoding is only
legal in an IT block (outside, the 'S' suffic is required for the 16-bit
encoding).
rdar://10348481
llvm-svn: 143201
2011-10-28 16:57:07 +00:00
Jim Grosbach
6acb14818d
Allow register classes to match a containing class in InstAliases.
...
If the register class in the source alias is a subclass of the register class
of the actual instruction, the alias can still match OK since the constraints
are strictly a subset of what the instruction can actually handle.
llvm-svn: 143200
2011-10-28 16:43:40 +00:00
NAKAMURA Takumi
7636f55348
test/MC/AsmParser/2011-09-06-NoNewline.s: Add explicit -mtriple=i386. It uses X86 instruction.
...
FIXME: Would it be reproduced without target-specific operands?
FIXME: Why run llvm-mc as the same input by 3 times?
llvm-svn: 143195
2011-10-28 14:12:30 +00:00
NAKAMURA Takumi
29ccdd8207
Dwarf: [PR11022] Fix emitting DW_AT_const_value(>i64), to be host-endian-neutral.
...
Don't assume APInt::getRawData() would hold target-aware endianness nor host-compliant endianness. rawdata[0] holds most lower i64, even on big endian host.
FIXME: Add a testcase for big endian target.
FIXME: Ditto on CompileUnit::addConstantFPValue() ?
llvm-svn: 143194
2011-10-28 14:12:22 +00:00
Stepan Dyatkovskiy
07c0d4091f
uint64 formatted output: replaced %llx with PRIx64 macro.
...
llvm-svn: 143191
2011-10-28 13:07:32 +00:00
Benjamin Kramer
47c3f2d625
Use BranchProbability compare operators.
...
llvm-svn: 143190
2011-10-28 11:14:31 +00:00
NAKAMURA Takumi
88dd835f09
test/CodeGen/X86/2010-08-10-DbgConstant.ll: Add explicit -mtriple=i686-linux. It must be for elf!
...
llvm-svn: 143189
2011-10-28 10:50:52 +00:00
Duncan Sands
225a7037d6
Speculatively disable Dan's commits 143177 and 143179 to see if
...
it fixes the dragonegg self-host (it looks like gcc is miscompiled).
Original commit messages:
Eliminate LegalizeOps' LegalizedNodes map and have it just call RAUW
on every node as it legalizes them. This makes it easier to use
hasOneUse() heuristics, since unneeded nodes can be removed from the
DAG earlier.
Make LegalizeOps visit the DAG in an operands-last order. It previously
used operands-first, because LegalizeTypes has to go operands-first, and
LegalizeTypes used to be part of LegalizeOps, but they're now split.
The operands-last order is more natural for several legalization tasks.
For example, it allows lowering code for nodes with floating-point or
vector constants to see those constants directly instead of seeing the
lowered form (often constant-pool loads). This makes some things
somewhat more complicated today, though it ought to allow things to be
simpler in the future. It also fixes some bugs exposed by Legalizing
using RAUW aggressively.
Remove the part of LegalizeOps that attempted to patch up invalid chain
operands on libcalls generated by LegalizeTypes, since it doesn't work
with the new LegalizeOps traversal order. Instead, define what
LegalizeTypes is doing to be correct, and transfer the responsibility
of keeping calls from having overlapping calling sequences into the
scheduler.
Teach the scheduler to model callseq_begin/end pairs as having a
physical register definition/use to prevent calls from having
overlapping calling sequences. This is also somewhat complicated, though
there are ways it might be simplified in the future.
This addresses rdar://9816668, rdar://10043614, rdar://8434668, and others.
Please direct high-level questions about this patch to management.
Delete #if 0 code accidentally left in.
llvm-svn: 143188
2011-10-28 09:55:57 +00:00
Nick Lewycky
cc64ae140d
Always use the string pool, even when it makes the .o larger. This may help
...
tools that read the debug info in the .o files by making the DIE sizes more
consistent.
llvm-svn: 143186
2011-10-28 05:29:47 +00:00
Andrew Trick
effdca9441
LFTR should avoid a type mismatch with null pointer IVs.
...
Fixes rdar://10359193 Indvar LinearFunctionTestReplace assertion
llvm-svn: 143183
2011-10-28 03:45:11 +00:00
Dan Gohman
0e8d1454b1
Delete #if 0 code accidentally left in.
...
llvm-svn: 143179
2011-10-28 01:41:21 +00:00
Dan Gohman
4db3f7dd83
Eliminate LegalizeOps' LegalizedNodes map and have it just call RAUW
...
on every node as it legalizes them. This makes it easier to use
hasOneUse() heuristics, since unneeded nodes can be removed from the
DAG earlier.
Make LegalizeOps visit the DAG in an operands-last order. It previously
used operands-first, because LegalizeTypes has to go operands-first, and
LegalizeTypes used to be part of LegalizeOps, but they're now split.
The operands-last order is more natural for several legalization tasks.
For example, it allows lowering code for nodes with floating-point or
vector constants to see those constants directly instead of seeing the
lowered form (often constant-pool loads). This makes some things
somewhat more complicated today, though it ought to allow things to be
simpler in the future. It also fixes some bugs exposed by Legalizing
using RAUW aggressively.
Remove the part of LegalizeOps that attempted to patch up invalid chain
operands on libcalls generated by LegalizeTypes, since it doesn't work
with the new LegalizeOps traversal order. Instead, define what
LegalizeTypes is doing to be correct, and transfer the responsibility
of keeping calls from having overlapping calling sequences into the
scheduler.
Teach the scheduler to model callseq_begin/end pairs as having a
physical register definition/use to prevent calls from having
overlapping calling sequences. This is also somewhat complicated, though
there are ways it might be simplified in the future.
This addresses rdar://9816668, rdar://10043614, rdar://8434668, and others.
Please direct high-level questions about this patch to management.
llvm-svn: 143177
2011-10-28 01:29:32 +00:00
Peter Collingbourne
16dab1bada
Have llvm-config --cppflags print correct flags when in CMake build directory
...
Previously, if invoked from a CMake build directory, 'llvm-config
--cppflags' and friends would only print a -I flag for the build
directory's header search path, because it would assume that it was
already installed, not recognising its parent directory as being the
build directory. Teach llvm-config about CMake build directories
so that it prints a -I for both the source and build directory's
search paths.
llvm-svn: 143171
2011-10-28 01:02:16 +00:00
Jim Grosbach
080a499ee0
ARM Allow 'q' registers in VLD/VST vector lists.
...
Just treat it as if the constituent D registers where specified.
rdar://10348896
llvm-svn: 143167
2011-10-28 00:06:50 +00:00
Dan Gohman
4c9fca99c9
Remove the Alpha backend.
...
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Owen Anderson
f211416dde
Add testcase for r143162.
...
llvm-svn: 143163
2011-10-27 22:54:14 +00:00
Owen Anderson
8a6ebd085a
Add some NEON stores to the VLD decoding hook that were accidentally omitted previously.
...
llvm-svn: 143162
2011-10-27 22:53:10 +00:00
Jakob Stoklund Olesen
e5a6adceac
Also set addrmode6 alignment when align==size.
...
Previously, we were only setting the alignment bits on over-aligned
loads and stores.
llvm-svn: 143160
2011-10-27 22:39:16 +00:00
Eli Friedman
5487356336
The default alias analysis is -noaa; update the docs to reflect that. Patch by Michael Ilseman.
...
llvm-svn: 143159
2011-10-27 22:32:13 +00:00
Jim Grosbach
12a39540bb
ARM isel for vld1, opcode selection for register stride post-index pseudos.
...
llvm-svn: 143158
2011-10-27 22:25:42 +00:00
Jim Grosbach
3628c64546
Delete dead code. Nothing ever instantiates this.
...
llvm-svn: 143153
2011-10-27 21:59:17 +00:00
Owen Anderson
bf3bc1db22
Revert r143149, stubbing out symbolic disassembly support. The symbolic disassembly support is too MC-engrained to be useful in llvm-objdump.
...
llvm-svn: 143152
2011-10-27 21:55:13 +00:00
Owen Anderson
debe01c660
If we're searching for a symbol reference to pretty-print a scattered relocation address, and we don't find a symbol table entry, try section begin addresses as well.
...
llvm-svn: 143151
2011-10-27 21:53:50 +00:00
Owen Anderson
8f167d4861
Stub out support for symbol disassembly in llvm-objdump.
...
llvm-svn: 143149
2011-10-27 21:46:31 +00:00
Daniel Dunbar
bfc62b06e2
projects/sample: Switch over to imported Makefile setup.
...
- This will require you to manually reconfigure the projects/sample project (by running projects/config/sample/config.status --recheck) if you haven't updated/built since the 1st part of this commit went in.
llvm-svn: 143148
2011-10-27 21:25:09 +00:00
Evan Cheng
f4807a19e8
Avoid partial CPSR dependency from loop backedges. rdar://10357570
...
llvm-svn: 143145
2011-10-27 21:21:05 +00:00
Daniel Dunbar
a054790390
tests: Rip out a bunch of now unused test code relating to use of llvm-gcc in LLVM tests.
...
llvm-svn: 143143
2011-10-27 20:59:26 +00:00
Daniel Dunbar
f7223fcc80
tests: Remove llvm2cpp, I'm pretty sure no one uses this.
...
llvm-svn: 143142
2011-10-27 20:59:21 +00:00
Daniel Dunbar
e800a9cb70
lit: Drop some unneeded code from example tests.
...
- Also, cleanup site.exp files in example tests.
llvm-svn: 143141
2011-10-27 20:59:19 +00:00
Owen Anderson
62972f5cd3
Fix pretty printing of i386 local sect diff relocations, TLV relocations, and x86_64 TLV relocations in MachO.
...
llvm-svn: 143140
2011-10-27 20:46:09 +00:00
Peter Collingbourne
f7d1e7be55
Add a pinned metadata name for fpaccuracy, and document it
...
llvm-svn: 143135
2011-10-27 19:19:14 +00:00
Peter Collingbourne
ec9ff67e22
Document tbaa metadata in LangRef (documentation largely based on
...
comments at top of TypeBasedAliasAnalysis.cpp).
llvm-svn: 143134
2011-10-27 19:19:07 +00:00
Duncan Sands
7cb61e5a0e
Reapply commit 143028 with a fix: the problem was casting a ConstantExpr Mul
...
using BinaryOperator (which only works for instructions) when it should have
been a cast to OverflowingBinaryOperator (which also works for constants).
While there, correct a few other dubious looking uses of BinaryOperator.
Thanks to Chad Rosier for the testcase. Original commit message:
My super-optimizer noticed that we weren't folding this expression to
true: (x *nsw x) sgt 0, where x = (y | 1). This occurs in 464.h264ref.
llvm-svn: 143125
2011-10-27 19:16:21 +00:00
Stepan Dyatkovskiy
4b96dc7167
Fixed llvm-objdump uint64_t formatted output.
...
llvm-svn: 143120
2011-10-27 18:40:45 +00:00
Benjamin Kramer
652f576a70
2>&1 doesn't work here, it just creates an empty file called "&1"
...
llvm-svn: 143117
2011-10-27 18:27:45 +00:00
Pete Cooper
ce63700797
Changed test to check for correct load size instead of shift as the shift might change if optimised
...
llvm-svn: 143116
2011-10-27 18:15:58 +00:00
Jim Grosbach
305bbb7d55
Trailing whitespace.
...
llvm-svn: 143113
2011-10-27 17:44:01 +00:00
Kevin Enderby
49e6a0da7e
Change the sysexit mnemonic (and sysexitl) to never have the REX.W prefix and
...
not depend on In32BitMode. Use the sysexitq mnemonic for the version with the
REX.W prefix and only allow it only In64BitMode. rdar://9738584
llvm-svn: 143112
2011-10-27 17:40:41 +00:00
Jim Grosbach
6ed3845530
Thumb2 t2LDMDB[_UPD] assembly parsing to recognize .w suffix.
...
rdar://10348844
llvm-svn: 143110
2011-10-27 17:33:59 +00:00
Owen Anderson
f7a89d06ec
Expose relocation accessors through the libObject C API.
...
llvm-svn: 143109
2011-10-27 17:32:36 +00:00
Jim Grosbach
ba7f90c7df
Thumb2 t2MVNi assembly parsing to recognize ".w" suffix.
...
rdar://10348584
llvm-svn: 143108
2011-10-27 17:16:55 +00:00
Owen Anderson
e245af65fa
Add relocation iterators to the libObject C API.
...
llvm-svn: 143107
2011-10-27 17:15:47 +00:00
Benjamin Kramer
2aed4393b8
BlockFrequency: Use a smarter overflow check.
...
This trades one 64 bit div for one 64 bit mul and some arithmetic.
llvm-svn: 143106
2011-10-27 16:38:50 +00:00
Bob Wilson
1455ce27e4
Revert Duncan's r143028 expression folding which appears to be the culprit
...
behind a compile failure on 483.xalancbmk.
llvm-svn: 143102
2011-10-27 15:47:25 +00:00
Benjamin Kramer
9d415787ab
LLLexer: Factor hex char parsing.
...
llvm-svn: 143101
2011-10-27 14:08:01 +00:00
Nick Lewycky
d59c0cac6c
Teach our Dwarf emission to use the string pool.
...
llvm-svn: 143097
2011-10-27 06:44:11 +00:00
Eli Friedman
e9e356ad6b
Don't crash on 128-bit sdiv by constant. Found by inspection.
...
llvm-svn: 143095
2011-10-27 02:06:39 +00:00
Eli Friedman
73beaf7bbc
It is not safe to sink an alloca into a stacksave/stackrestore pair, so don't do that. <rdar://problem/10352360>
...
llvm-svn: 143093
2011-10-27 01:33:51 +00:00
Chad Rosier
d24e7e1d9b
A branch predicated on a constant can just FastEmit an unconditional branch.
...
llvm-svn: 143086
2011-10-27 00:21:16 +00:00
Lang Hames
58dba012b6
Rename NonScalarIntSafe to something more appropriate.
...
llvm-svn: 143080
2011-10-26 23:50:43 +00:00
Chad Rosier
a486f44733
Add a TODO comment. FastISel works by parsing each basic block from the bottom
...
up. Thus, improving the support for compares is goodness because it increases
the number of terminator instructions we can handle. This creates many more
opportunities for target specific fast-isel.
llvm-svn: 143079
2011-10-26 23:34:37 +00:00
Chad Rosier
78127d31f3
Factor a little more code into EmitCmp, which should have been done in the first
...
place. No functional change intended.
llvm-svn: 143078
2011-10-26 23:25:44 +00:00
Chad Rosier
eafbf3faa9
Use EmitCmp in SelectBranch. No functional change intended.
...
llvm-svn: 143076
2011-10-26 23:17:28 +00:00
Nick Lewycky
654f5ce812
Reflow lines, fix comments for doxygen style, fix whitespace. No functionality
...
change.
llvm-svn: 143074
2011-10-26 22:55:33 +00:00
Bill Wendling
a2ae87bef2
Add include-what-you-use to the External Projects list.
...
llvm-svn: 143073
2011-10-26 22:55:18 +00:00
Chad Rosier
59a201950b
Factor out an EmitCmp function that can be used by both SelectCmp and
...
SelectBranch. No functional change intended.
llvm-svn: 143072
2011-10-26 22:47:55 +00:00
Jim Grosbach
6485a7991d
Trailing whitespace.
...
llvm-svn: 143071
2011-10-26 22:44:41 +00:00
Jim Grosbach
61fdba048f
Thumb2 ldr pc-relative encoding fixes.
...
We were parsing label references to the i12 encoding, which isn't right.
They need to go to the pci variant instead.
More of rdar://10348687
llvm-svn: 143068
2011-10-26 22:22:01 +00:00
Rafael Espindola
f5a15529a7
Run test with -verify-machineinstrs.
...
Patch by Sanjoy Das.
llvm-svn: 143066
2011-10-26 21:20:26 +00:00
Rafael Espindola
b3285224cd
Fixes an issue reported by -verify-machineinstrs.
...
Patch by Sanjoy Das.
llvm-svn: 143064
2011-10-26 21:16:41 +00:00
Jim Grosbach
4e380354a9
ARM parse parenthesized expressions for label references.
...
Partial fix for rdar://10348687.
llvm-svn: 143063
2011-10-26 21:14:08 +00:00
Rafael Espindola
66393c127d
This commit introduces two fake instructions MORESTACK_RET and
...
MORESTACK_RET_RESTORE_R10; which are lowered to a RET and a RET
followed by a MOV respectively. Having a fake instruction prevents
the verifier from seeing a MachineBasicBlock end with a
non-terminator (MOV). It also prevents the rather eccentric case of a
MachineBasicBlock ending with RET but having successors nevertheless.
Patch by Sanjoy Das.
llvm-svn: 143062
2011-10-26 21:12:27 +00:00
Lang Hames
c47e283430
Make sure short memsets on ARM lower to stores, even when optimizing for size.
...
llvm-svn: 143055
2011-10-26 20:56:52 +00:00
Duncan Sands
ba286d7c73
The maximum power of 2 dividing a power of 2 is itself. This occurs
...
in 403.gcc and was spotted by my super-optimizer.
llvm-svn: 143054
2011-10-26 20:55:21 +00:00
Owen Anderson
bc14bd3bfb
Add support for scattered relocations to the MachO relocatation pretty printer.
...
llvm-svn: 143051
2011-10-26 20:42:54 +00:00
Bill Wendling
16133782dc
Some formatting changes.
...
llvm-svn: 143045
2011-10-26 18:46:16 +00:00
Nick Lewycky
1a62d78325
On an ELF system, ".debug_str" is mergeable and contains null terminated strings
...
composed of one byte characters.
llvm-svn: 143044
2011-10-26 18:44:32 +00:00
Bill Wendling
d535a6ee92
Add the blurb about the new exception handling.
...
llvm-svn: 143042
2011-10-26 18:33:01 +00:00
Bill Wendling
5ee37be14f
Add clReflect to the External Projects list.
...
llvm-svn: 143041
2011-10-26 18:23:06 +00:00
Bill Wendling
4d9c8e5f31
Add LanguageKit and Pragmatic Smalltalk to the External Projects list.
...
llvm-svn: 143040
2011-10-26 18:20:54 +00:00
Owen Anderson
90c49c037e
The order of the two symbol listings in a Macho x86_64 subtractor relocation is reversed from what seems intuitive to me.
...
llvm-svn: 143035
2011-10-26 17:28:49 +00:00
Jim Grosbach
25d4707c4d
Thumb2 remove redundant ".w" suffix from t2MVNCCi pattern.
...
llvm-svn: 143034
2011-10-26 17:28:15 +00:00
Owen Anderson
04e46b6ae4
Include the full 64 bits of relocation data in the type info for MachO relocations, so that we can recognize scattered relocations.
...
llvm-svn: 143033
2011-10-26 17:10:22 +00:00
Owen Anderson
7be76590e6
Expand relocation type field to 64 bits. MachO scattered relocations require 33 bits of type info.
...
llvm-svn: 143032
2011-10-26 17:08:49 +00:00
Owen Anderson
b92de2de71
Improve pretty printing of GOT relocations in MachO on x86_64.
...
llvm-svn: 143031
2011-10-26 17:05:20 +00:00
Duncan Sands
1d2bb9882d
My super-optimizer noticed that we weren't folding this expression to
...
true: (x *nsw x) sgt 0, where x = (y | 1). This occurs in 464.h264ref.
llvm-svn: 143028
2011-10-26 15:31:51 +00:00
Duncan Sands
dce448c642
Simplify SplitVecRes_UnaryOp by removing all the code that is
...
trying to legalize the operand types when only the result type
is required to be legalized - the type legalization machinery
will get round to the operands later if they need legalizing.
There can be a point to legalizing operands in parallel with
the result: when this saves compile time or results in better
code. There was only one case in which this was true: when
the operand is also split, so keep the logic for that bit.
As a result of this change, additional operand legalization
methods may need to be introduced to handle nodes where the
result and operand types can differ, like SIGN_EXTEND, but
the testsuite doesn't contain any tests where this is the case.
In any case, it seems better to require such methods (and die
with an assert if they doesn't exist) than to quietly produce
wrong code if we forgot to special case the node in
SplitVecRes_UnaryOp.
llvm-svn: 143026
2011-10-26 14:11:18 +00:00
Bill Wendling
fe845d5340
Add ThreadSanitizer to the External Projects list.
...
llvm-svn: 143024
2011-10-26 09:25:01 +00:00
James Molloy
dd9137aa56
Revert r142530 at least temporarily while a discussion is had on llvm-commits regarding exactly how much optsize should optimize for size over performance.
...
llvm-svn: 143023
2011-10-26 08:53:19 +00:00
Bill Wendling
39fe265e9c
Add ZooLib to the External Projects list.
...
llvm-svn: 143022
2011-10-26 07:42:45 +00:00
Bill Wendling
8fae82a196
Add the Stupid D Compiler to the External Projects list.
...
llvm-svn: 143020
2011-10-26 07:38:19 +00:00
Bill Wendling
1414bc5a14
Use a worklist to prevent the iterator from becoming invalidated because of the 'removeSuccessor' call. Noticed in a Release+Asserts+Check buildbot.
...
llvm-svn: 143018
2011-10-26 07:16:18 +00:00
Bill Wendling
c902d13653
Fix grammar.
...
llvm-svn: 143012
2011-10-26 04:24:15 +00:00