Chandler Carruth
87f14b4eec
Re-sort all of the includes with ./utils/sort_includes.py so that
...
subsequent changes are easier to review. About to fix some layering
issues, and wanted to separate out the necessary churn.
Also comment and sink the include of "Windows.h" in three .inc files to
match the usage in Memory.inc.
llvm-svn: 198685
2014-01-07 11:48:04 +00:00
Aaron Ballman
247357cde7
Removing llvm::huge_vald and llvm::huge_vall because they are not currently used, and HUGE_VALD does not appear to be supported everywhere anyways.
...
llvm-svn: 194535
2013-11-13 00:20:43 +00:00
Aaron Ballman
7c6e917033
Replacing HUGE_VALF with llvm::huge_valf in order to work around a warning triggered in MSVC 12.
...
Patch reviewed by Reid Kleckner and Jim Grosbach.
llvm-svn: 194533
2013-11-13 00:15:44 +00:00
Reid Kleckner
df9f101e53
Use gnu style builtins in MathExtras.h with clang on Windows
...
Clang does not provide BitScan* intrinsic implementations yet.
llvm-svn: 187813
2013-08-06 19:45:27 +00:00
Dmitri Gribenko
2c062d2c5f
Put back variable names because they are referenced in the documentation
...
comment.
llvm-svn: 184051
2013-06-16 03:22:56 +00:00
Duncan Sands
5f79506fd3
Avoid warnings about unused parameters that tend to come up a lot when
...
building outside projects with a different compiler than that used to build
LLVM itself (eg switching between gcc and clang).
llvm-svn: 183650
2013-06-10 12:09:30 +00:00
Michael J. Spencer
02fa6608fd
[Support] Remove Count{Leading,Trailing}Zeros_{32,64}.
...
llvm-svn: 182690
2013-05-24 22:58:37 +00:00
Benjamin Kramer
08bbd1ab69
MathExtras: Return the result of find(First|Last)Set in the input type.
...
Otherwise ZB_Max returns a wrong result when sizeof(T) > sizeof(size_t).
llvm-svn: 182684
2013-05-24 22:25:20 +00:00
Michael J. Spencer
c195b8a813
Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros.
...
llvm-svn: 182680
2013-05-24 22:23:49 +00:00
Michael J. Spencer
9da977410d
[Support][MathExtras] Add missing include and disable _BitScan{Forward,Reverse}64 on non x64 MSVC systems.
...
llvm-svn: 182671
2013-05-24 20:51:59 +00:00
Michael J. Spencer
dbf83dd515
[Support] Add type generic bit utilities to MathExtras.h
...
llvm-svn: 182667
2013-05-24 20:29:47 +00:00
Aaron Ballman
4366a1d53f
Suppressing MSVC warnings; patch thanks to Peng Cheng!
...
llvm-svn: 176193
2013-02-27 18:25:41 +00:00
Reid Kleckner
2796011be7
Add parens to suppress an MSVC 2012 << precedence warning
...
It doesn't seem to like instantiating the isUInt<unsigned N> template
with 6+3, and then doing <<N.
llvm-svn: 173507
2013-01-25 22:12:45 +00:00
Aaron Ballman
9f5e7fbd5c
Reverting back to the fallback instead of using the 64-bit popcnt instruction as it doesn't exist on all x64 CPU architectures.
...
llvm-svn: 172751
2013-01-17 20:04:28 +00:00
Aaron Ballman
84f436abf8
Reverting back to the fallback instead of using popcnt; this instruction doesn't exist on all CPU architectures. Fixes PR14982
...
llvm-svn: 172734
2013-01-17 18:27:30 +00:00
Aaron Ballman
b5f3c9cf1b
Wrapping __popcnt64 for MSVC so that it's only used on 64-bit builds.
...
llvm-svn: 172670
2013-01-16 23:17:21 +00:00
Michael J. Spencer
7fae6e33d7
[Support] Include the intrisics header and check for definition properly.
...
llvm-svn: 172655
2013-01-16 20:50:43 +00:00
Michael J. Spencer
73729ac2ac
[Support] Add MSVC intrinsic for CountPopulation.
...
Patch by Jakub Staszak.
llvm-svn: 172645
2013-01-16 19:52:12 +00:00
Dmitri Gribenko
aee81e7cae
Fix Doxygen issues:
...
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph).
llvm-svn: 163790
2012-09-13 12:34:29 +00:00
Richard Smith
865f47cbb6
Fix integer undefined behavior due to signed left shift overflow in LLVM.
...
Reviewed offline by chandlerc.
llvm-svn: 162623
2012-08-24 23:29:28 +00:00
Chandler Carruth
6f8cc37074
Remove 'static' from inline functions defined in header files.
...
There is a pretty staggering amount of this in LLVM's header files, this
is not all of the instances I'm afraid. These include all of the
functions that (in my build) are used by a non-static inline (or
external) function. Specifically, these issues were caught by the new
'-Winternal-linkage-in-inline' warning.
I'll try to just clean up the remainder of the clearly redundant "static
inline" cases on functions (not methods!) defined within headers if
I can do so in a reliable way.
There were even several cases of a missing 'inline' altogether, or my
personal favorite "static bool inline". Go figure. ;]
llvm-svn: 158800
2012-06-20 08:39:33 +00:00
Tony Linthicum
61adbf8dc5
Hexagon backend support
...
llvm-svn: 146412
2011-12-12 21:14:40 +00:00
Rafael Espindola
37a22419ce
Typo.
...
llvm-svn: 121906
2010-12-15 22:33:06 +00:00
Rafael Espindola
102a0b7b74
Generalize an assert.
...
llvm-svn: 121851
2010-12-15 07:12:24 +00:00
Michael J. Spencer
d5ec932c3a
Merge System into Support.
...
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Chris Lattner
e6d7915f62
reimplement SwapByteOrder.h in terms of overloading instead of
...
being in terms of excessively complex template logic.
llvm-svn: 119992
2010-11-23 04:04:25 +00:00
Dan Gohman
67f95d770b
Factor code out of APInt to form a isUIntN helper function.
...
llvm-svn: 118133
2010-11-03 00:38:40 +00:00
Michael J. Spencer
0888ccaa19
System: Add SwapByteOrder and update Support/MathExtras.h to use it.
...
This time correctly.
llvm-svn: 116247
2010-10-11 21:56:16 +00:00
Michael J. Spencer
0af3659b5d
Revert "System: Add SwapByteOrder and update Support/MathExtras.h to use it."
...
This reverts commit 116234.
It compiled just fine with MSVC and clang...
llvm-svn: 116242
2010-10-11 21:39:24 +00:00
Michael J. Spencer
d0d6c9b01e
System: Add SwapByteOrder and update Support/MathExtras.h to use it.
...
llvm-svn: 116234
2010-10-11 21:22:22 +00:00
Benjamin Kramer
1b8bcfbc98
There is this new "LLVM" compiler that supports __builtin_bswap but thinks it's gcc 4.2.
...
llvm-svn: 111228
2010-08-17 11:45:38 +00:00
Jakob Stoklund Olesen
37cb8c0742
Avoid overflowing a signed integer which triggers undefined behaviour.
...
Overflowing an unsigned integer is fine and behaves as you would expect.
Also fix a pasto, allowing SignExtend64 to take a 64-bit argument.
llvm-svn: 100517
2010-04-06 03:12:43 +00:00
Johnny Chen
6d9cbe7270
Second try of initial ARM/Thumb disassembler check-in. It consists of a tablgen
...
backend (ARMDecoderEmitter) which emits the decoder functions for ARM and Thumb,
and the disassembler core which invokes the decoder function and builds up the
MCInst based on the decoded Opcode.
Reviewed by Chris Latter and Bob Wilson.
llvm-svn: 100233
2010-04-02 22:27:38 +00:00
Benjamin Kramer
9bbdbd2dba
Make isInt?? and isUint?? template specializations of the generic versions. This
...
makes calls a little bit more consistent and allows easy removal of the
specializations in the future. Convert all callers to the templated functions.
llvm-svn: 99838
2010-03-29 21:13:41 +00:00
Duncan Sands
fa59842d87
Correct spelling.
...
llvm-svn: 92910
2010-01-07 09:05:26 +00:00
Chandler Carruth
766362c707
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
...
direct inclusion edge from System to Support.
llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Daniel Dunbar
300b88539d
Add MathExtras.h OffsetToAlignment, like RoundUpToAlignment but returns the
...
offset to the next aligned integer.
llvm-svn: 80339
2009-08-28 05:48:04 +00:00
Jakob Stoklund Olesen
e074d71247
Fix the N>=64 case in the isInt<> and isUint<> templates.
...
llvm-svn: 78899
2009-08-13 06:24:02 +00:00
Jakob Stoklund Olesen
7ec5ee575e
Move immediate constant predicate templates from the Blackfin target to MathExtras.h
...
llvm-svn: 78793
2009-08-12 06:22:07 +00:00
Duncan Sands
5ccc1b7589
Fix PR4614: the Intel C compiler defines _GNUC__
...
but does not provide __builtin_bswap32/64.
llvm-svn: 76896
2009-07-23 19:08:27 +00:00
Dan Gohman
76f405a65f
Fix the name of the function in this comment.
...
llvm-svn: 72666
2009-05-31 16:18:03 +00:00
Dale Johannesen
18cc7c12b7
Add an int64_t variant of abs, for host environments
...
without one. Use it where we were using abs on
int64_t objects.
(I strongly suspect the casts to unsigned in the
fragments in LoopStrengthReduce are not doing whatever
the original intent was, but the obvious change to
uint64_t doesn't work. Maybe later.)
llvm-svn: 71612
2009-05-13 00:24:22 +00:00
Misha Brukman
7ee4196e74
Removed trailing whitespace.
...
llvm-svn: 65196
2009-02-20 22:51:36 +00:00
Daniel Dunbar
778db8ec9b
Add llvm::RoundUpToAlignment.
...
- No functionality change.
llvm-svn: 64691
2009-02-16 22:57:04 +00:00
Dale Johannesen
a5699a1e8b
Do not use host floating point types when emitting
...
ASCII IR; loading and storing these can change the
bits of NaNs on some hosts. Remove or add warnings
at a few other places using host floating point;
this is a bad thing to do in general.
llvm-svn: 62712
2009-01-21 20:32:55 +00:00
Owen Anderson
6ba41f78c9
Add a NextPowerOf2 function to calculate the next power of two greater than a given integer.
...
llvm-svn: 52839
2008-06-27 21:48:21 +00:00
Dan Gohman
2181ea3b6c
Add count{Leading,Trailing}Ones_{32,64} functions with simple implementations.
...
llvm-svn: 47084
2008-02-13 20:54:54 +00:00
Chris Lattner
266b518f13
make this 64-bit safe
...
llvm-svn: 46402
2008-01-26 19:50:30 +00:00
Chris Lattner
e0b1ee937a
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
llvm-svn: 45411
2007-12-29 19:59:42 +00:00
Duncan Sands
edf7e3b5f4
Move MinAlign to MathExtras.h.
...
llvm-svn: 43944
2007-11-09 13:41:39 +00:00