Benjamin Kramer
077ae1d760
Add definitions for AMD's bobcat (aka btver1)
...
llvm-svn: 147846
2012-01-10 11:50:02 +00:00
Sebastian Pop
99ab273a77
revert r147542 after comments from Joerg Sonnenberger
...
llvm-svn: 147608
2012-01-05 18:28:46 +00:00
Sebastian Pop
0f357d6c22
use getHostTriple instead of getDefaultTargetTriple in getClosestTargetForJIT
...
Get back getHostTriple.
For JIT compilation, use the host triple instead of the default
target: this fixes some JIT testcases that used to fail when the
compiler has been configured as a cross compiler.
llvm-svn: 147542
2012-01-04 19:47:22 +00:00
Nick Lewycky
228f5b4ba3
Conform to the style guide; remove 'else' after 'return'. Also remove an extra
...
if-statement by turning it into an assert. No functionality change.
llvm-svn: 147474
2012-01-03 20:33:00 +00:00
Benjamin Kramer
46236ee5cf
Switch StringMap from an array of structures to a structure of arrays.
...
- -25% memory usage of the main table on x86_64 (was wasted in struct padding).
- no significant performance change.
llvm-svn: 147294
2011-12-27 20:35:07 +00:00
Dylan Noblesmith
9e5b178ecc
drop unneeded config.h includes
...
llvm-svn: 147197
2011-12-22 23:04:07 +00:00
Eli Friedman
2aae94fa70
Fix APInt::rotl and APInt::rotr so that they work correctly. Found while writing some code that tried to use them.
...
llvm-svn: 147134
2011-12-22 03:15:35 +00:00
Manuel Klimek
25eb0ac418
Changes the JSON parser to use the SourceMgr.
...
Diagnostics are now emitted via the SourceMgr and we use MemoryBuffer
for buffer management. Switched the code to make use of the trailing
'0' that MemoryBuffer guarantees where it makes sense.
llvm-svn: 147063
2011-12-21 18:16:39 +00:00
Manuel Klimek
fe198ced31
Fixes a potential compilation error.
...
Pulling the template implementation into the header to guarantee
that it's visible to all possible instantiations.
llvm-svn: 146973
2011-12-20 11:04:23 +00:00
Manuel Klimek
47151c37b6
Pulls the implementation of skip() into JSONParser.
...
This is the first step towards migrating more of the parser
implementation into the parser class.
llvm-svn: 146971
2011-12-20 10:42:52 +00:00
Manuel Klimek
f8d73192cc
Addressing style issues in JSON parser.
...
llvm-svn: 146968
2011-12-20 09:26:26 +00:00
Chandler Carruth
e805b16e3d
Fix up the CMake build for the new files added in r146960, they're
...
likely to stay either way that discussion ends up resolving itself.
llvm-svn: 146966
2011-12-20 08:42:11 +00:00
David Blaikie
a379b18173
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Dylan Noblesmith
1c419ff50d
APInt: update asserts for base-36
...
Hexatridecimal was added in r139695.
And fix the unittest that now triggers the assert.
llvm-svn: 146754
2011-12-16 20:36:31 +00:00
Manuel Klimek
2c899a181c
Adds a JSON parser and a benchmark (json-bench) to catch performance regressions.
...
llvm-svn: 146735
2011-12-16 13:09:10 +00:00
Michael J. Spencer
4f8a832c19
Support/FileSystem: Add file_magic and move a vew clients over to it.
...
llvm-svn: 146523
2011-12-13 23:17:12 +00:00
Michael J. Spencer
a2755f8efa
Support/Program: Make Change<stream>ToBinary return error_code.
...
llvm-svn: 146522
2011-12-13 23:16:49 +00:00
Michael J. Spencer
7dfbeda68e
Cleanup whitespace.
...
llvm-svn: 146521
2011-12-13 23:16:15 +00:00
Tony Linthicum
1213a7a57f
Hexagon backend support
...
llvm-svn: 146412
2011-12-12 21:14:40 +00:00
Daniel Dunbar
27a7489a03
LLVMBuild: Remove trailing newline, which irked me.
...
llvm-svn: 146409
2011-12-12 19:48:00 +00:00
Chad Rosier
531042840d
Revert r146363 to allow buildbots to make forward progress.
...
Original commit message:
Support/FileSystem: Implement canonicalize.
llvm-svn: 146378
2011-12-12 17:58:31 +00:00
Michael J. Spencer
203d7807a8
Support/FileSystem: Implement bool equivalent(file_status A, file_status B);
...
llvm-svn: 146364
2011-12-12 06:04:28 +00:00
Michael J. Spencer
32ef4d2e1b
Support/FileSystem: Implement canonicalize.
...
llvm-svn: 146363
2011-12-12 06:04:01 +00:00
Michael J. Spencer
513f1b666f
Support/Windows: Cleanup scoped handles.
...
llvm-svn: 146362
2011-12-12 06:03:33 +00:00
Michael J. Spencer
0a7625d661
Support/FileSystem: Implement recursive_directory_iterator and make
...
directory_iterator preserve InputIterator semantics on copy.
llvm-svn: 146200
2011-12-08 22:50:09 +00:00
David Blaikie
421caa4278
Adding missing anchor to DATDeltaAlgorithm.
...
llvm-svn: 146025
2011-12-07 06:44:23 +00:00
Nick Lewycky
897a57ecda
Silence tsan false-positives (tsan can't track things which are only safe due to
...
memory fences) in statistics registration, which works the same way that
ManagedStatic registration does.
llvm-svn: 145869
2011-12-05 23:07:05 +00:00
David Blaikie
54c9462c77
Fix unreachable return & simplify some branches.
...
llvm-svn: 145627
2011-12-01 20:58:30 +00:00
Benjamin Kramer
3ced545ccf
Autodetect bulldozers.
...
llvm-svn: 145607
2011-12-01 18:24:17 +00:00
David Blaikie
3a15e14520
Add some missing anchors.
...
llvm-svn: 145578
2011-12-01 08:00:17 +00:00
NAKAMURA Takumi
64404a3b2c
[Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver.
...
clang/lib/Driver/Driver.cpp: Don't pass through negative exit status, or parent would be confused.
llvm::sys::Program::Wait(): Suppose 0x8000XXXX and 0xC000XXXX as abnormal exit code and pass it as negative value.
Win32 Exception Handler: Exit with ExceptionCode on an unhandle exception.
llvm-svn: 145389
2011-11-29 07:47:04 +00:00
Nick Lewycky
76c6299f88
Don't define these unless we plan to use them.
...
llvm-svn: 145289
2011-11-28 22:14:02 +00:00
Eli Friedman
31f0116173
Add back a line I deleted by accident in r145141. Fixes uninitialized variable warnings and runtime failures.
...
llvm-svn: 145256
2011-11-28 18:50:37 +00:00
Dylan Noblesmith
efddf20126
rename ENABLE_THREADS to LLVM_ENABLE_THREADS
...
Now that it needs to be exported in a public header (Valgrind.h)
it should be prefixed to avoid collision with other projects.
Add it to llvm-config.h as well.
This'll require regenerating the configure script after this
commit, but I don't have the required autoconf version.
llvm-svn: 145214
2011-11-28 00:48:58 +00:00
Eli Friedman
a84ad7d0d0
Fix APFloat::convert so that it handles narrowing conversions correctly; it
...
was returning incorrect values in rare cases, and incorrectly marking
exact conversions as inexact in some more common cases. Fixes PR11406, and a
missed optimization in test/CodeGen/X86/fp-stack-O0.ll.
llvm-svn: 145141
2011-11-26 03:38:02 +00:00
Benjamin Kramer
6709e05012
Make ConstantRange::truncate a bit more efficient.
...
llvm-svn: 145122
2011-11-24 17:24:33 +00:00
Richard Smith
4f9a8081c3
Correctly byte-swap APInts with bit-widths greater than 64.
...
llvm-svn: 145111
2011-11-23 21:33:37 +00:00
Benjamin Kramer
e1effb0da2
Add configure checking for pread(2) and use it to save a syscall when reading files.
...
llvm-svn: 145061
2011-11-22 12:31:53 +00:00
Benjamin Kramer
f22623b78b
Turn error recovery into an assert.
...
This was put in because in a certain version of DragonFlyBSD stat(2) lied about the
size of some files. This was fixed a long time ago so we can remove the workaround.
llvm-svn: 145059
2011-11-22 11:37:11 +00:00
Nick Lewycky
6804d27048
Move WEAK marking to the declaration.
...
llvm-svn: 144603
2011-11-15 01:23:22 +00:00
Nick Lewycky
b2489b7484
Fix linking for some users who already have tsan enabled code and are trying to
...
link it against llvm code, by making our definitions weak. "Some users."
llvm-svn: 144596
2011-11-15 00:14:04 +00:00
Nick Lewycky
fe856110aa
Add support for tsan annotations (thread sanitizer, a valgrind-based tool).
...
These annotations are disabled entirely when either ENABLE_THREADS is off, or
building a release build. When enabled, they add calls to functions with no
statements to ManagedStatic's getters.
Use these annotations to inform tsan that the race used inside ManagedStatic
initialization is actually benign. Thanks to Kostya Serebryany for helping
write this patch!
llvm-svn: 144567
2011-11-14 20:50:16 +00:00
Benjamin Kramer
e3b94d1b55
Fix a typo.
...
llvm-svn: 143890
2011-11-06 20:36:50 +00:00
Daniel Dunbar
3fa528d67c
ADT/StringRef: Add ::lower() and ::upper() methods.
...
llvm-svn: 143880
2011-11-06 18:04:43 +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
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
bf9bba47a1
build: Add initial cut at LLVMBuild.txt files.
...
llvm-svn: 143634
2011-11-03 18:53:17 +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
Eli Friedman
39df70c33a
Remove a couple unused methods. PR11201.
...
llvm-svn: 143452
2011-11-01 05:11:01 +00:00
Dan Gohman
4c9fca99c9
Remove the Alpha backend.
...
llvm-svn: 143164
2011-10-27 22:56:32 +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
Dan Gohman
b43c36f391
Remove the Blackfin backend.
...
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman
dfc96aea90
Remove the SystemZ backend.
...
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
NAKAMURA Takumi
66c9e4ffd5
Windows/Path.inc: [PR8460] Get rid of ScopedNullTerminator. Thanks to Zvi Rackover!
...
llvm-svn: 142785
2011-10-24 03:27:19 +00:00
Benjamin Kramer
cc0ed6ba04
Print branch probabilities as percentages.
...
50% is much more readable than 5.000000e-01.
llvm-svn: 142752
2011-10-23 11:32:54 +00:00
Benjamin Kramer
929f53f65c
Add compare operators to BranchProbability and use it to determine if an edge is hot.
...
llvm-svn: 142751
2011-10-23 11:19:14 +00:00
Anton Korobeynikov
b27f11e01d
Fix build on mingw-w64.
...
Patch by Ruben Van Boxem!
llvm-svn: 142646
2011-10-21 09:38:50 +00:00
David Meyer
a93b4bc98c
Remove unused include of sys/uio.h in MemoryBuffer.cpp. It was not correctly protected by ifdef either.
...
llvm-svn: 142623
2011-10-20 21:57:46 +00:00
Benjamin Kramer
e664de33b1
Fix handling of the From parameter in StringRef::find.
...
Enable bounds checking to catch this kind of bug earlier.
llvm-svn: 142247
2011-10-17 20:49:40 +00:00
Benjamin Kramer
cc863b2bb6
Let printf do the formatting instead aligning strings ourselves.
...
While at it, merge some format strings.
llvm-svn: 142140
2011-10-16 16:30:34 +00:00
Chris Lattner
7284526aff
remove the dead 'ShowLine' argument from SMDiagnostic.
...
llvm-svn: 142108
2011-10-16 05:47:55 +00:00
Chris Lattner
03b80a4027
Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a
...
string, pass it around as an enum.
llvm-svn: 142107
2011-10-16 05:43:57 +00:00
Chris Lattner
a3a0681083
Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance
...
the X86 asmparser to produce ranges in the one case that was annoying me, for example:
test.s:10:15: error: invalid operand for instruction
movl 0(%rax), 0(%edx)
^~~~~~~
It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use
ranges where appropriate if someone is interested.
llvm-svn: 142106
2011-10-16 04:47:35 +00:00
Benjamin Kramer
4d681d7dc4
Add a bad char heuristic to StringRef::find.
...
Based on Horspool's simplified version of Boyer-Moore. We use a constant-sized table of
uint8_ts to keep cache thrashing low, needles bigger than 255 bytes are uncommon anyways.
The worst case is still O(n*m) but we do a lot better on the average case now.
llvm-svn: 142061
2011-10-15 10:08:31 +00:00
NAKAMURA Takumi
ea97a05fc5
Revert r142046, "Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the triple"
...
It extremely breaks builds when optimization is enabled. Twine should not hold temporary objects.
By the way, I might feel sad if I saw "i786-" "i1586-" or "iF86-".
llvm-svn: 142055
2011-10-15 04:29:36 +00:00
Chad Rosier
559b8f2ae9
Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the triple
...
from config.h, it discovers the triple based on the execution environment.
Patch by Aaron Ballman <aaron@aaronballman.com>
llvm-svn: 142046
2011-10-15 02:10:06 +00:00
NAKAMURA Takumi
7bc976a8ef
Windows/Memory.inc: Support the ability to allocate memory "near" another block of memory on Win32. It has fixed FIXME.
...
Thanks to Aaron Ballman!
llvm-svn: 142039
2011-10-15 01:58:16 +00:00
Michael J. Spencer
a7a90bfdab
Support/Windows: Add support modifying memory permissions on Windows. Patch by Aaron Ballman!
...
llvm-svn: 141910
2011-10-13 23:16:01 +00:00
Michael J. Spencer
0084615924
Support/Windows: Add efficent RW mutex on Windows. Patch by Aaron Ballman!
...
llvm-svn: 141907
2011-10-13 23:10:56 +00:00
Eli Friedman
53ba208c72
Avoid undefined behavior in signed integer negation. Patch by Ahmed Charles.
...
llvm-svn: 141905
2011-10-13 22:49:56 +00:00
Eli Friedman
d433042388
Fix APFloat::getSmallestNormalized so the shift doesn't depend on undefined behavior. Patch from Ahmed Charles.
...
llvm-svn: 141818
2011-10-12 21:56:19 +00:00
Eli Friedman
c53220134a
Fix APFloat::getLargest so that it actually returns the correct value. Found by accident while reviewing a patch to nearby code.
...
llvm-svn: 141816
2011-10-12 21:51:36 +00:00
Daniel Dunbar
037fc9311a
Clean up a few references to System/. We still have docs/SystemLibrary.html
...
lying around...
llvm-svn: 141703
2011-10-11 20:02:52 +00:00
Bruno Cardoso Lopes
cc6659b2ae
The Mips specific function for instruction cache invalidation cannot be
...
compiled on mips32r1 processors because it uses synci and rdhwr instructions
which are supported only on mips32r2, so I replaced this function with the
call to function cacheflush which works for both mips32r1 and mips32r2.
Patch by Sasa Stankovic
llvm-svn: 141564
2011-10-10 18:41:02 +00:00
Eli Friedman
195464184e
Fix APInt::operator*= so that it computes the correct result for large integers where there is unsigned overflow. Fix APFloat::toString so that it doesn't depend on the incorrect behavior in common cases (and computes the correct result in some rare cases). Fixes PR11086.
...
llvm-svn: 141441
2011-10-07 23:40:49 +00:00
Eric Christopher
c4b9b526ba
Add more initializers to quiet a clang warning.
...
llvm-svn: 141163
2011-10-05 05:00:26 +00:00
Nick Lewycky
f66daac2f5
Fix typo in comments.
...
llvm-svn: 141032
2011-10-03 21:30:08 +00:00
Michael J. Spencer
44a36c872e
Add Windows x64 stack walking support. Patch by Aaron Ballman!
...
llvm-svn: 140906
2011-10-01 00:05:20 +00:00
Jakob Stoklund Olesen
c874e2d8fb
Fix a bug in compare_numeric().
...
Thanks to Alexandru Dura and Jonas Paulsson for finding it.
llvm-svn: 140859
2011-09-30 17:03:55 +00:00
Chad Rosier
bf415251df
These symbols appear to be visible by SearchForAddressOfSymbol and no longer
...
require special case handling.
rdar://10117377
llvm-svn: 140629
2011-09-27 20:01:41 +00:00
Daniel Dunbar
9b92e2be30
sys::Process: Add a SetWorkingDirectory method.
...
llvm-svn: 140433
2011-09-23 23:23:36 +00:00
Richard Trieu
a318b8dce6
Change:
...
assert(!"error message");
To:
assert(0 && "error message");
which is more consistant across the code base.
llvm-svn: 140234
2011-09-21 03:09:09 +00:00
Bob Wilson
49621cb209
Remove the hack to check UNAME_RELEASE when identifying the Darwin version.
...
This was only needed to locate llvm-gcc's installation directory when clang
falls back to run llvm-gcc for i386 kexts. As of clang svn r140187, we're
now just searching paths with several different Darwin versions on either
side of the current version, so this is no longer needed.
llvm-svn: 140188
2011-09-20 22:05:56 +00:00
Douglas Gregor
c98ac850eb
U is good enough
...
llvm-svn: 140166
2011-09-20 18:33:29 +00:00
Douglas Gregor
e4e20f43e4
Eliminate sign-comparison warnings in APInt
...
llvm-svn: 140158
2011-09-20 18:11:52 +00:00
Akira Hatanaka
6c3ad65288
Add mips64 & mips64el to Triple. Patch by Liu with modifications.
...
llvm-svn: 140157
2011-09-20 18:09:37 +00:00
Eric Christopher
4418a60272
Rename LLVM_MULTITHREADED define and fix build without threads.
...
Patch by Arrowdodger.
llvm-svn: 140064
2011-09-19 20:43:23 +00:00
Benjamin Kramer
c20a3ebba0
Silence -Wsign-compare warnings from GCC.
...
llvm-svn: 140043
2011-09-19 20:08:54 +00:00
NAKAMURA Takumi
dbd883b915
Add Win32 support to llvm::llvm_execute_on_thread(). Thanks to Aaron Ballman!
...
llvm-svn: 140011
2011-09-19 07:41:43 +00:00
Eli Friedman
f67d3ff8f3
Fix a minor bug in fs::create_directories. Patch by Albert Wong.
...
llvm-svn: 139928
2011-09-16 18:36:31 +00:00
Ivan Krasin
639222d090
use 64-bit types instead of off_t/size_t to avoid the issue when
...
gold plugin is built with Large File Support (sizeof(off_t) == 64 on i686)
and the rest of LLVM is built w/o Large File Support
(sizeof(off_t) == 32 on i686) which corrupts the stack.
llvm-svn: 139873
2011-09-15 23:13:00 +00:00
Benjamin Kramer
49fc9ddae6
CommandLine: Add support for 64 bit unsigned integer options.
...
llvm-svn: 139848
2011-09-15 21:17:37 +00:00
Nick Lewycky
ee674b3e3b
Add some more DWARF extensions from:
...
1. http://gcc.gnu.org/wiki/TemplateParmsDwarf
2. ftp://ftp.software.ibm.com/software/os390/czos/dwarf/mips_extensions.pdf
llvm-svn: 139784
2011-09-15 05:21:03 +00:00
Nick Lewycky
34368124aa
Update Dwarf enums list for DWARF 4.
...
Note that DW_TAG_rvalue_reference_type is officially 0x42, not 0x41.
llvm-svn: 139779
2011-09-15 04:23:44 +00:00
Douglas Gregor
8b74454619
Update the comment for system_temp_directory() to indicate when it
...
will ignore the erasedOnReboot option, and properly escape the
backslash in "C:\TEMP". Thanks to Aaron and Francois.
llvm-svn: 139755
2011-09-14 23:21:47 +00:00
Bill Wendling
bdaa57fe6d
Include limits.h to make sure PATH_MAX is known on Solaris 10.
...
Patch by Joakim Johansson!
llvm-svn: 139743
2011-09-14 21:49:42 +00:00
Douglas Gregor
123dc70c50
Add a simple routine to determine the typical system directory for
...
temporary data.
llvm-svn: 139725
2011-09-14 20:27:01 +00:00
Douglas Gregor
663c068d46
Add APInt support for converting to/from hexatridecimal strings
...
llvm-svn: 139695
2011-09-14 15:54:46 +00:00
Bruno Cardoso Lopes
483c269a33
One more patch towards JIT support for Mips.
...
- Add TSFlags for the instruction formats. The idea here is to use
as much encoding as possible from getBinaryCodeForInstr, and having
TSFLags formats for that would make it easier to encode most part
of the instructions (since Mips encodings are pretty straightforward)
- Improve the mips mechanism for compilation callback
- Add Mips specific code for invalidating the instruction cache
- Next patch will address wrong tablegen encoding
Commit msg added by my own but the patch is from Sasa Stankovic.
llvm-svn: 139688
2011-09-14 03:00:41 +00:00
Benjamin Kramer
91ead3c1f5
Remove unimplemented function prototypes from PathV2. They can be readded when someone cares enough.
...
Patch by Aaron Ballman!
llvm-svn: 139682
2011-09-14 01:14:36 +00:00
Benjamin Kramer
557a81e9d7
ObjectFile: Add support for mach-o-style dSYM companion files.
...
llvm-svn: 139676
2011-09-14 00:39:22 +00:00
Benjamin Kramer
88a1d9fc00
Add the DataExtractor utility class.
...
It is an endian-aware helper that can read data from a StringRef. It will
come in handy for DWARF parsing. This class is inspired by LLDB's
DataExtractor, but is stripped down to the bare minimum needed for DWARF.
Comes with unit tests!
llvm-svn: 139626
2011-09-13 19:42:16 +00:00
Devang Patel
b5a07abe94
Add DW_ATE_UTF, which clang started using in my previous commit!
...
llvm-svn: 139503
2011-09-12 17:18:20 +00:00
Tobias Grosser
516dbb24b5
Add AMDIL as valid target triple to LLVM.
...
Submitted by: Villmow, Micah <Micah.Villmow@amd.com>
llvm-svn: 138734
2011-08-29 15:44:55 +00:00
Nick Lewycky
7bfd86d046
Fix integer overflow bug in raw_ostream::write. This showed up as a
...
non-deterministic crash in the test suite. Fixes PR10055!
llvm-svn: 138717
2011-08-28 03:30:02 +00:00
Benjamin Kramer
5ff961c376
Report failure if there are less bytes than requested in a MemoryObject.
...
Before we just left the remaining bytes uninitialized. This is another step in making llvm valgrind-clean again.
llvm-svn: 138705
2011-08-27 07:45:46 +00:00
Benjamin Kramer
5a122f37fe
Intel family 6 model 44 is Gulftown/Westmere-EP and doesn't have AVX.
...
llvm-svn: 138573
2011-08-25 18:05:56 +00:00
Evan Cheng
2bb4035707
Move TargetRegistry and TargetSelect from Target to Support where they belong.
...
These are strictly utilities for registering targets and components.
llvm-svn: 138450
2011-08-24 18:08:43 +00:00
Ivan Krasin
771ef8c66a
This patch adds support of le32 pseudo-cpu that stands for generic
...
32-bit little-endian CPU. Used by PNaCl and Emscripten.
llvm-svn: 138335
2011-08-23 16:59:00 +00:00
NAKAMURA Takumi
fd6cb64c48
lib/Support/Windows/Windows.h: Update required IE ver. 0x0600 should be enough for Windows XP.
...
llvm-svn: 138319
2011-08-23 03:49:11 +00:00
Ivan Krasin
b296790bb6
Add NativeClient support to Triple::ParseOS.
...
llvm-svn: 138291
2011-08-22 23:08:53 +00:00
Jordy Rose
5765f4c24c
Make DynamicLibrary thread-safe w/r/t call to dlerror() after dlopen(). PR10718
...
llvm-svn: 138260
2011-08-22 19:01:52 +00:00
Benjamin Kramer
58994ec9b9
PathV2: Handle more reserved filenames on windows.
...
Patch by Aaron Ballman!
llvm-svn: 138213
2011-08-20 21:36:38 +00:00
NAKAMURA Takumi
1eae12cc9f
lib/Support/CrashRecoveryContext.cpp: Add Win32 support to CrashRecoveryContext. Thanks to Aaron Ballman!
...
llvm-svn: 138199
2011-08-20 06:35:36 +00:00
NAKAMURA Takumi
613655f89c
lib/Support/Windows/Windows.h: Require at least Windows XP(5.1) API. We will not support Windows 2000 any more.
...
llvm-svn: 138198
2011-08-20 06:35:31 +00:00
Ivan Krasin
44306e2e5f
Add NativeClient operating system support.
...
This patch adds support of NativeClient (*-*-nacl) OS support to LLVM.
It's already supported in autoconf/config.sub.
The motivation for this change is to start upstreaming PNaCl work. The
whole set of patches include llvm backends (i686, x86_64, ARM),
llvm-gcc (probably, would not be upstreamed because it's deprecated)
and clang (the work has been just started, the amount of changes is
going to be low and the most of the work is expected to be done close
to the mainline).
llvm-svn: 138005
2011-08-18 22:54:21 +00:00
Jordy Rose
04bc405a29
Static fields require an out-of-line definition. Fix DynamicLibrary for real.
...
llvm-svn: 137844
2011-08-17 18:38:42 +00:00
Jordy Rose
1a3ca9201a
Unbork Windows build. Thanks, Francois.
...
llvm-svn: 137798
2011-08-17 00:59:50 +00:00
Jordy Rose
a19917da7c
Use DynamicLibrary instances as a way to get symbols from a specific library. Preparation for upcoming (preliminary) support for plugins for the static analyzer.
...
llvm-svn: 137791
2011-08-17 00:29:32 +00:00
Duncan Sands
a41634e307
Silence a bunch (but not all) "variable written but not read" warnings
...
when building with assertions disabled.
llvm-svn: 137460
2011-08-12 14:54:45 +00:00
Bob Wilson
527bd07934
Clarify a comment.
...
llvm-svn: 137204
2011-08-10 05:02:22 +00:00
Bob Wilson
f60d6df887
Put Darwin-specific code inside an __APPLE__ ifdef.
...
llvm-svn: 137137
2011-08-09 19:54:32 +00:00
Bob Wilson
de9ec45e5a
Recognize the UNAME_RELEASE environment variable to match Darwin's uname.
...
When this variable is set, "uname -r" will return its value instead of the
real OS version. Make this affect LLVM's triple for consistency.
<rdar://problem/9919167>
llvm-svn: 137111
2011-08-09 05:13:36 +00:00
Sean Callanan
147c83ed4d
Added several architecture names.
...
llvm-svn: 136552
2011-07-30 01:29:54 +00:00
Nick Lewycky
9ee5f77141
Don't look at $PWD in GetCurrentDirectory.
...
llvm-svn: 136477
2011-07-29 18:26:59 +00:00
Nick Lewycky
38b9b568b9
Teach Path::GetCurrentDirectory to use $PWD, to support users who like to do
...
screwy things by setting PWD != getcwd(). For example, some developers I know
will use this to control the value in gcc's DW_AT_comp_dir value in debug
output. With this patch, that trick will now work on clang too.
The only other effect of this change is that the static analysis will now
respect $PWD when reporting the directory of the files in its HTML output. I
think that's fine.
llvm-svn: 136459
2011-07-29 04:42:39 +00:00
Argyrios Kyrtzidis
348937de07
Add an optional 'bool makeAbsolute' in llvm::sys::fs::unique_file function.
...
If true and 'model' parameter is not an absolute path, a temp directory will be prepended.
Make it true by default to match current behaviour.
llvm-svn: 136310
2011-07-28 00:29:20 +00:00
Jakub Staszak
9b8a6a3b2b
Optimize 96-bit division a little bit.
...
llvm-svn: 136222
2011-07-27 16:00:40 +00:00
Jakub Staszak
a9e8aa0482
Move static methods to the anonymous namespace.
...
llvm-svn: 136221
2011-07-27 15:51:51 +00:00
Frits van Bommel
ec9cd83905
Trim includes.
...
llvm-svn: 136218
2011-07-27 15:20:06 +00:00
Duncan Sands
fe44f67d43
Teach the Triple class about kfreebsd (FreeBSD kernel with
...
a GNU userspace).
llvm-svn: 136085
2011-07-26 15:30:04 +00:00
Jakub Staszak
e92d047b51
BranchProbability::print returns void now.
...
llvm-svn: 135994
2011-07-25 22:27:42 +00:00
Jakub Staszak
49993f26bf
Add BlockFrequency class.
...
llvm-svn: 135992
2011-07-25 22:24:51 +00:00
Chris Lattner
d757d3f5c2
switch Triple to take twines instead of stringrefs.
...
llvm-svn: 135889
2011-07-24 20:45:08 +00:00
Chris Lattner
9650f0678c
Add Twine support for characters, and switch twine to use a union internally
...
to eliminate some casting.
llvm-svn: 135888
2011-07-24 20:44:30 +00:00
Chandler Carruth
43025a0869
Move TargetRegistry.cpp from lib/Support to lib/Target where it belongs.
...
The header file was already properly located. The previous need for it
in Support had to do with the version string printing which was fixed in
r135757.
Also update build dependencies where libraries that needed the
functionality of the Target library (in the form of the TargetRegistry)
were picking it up via Support. This is pretty pervasive, essentially
every TargetInfo library (ARMInfo, etc) uses TargetRegistry, making it
depend on Target. All of these were previously just sneaking by.
llvm-svn: 135760
2011-07-22 08:16:53 +00:00
Chandler Carruth
2d71c421f9
Move the registered target printing in version strings completely out of
...
the Support library. Now its part of the TargetRegistry, and the three
commands that care about this explicitly register this extra bit of
version information.
The set of commands which care was computed by intersecting those which
use the Support library's version string printing and those that
initialize all the registered targets in a way that produces
a meaningful list. The only odd ball out is that 'clang -cc1as -version'
no longer prints the registered targets. I don't think anyone is really
interested in that (especially as the fact that llvm-mc does so is under
a FIXME), but if someone really does want this back I'll happily apply
the same patch there.
llvm-svn: 135757
2011-07-22 07:50:48 +00:00
Chandler Carruth
2baac02c94
Move the logic for printing the registered targets into a static
...
function on the TargetRegistry. Also clean it up and use the modern LLVM
utility libraries available instead of rolling a few things manually.
llvm-svn: 135756
2011-07-22 07:50:44 +00:00
Chandler Carruth
ea7e55272c
Add an extension point to the CommandLine library where clients can
...
register extra version information to be printed. This is designed to
allow those tools which link in various targets to also print those
registered targets under --version.
Currently this printing logic is embedded into the Support library
directly; a huge layering violation. This is the first step to hoisting
it out into the tools without adding lots of duplicated code.
llvm-svn: 135755
2011-07-22 07:50:40 +00:00
NAKAMURA Takumi
af8d50ddb3
lib/Support/Triple.cpp: Recognize "-march=ppc32" to llc properly, as quick hack.
...
FIXME: There is an inconsistency. llvm::Triple does not understand "ppc32" and PowerPC/TargetInfo holds "ppc32".
llvm-svn: 135745
2011-07-22 04:02:22 +00:00
Chris Lattner
5cf753c95e
move tier out of an anonymous namespace, it doesn't make sense
...
to for it to be an an anon namespace and be in a header.
Eliminate some extraenous uses of tie.
llvm-svn: 135669
2011-07-21 06:21:31 +00:00
Jeffrey Yasskin
7a16288157
Add APInt(numBits, ArrayRef<uint64_t> bigVal) constructor to prevent future ambiguity
...
errors like the one corrected by r135261. Migrate all LLVM callers of the old
constructor to the new one.
llvm-svn: 135431
2011-07-18 21:45:40 +00:00
Benjamin Kramer
2b8cb92209
Simplify & microoptimize code. No intended functionality change.
...
llvm-svn: 135364
2011-07-18 00:00:20 +00:00
Frits van Bommel
f8bf4c213a
In Twine::str(), if the Twine stores only a std::string, just return a direct copy of that instead of first copying to a SmallString and converting that to a std::string. Also fix some indentation.
...
llvm-svn: 135267
2011-07-15 11:05:37 +00:00
Chandler Carruth
1bf4a30d4d
Explicitly cast the second argument to unsigned in order to select the
...
desired overload.
This is a bit of a hackish workaround to fix the compile after r135259.
Let me know if there is a better approach.
llvm-svn: 135261
2011-07-15 07:31:10 +00:00
Jeffrey Yasskin
03b81a2eb4
Add an APFloat::convertToInt(APSInt) function that automatically manages the
...
memory for the result.
llvm-svn: 135259
2011-07-15 07:04:56 +00:00
NAKAMURA Takumi
ee24d32071
Windows/DynamicLibrary.inc: Fix trivial warnings. Thanks to John Myers!
...
llvm-svn: 134812
2011-07-09 08:41:20 +00:00
Bob Wilson
d0f0600b49
Update comments for SandyBridge CPU identifiers.
...
llvm-svn: 134759
2011-07-08 22:33:59 +00:00
Bob Wilson
eff24111b9
Recognize Intel CPUs with Family=6 and Model=44.
...
According to Intel Application Note 485, this value is used for
"Intel Core i7 and Intel Xeon processor". Just include it with the other
"corei7-avx" entries.
llvm-svn: 134750
2011-07-08 22:09:35 +00:00
Joerg Sonnenberger
e0cbf7409c
Recognize mipseb as alias for mips for symmetry with mipsel.
...
llvm-svn: 134617
2011-07-07 16:53:52 +00:00
Eli Friedman
499647bfc3
Fix missing triple support for RTEMS target.
...
llvm-svn: 134532
2011-07-06 20:56:26 +00:00
Chad Rosier
30c3463309
By default mkstemp() creates a temporary file with mode 0600, but the mode
...
used for open is 0666. Therefore, add the necessary permission bits for
consistency.
rdar://8621462
llvm-svn: 134430
2011-07-05 18:55:31 +00:00
Duncan Sands
a1c44332e5
Revert previous commit. It seems that whether casting to void
...
is valid or not depends on which system you build.
llvm-svn: 134321
2011-07-02 13:14:22 +00:00
Duncan Sands
dda99eef54
Supress gcc-4.5 warning about the result not being used.
...
llvm-svn: 134319
2011-07-02 13:06:23 +00:00
Douglas Gregor
de3c92674e
Add initial *-*-rtems* target, from Joel Sherrill
...
llvm-svn: 134282
2011-07-01 22:41:06 +00:00
Nick Lewycky
5dc6b794b1
Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang!
...
llvm-svn: 133648
2011-06-22 21:13:46 +00:00
Ted Kremenek
b05f02e956
add option for literal formatting to APInt::toString()
...
toString() now takes an optional bool argument that,
depending on the radix, adds the appropriate prefix
to the integer's string representation that makes it into a
meaningful C literal, e.g.:
hexademical: '-f' becomes '-0xf'
octal: '77' becomes '077'
binary: '110' becomes '0b110'
Patch by nobled@dreamwidth.org !
llvm-svn: 133032
2011-06-15 00:51:55 +00:00
Evan Cheng
871b71247b
Aliased flag options should be directed to stdout, not stderr to be consistent. Patch by Julien Lerouge.
...
llvm-svn: 132931
2011-06-13 20:45:54 +00:00
Andrew Trick
3d4e64b082
Branch profiling: floating-point avoidance.
...
Patch by: Jakub Staszak!
Introduces BranchProbability. Changes unsigned to uint32_t all over and
uint64_t only when overflow is expected.
llvm-svn: 132867
2011-06-11 01:05:22 +00:00
Chris Lattner
889c40e2e1
add another sandybridge alias.
...
llvm-svn: 132772
2011-06-09 06:38:17 +00:00
Zhongxing Xu
3e4abe5470
singed int causes signed extension, which contradicts the intention to pick up
...
integers with high 32 bits being zero.
llvm-svn: 132538
2011-06-03 08:29:51 +00:00
Joerg Sonnenberger
af5f23ee07
Add new -d option to tblgen. It writes a make(1)-style dependency file.
...
llvm-svn: 132395
2011-06-01 13:10:15 +00:00
John McCall
be6d0c0aea
...this is not a good commit day for me.
...
llvm-svn: 132294
2011-05-29 19:44:55 +00:00
John McCall
085d891d80
On Darwin ARM, set the UNWIND_RESUME libcall to _Unwind_SjLj_Resume.
...
This is important for the correct lowering of unwind instructions
(which doesn't matter at all) and llvm.eh.resume calls (which does).
llvm-svn: 132291
2011-05-29 19:39:04 +00:00
Chris Lattner
9f1d2ded13
fix a bug for hosts without round, PR8893.
...
llvm-svn: 131842
2011-05-22 06:03:53 +00:00
Chris Lattner
6078926e26
random comment cleanups.
...
llvm-svn: 131829
2011-05-22 00:50:53 +00:00
Andrew Trick
d5d0764b3b
Have Program::Wait return -2 for crashed and timeouts instead of embedding
...
info in the error message. Per Dan's request.
llvm-svn: 131780
2011-05-21 00:56:46 +00:00
Benjamin Kramer
0bf26746d9
Rename the "sandybridge" subtarget to "corei7-avx", for GCC compatibility.
...
llvm-svn: 131730
2011-05-20 15:11:26 +00:00
Rafael Espindola
f1bda7c90c
Revert my previous patch. The cmake build had already been fixed.
...
llvm-svn: 131606
2011-05-19 00:02:45 +00:00
Rafael Espindola
efbdd80d77
Fix the cmake build.
...
llvm-svn: 131602
2011-05-18 23:56:40 +00:00
Eli Friedman
d1b0f0f1b8
Shuffle StandardPasses.cpp into VMCore; add it to CMake.
...
llvm-svn: 131600
2011-05-18 23:51:11 +00:00
Eli Friedman
fadb03d6cc
Third pass at allowing plugins to modify default passes. This time with a tweak so that we don't depend on an uninitialized argument.
...
llvm-svn: 131581
2011-05-18 21:40:04 +00:00
Eli Friedman
65816ac54d
Revert r131556; it's breaking buildbots/clang tests.
...
llvm-svn: 131567
2011-05-18 20:39:27 +00:00
David Chisnall
13c90786e1
Second pass at allowing plugins to modify default passes. This time without bonus inter-library dependencies.
...
llvm-svn: 131556
2011-05-18 19:00:41 +00:00
Rafael Espindola
0693182265
Don't include information about the build into the information returned by
...
getHostTriple. This fixes a 32 bit clang running on a 64 bit ubuntu.
llvm-svn: 131463
2011-05-17 15:26:34 +00:00
Devang Patel
12419aee7a
Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.
...
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g
llvm-svn: 131244
2011-05-12 21:29:42 +00:00
Devang Patel
2409e7843b
Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension.
...
llvm-svn: 131238
2011-05-12 19:06:16 +00:00
Andrew Trick
69005e5953
Typo and missing checkin from r131186.
...
llvm-svn: 131187
2011-05-11 16:44:08 +00:00
Andrew Trick
55aeb55aa3
Bugpoint support for miscompilations that result in a crash.
...
This change allows bugpoint to pinpoint the "opt" pass and bitcode
segment responsible for a crash caused by miscompilation. At least it
works well for me now, without having to create any custom execution
wrappers.
llvm-svn: 131186
2011-05-11 16:31:24 +00:00
Nick Lewycky
e75ffa1b78
In option typo correction, consider -foo=VALUE flags as two distinct parts. The
...
comments claimed it did this, but the LHS value was actually an unused variable.
The new system considers only the '-foo' part when comparing it for typos
against flags that have values, but still look at the whole string for flags
that don't. That way, we'll still correct '-inst=combine' to '-instcombine'.
llvm-svn: 130685
2011-05-02 05:24:47 +00:00
NAKAMURA Takumi
4471f82e91
Windows/DynamicLibrary.inc: Clean up ELM_Callback. We may check the decl instead of the versions of individual libraries.
...
autoconf: Add checking ELM_Callback decl for mingw32 and mingw-w64.
cmake/config-ix.cmake: Add checking ELM_Callback decl for win32.
llvm-svn: 130657
2011-05-01 13:29:49 +00:00
Douglas Gregor
0e50682f26
Include <pthread.h> before we use pthread_self/pthread_kill
...
llvm-svn: 130510
2011-04-29 16:12:17 +00:00
Ted Kremenek
e203bbb47e
Add MemoryBuffer::getBufferKind() to report whether a memory buffer uses malloc'ed or mmap'ed memory. This is for performance analysis.
...
llvm-svn: 130432
2011-04-28 20:34:18 +00:00
Lenny Maiorani
367342e209
Remove bounded StringRef::compare() since nothing but Clang SA was using it and it is just as easy to use StringRef::substr() preceding StringRef::compare() to achieve the same thing.
...
llvm-svn: 130430
2011-04-28 20:20:12 +00:00
Chris Lattner
63e9190f71
allow adding a FoldingSetNodeID to a FastFoldingSetNode, resolving PR9499,
...
patch by Johannes Schaub!
llvm-svn: 130151
2011-04-25 20:58:50 +00:00
Jay Foad
72e705ed94
Like the coding standards say, do not use "using namespace std".
...
llvm-svn: 130054
2011-04-23 09:06:00 +00:00
Eric Christopher
3509d2dc95
Add support for 64-bit object files to Path.
...
llvm-svn: 129975
2011-04-22 03:50:19 +00:00
Devang Patel
6d1e4e9646
Add DW_OP_bit_piece.
...
llvm-svn: 129945
2011-04-21 22:26:13 +00:00
Daniel Dunbar
8991d611fd
sys/Host: Change getHostTriple() to return the full Darwin version on OS X.
...
llvm-svn: 129852
2011-04-20 15:44:33 +00:00
Justin Holewinski
7d8895e767
PTX: Add intrinsics to list of built-in intrinsics, which allows them to be
...
used by Clang. To help Clang integration, the PTX target has been split
into two targets: ptx32 and ptx64, depending on the desired pointer size.
- Add GCCBuiltin class to all intrinsics
- Split PTX target into ptx32 and ptx64
llvm-svn: 129851
2011-04-20 15:37:17 +00:00
Daniel Dunbar
924699845a
ADT/Triple: Drop support for -osx style triples, we are going with -macosx
...
instead.
llvm-svn: 129836
2011-04-19 23:55:20 +00:00
Daniel Dunbar
0854f347d2
ADT/Triple: Add support for Triple::MacOSX per feedback from Chris, will remove
...
Triple::OSX once Clang has moved.
llvm-svn: 129833
2011-04-19 23:34:12 +00:00
Daniel Dunbar
163a0966a9
ADT/Triple: Add isOSDarwin() and isOSWindows() helper functions.
...
llvm-svn: 129815
2011-04-19 21:12:05 +00:00
Daniel Dunbar
3c0fbce10b
ADT/Triple: Fix Triple::getArchNameForAssembler to support OSX and iOS
...
enumeration values.
llvm-svn: 129814
2011-04-19 21:07:03 +00:00
Daniel Dunbar
99f904c72d
ADT/Triple: Generalize and simplify getDarwinNumber to just be getOSVersion.
...
llvm-svn: 129799
2011-04-19 20:24:34 +00:00
Daniel Dunbar
d74bac70c4
ADT/Triple: Add support for more explicit "osx" and "ios" OS names.
...
llvm-svn: 129798
2011-04-19 20:19:27 +00:00
Ted Kremenek
28af26d878
Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much memory a BumpPtrAllocator allocated.
...
llvm-svn: 129727
2011-04-18 22:44:46 +00:00
Devang Patel
514b4006c2
Introduce support to encode Objective-C property information in debugging information generated for an interface.
...
llvm-svn: 129624
2011-04-16 00:11:51 +00:00
Lenny Maiorani
fad9d95722
Implements StringRef::compare with bounds. It is behaves similarly to strncmp(). Unit tests also included.
...
llvm-svn: 129582
2011-04-15 17:56:50 +00:00