Commit Graph

403 Commits

Author SHA1 Message Date
Mon P Wang 68d4eee062 Added a little more information that vector shifts require vector shift amount.
llvm-svn: 60831
2008-12-10 08:55:09 +00:00
Mon P Wang 4dd832d241 Fix getNode to allow a vector for the shift amount for shifts of vectors.
Fix the shift amount when unrolling a vector shift into scalar shifts.
Fix problem in getShuffleScalarElt where it assumes that the input of
a bit convert must be a vector.

llvm-svn: 60740
2008-12-09 05:46:39 +00:00
Misha Brukman c9813bda47 Fixed HTML closing tag, cleaned up some spacing.
llvm-svn: 60153
2008-11-27 06:41:20 +00:00
Bill Wendling 6e41adddab Small formatting change.
llvm-svn: 60113
2008-11-26 19:19:05 +00:00
Bill Wendling 0f5541e4cf Update to explain how ssp and sspreq attributes override each other.
llvm-svn: 60112
2008-11-26 19:07:40 +00:00
Dan Gohman 8ef449828f Fix a few HTML tidiness issues.
llvm-svn: 59966
2008-11-24 17:18:39 +00:00
Torok Edwin 9bc1a6554e NULL, unique pointers from malloc(0), and freed pointers are legal values for
noalias attribute parameters/return values.

llvm-svn: 59955
2008-11-24 08:02:24 +00:00
Nick Lewycky d59572cb22 Seriously strengthen the guarantee offered by noalias on a function's return
value. It must now be as if the pointer were allocated and has not escaped to
the caller. Thanks to Dan Gohman for pointing out the error in the original
and helping devise this definition.

llvm-svn: 59940
2008-11-24 05:00:44 +00:00
Nick Lewycky f5ffcbcd0b Extend the 'noalias' attribute to function return values. This is intended to
indicate functions that allocate, such as operator new, or list::insert. The
actual definition is slightly less strict (for now).

No changes to the bitcode reader/writer, asm printer or verifier were needed.

llvm-svn: 59934
2008-11-24 03:41:24 +00:00
Misha Brukman 50de2b2365 Fixed named anchor for llvm.stackprotector intrinsic.
llvm-svn: 59893
2008-11-22 23:55:29 +00:00
Chris Lattner dd7083452f reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
arbitrary integer width for the count.

llvm-svn: 59823
2008-11-21 16:42:48 +00:00
Bill Wendling 4bce2bff88 Revert r59802. It was breaking the build of llvm-gcc:
g++ -m32 -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -mdynamic-no-pic -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i386-apple-darwin9.5.0\" -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS   -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include ../../llvm-gcc.src/gcc/llvm-types.cpp -o llvm-types.o
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i64' is not a member of 'llvm::Intrinsic'
make[3]: *** [llvm-convert.o] Error 1
make[3]: *** Waiting for unfinished jobs....
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod
make[2]: *** [all-stage1-gcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2

llvm-svn: 59809
2008-11-21 09:09:41 +00:00
Sanjiv Gupta 09a203765a Make mem[cpy,move,set] intrinsics overloaded.
llvm-svn: 59802
2008-11-21 07:49:09 +00:00
Bill Wendling 1431331b47 - Move the stackprotector intrinsic to the general section.
- Rewrite the sentence to make it look as if English is my first language.

llvm-svn: 59592
2008-11-19 05:56:17 +00:00
Bill Wendling f85850f89e Documentation for the llvm.stackprotector intrinsic.
llvm-svn: 59557
2008-11-18 22:10:53 +00:00
Bill Wendling a813017b41 Update docs for ssp and sspreq function attributes.
llvm-svn: 59203
2008-11-13 01:02:51 +00:00
Mon P Wang 25f0106fd9 Added support for the following definition of shufflevector
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask> 

llvm-svn: 58964
2008-11-10 04:46:22 +00:00
Daniel Dunbar 0f8155ae4e Prevent assert when using '"' in names (via hexadecimal).
Update LangRef to mention \xx quoting in names.

llvm-svn: 57538
2008-10-14 23:51:43 +00:00
Dan Gohman ef9462f67c Fix missing end tags and invalid HTML entity syntax.
llvm-svn: 57500
2008-10-14 16:51:45 +00:00
Dan Gohman 93bf60d4cb Add a missing close-tag.
llvm-svn: 57497
2008-10-14 16:32:04 +00:00
Chris Lattner 0ae020952b fix some crazily long lines.
llvm-svn: 57444
2008-10-13 16:55:18 +00:00
Matthijs Kooijman 0e2682781c Improve the description on the getelementptr instruction. It should now better
define what the instruction does. This also makes it clear that getelementptr
can index into a vector type.

llvm-svn: 57440
2008-10-13 13:44:15 +00:00
Chris Lattner 6cbe8e99b3 fix typo
llvm-svn: 57287
2008-10-08 06:26:11 +00:00
Devang Patel 022562369f Improve function definition, call and invoke instruction docs.
llvm-svn: 57253
2008-10-07 17:48:33 +00:00
Matthijs Kooijman eefa7dfcd3 Add two forgotten </i>'s.
llvm-svn: 57239
2008-10-07 10:03:45 +00:00
Devang Patel 7e9b05ede5 Update function attributes docs.
llvm-svn: 57197
2008-10-06 18:50:38 +00:00
Duncan Sands 2a1d8bace1 Clarify the relationship between byval and readonly/
readnone.  Make clearer that readnone functions do not
dereference pointer arguments.  Do not use the highly
ambiguous "side-effects" in the readonly description
(since such functions can have control flow side-effects,
such as throwing an exception, or looping for ever).

llvm-svn: 57166
2008-10-06 08:14:18 +00:00
Chris Lattner 0625c28135 A word got optimized out, thanks to Duncan for pointing this out
llvm-svn: 57116
2008-10-05 17:14:59 +00:00
Dan Gohman cc3132e5ed Update the documentation for first-class aggregates changes,
and remove getresult and references thereto.

llvm-svn: 57064
2008-10-04 19:00:07 +00:00
Chris Lattner d552826d6e add a note about inline asm
llvm-svn: 57062
2008-10-04 18:36:02 +00:00
Chris Lattner d2597d71d4 improve description of param/ret attrs
llvm-svn: 57061
2008-10-04 18:33:34 +00:00
Chris Lattner fbf60a4f72 improve descriptions of function attrs
llvm-svn: 57060
2008-10-04 18:23:17 +00:00
Chris Lattner cbc4d2a164 notes are gone.
llvm-svn: 57059
2008-10-04 18:10:21 +00:00
Devang Patel e97439091f Fix grammar.
llvm-svn: 56796
2008-09-29 18:34:44 +00:00
Devang Patel 6891a55e73 Fix sentence.
llvm-svn: 56794
2008-09-29 18:16:09 +00:00
Devang Patel 9eb525d4f9 Implement function notes as function attributes.
llvm-svn: 56716
2008-09-26 23:51:19 +00:00
Dale Johannesen c50ada2f56 Accept 'inreg' attribute on x86 functions as
meaning sse_regparm (i.e. float/double values go
in XMM0 instead of ST0).  Update documentation
to reflect reality.

llvm-svn: 56619
2008-09-25 20:47:45 +00:00
Duncan Sands 7e99a94c18 The "alias" keyword comes first.
llvm-svn: 56170
2008-09-12 20:48:21 +00:00
Dan Gohman c579d978a3 Extend the vcmp/fcmp LLVM IR instructions to take vectors as arguments
and, if so, to return a vector of boolean as a result;

Extend the select LLVM IR instruction to allow you to specify a result
type which is a vector of boolean, in which case the result will be an
element-wise selection instead of choosing one vector or the other; and

Update LangRef.html to describe these changes.

This patch was contributed by Preston Gurd!

llvm-svn: 55969
2008-09-09 01:02:47 +00:00
Dan Gohman c05dca95a2 Bitcasting two or from aggregate types is not permitted. Update
LangRef.html, and teach the verifier to check bitcast instructions.

llvm-svn: 55921
2008-09-08 16:45:59 +00:00
Bill Wendling 5703c6e8dd Clean up CSS validator errors: 'Property align doesn't exist : center'
llvm-svn: 55885
2008-09-07 10:29:20 +00:00
Bill Wendling b175fa49ed Formatting changes. to make the information cleaner.
llvm-svn: 55884
2008-09-07 10:26:33 +00:00
Devang Patel 8af98cdf73 update.
llvm-svn: 55809
2008-09-04 23:10:26 +00:00
Devang Patel caacdbab3d Document function notes.
llvm-svn: 55808
2008-09-04 23:05:13 +00:00
Gabor Greif 0f75ad0a52 use the more precise 'op1' instead of 'var1' since the latter can be misunderstood to not encompass constants
llvm-svn: 54490
2008-08-07 21:46:00 +00:00
Bill Wendling 6e03f9a40b It's "a static", not "an static"
llvm-svn: 54379
2008-08-05 22:29:16 +00:00
Chris Lattner 67c37d1127 Expand acronyms, suggested by Walter Pawley
llvm-svn: 54362
2008-08-05 18:29:16 +00:00
Chris Lattner 1ca5c64440 Capitalize LLVM, suggested by Walt Pawley
llvm-svn: 54360
2008-08-05 18:21:08 +00:00
Mon P Wang 2c839d4b1e Added support for overloading intrinsics (atomics) based on pointers
to different address spaces.  This alters the naming scheme for those
intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32

llvm-svn: 54195
2008-07-30 04:36:53 +00:00
Nate Begeman fecbc8cff1 Add vector shifts to the IR, patch by Eli Friedman.
CodeGen & Clang work coming next.

llvm-svn: 54161
2008-07-29 15:49:41 +00:00