Commit Graph

4243 Commits

Author SHA1 Message Date
Daniel Dunbar
81ccdef572 utils: Kill NewNightlyTest.pl, which has been replaced by LNT (as far as I know).
llvm-svn: 150610
2012-02-15 19:24:11 +00:00
Bill Wendling
55933f75ab Document the new module flags.
llvm-svn: 150301
2012-02-11 11:59:36 +00:00
Pete Cooper
57c51010db Added description of invariant.load metadata to LangRef. It was added to the compiler in r144100
llvm-svn: 150257
2012-02-10 18:13:54 +00:00
Jia Liu
035a90c9ec update --enable-targets list
llvm-svn: 150229
2012-02-10 04:58:24 +00:00
Devang Patel
c4b407c311 Now subprogram descriptors are not collected by llvm.dbg.sp NamedMDNode. Update document to reflect this change.
llvm-svn: 150187
2012-02-09 17:34:01 +00:00
Chris Lattner
eaaee90a17 fix broken link
llvm-svn: 150105
2012-02-08 22:20:00 +00:00
Chris Lattner
9cb250a113 No actual functional change here, just some clarifications:
Clarify that contributors are agreeing to license their code under the 
license corresponding to the subproject that they are contributing to,
as requested by a potential contributor.

Also, as a drive-by, update the llvm-gcc/GPL section to mention dragonegg
and say that GPL code is all in its own repo's.

llvm-svn: 150065
2012-02-08 07:58:38 +00:00
Chris Lattner
1c0f1d4d1f add an explicit section on static constructors.
llvm-svn: 150037
2012-02-08 01:44:00 +00:00
Bill Wendling
cd6addef26 Rephrase to add clarity.
llvm-svn: 149972
2012-02-07 08:42:29 +00:00
Bill Wendling
9e07368007 Document the 'unwind' removal.
llvm-svn: 149914
2012-02-06 21:59:44 +00:00
Bill Wendling
c0985aa29f [unwind removal] Remove any mention of the 'unwind' instruction. What was that
instruction anyway?!

llvm-svn: 149913
2012-02-06 21:57:33 +00:00
Devang Patel
bf38fa24e7 Update docs describing objective-c property encoding. This includes support for properties that are not backed by an ivar.
llvm-svn: 149879
2012-02-06 18:18:25 +00:00
Bill Wendling
a496f94d12 Mention that the 'unwind' instruction is now deprecated.
llvm-svn: 149876
2012-02-06 17:58:34 +00:00
Eli Bendersky
33bdce0fd3 Fix typo and broken link
llvm-svn: 149820
2012-02-05 11:17:49 +00:00
Eli Bendersky
9d93af489b Add missing paren
llvm-svn: 149817
2012-02-05 09:21:25 +00:00
Hal Finkel
8cf5de5774 Add a basic-block autovectorization pass.
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure.
Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser).

llvm-svn: 149468
2012-02-01 03:51:43 +00:00
Dan Gohman
8be3999ea3 basic-aa does support AliasAnalysis chaining now.
llvm-svn: 149293
2012-01-30 23:05:41 +00:00
Talin
d6b8c10155 DenseMap::find_as() and unit tests.
llvm-svn: 149229
2012-01-30 06:55:43 +00:00
Jim Grosbach
84b2fe36c8 Tidy up. s/Low Level Virtual Machine/LLVM/.
LLVM isn't an acronym anymore.

llvm-svn: 148985
2012-01-25 22:00:23 +00:00
Nick Lewycky
ccdb5138b7 Fix broken link.
llvm-svn: 148692
2012-01-23 08:47:21 +00:00
Kostya Serebryany
b37a1263e1 Extend Attributes to 64 bits
Problem: LLVM needs more function attributes than currently available (32 bits).
One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc).

Solution:
- extend the Attributes from 32 bits to 64-bits
- wrap the object into a class so that unsigned is never erroneously used instead
- change "unsigned" to "Attributes" throughout the code, including one place in clang.
- the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking.
- the class has "safe operator bool()" to support the common idiom:  if (Attributes attr = getAttrs()) useAttrs(attr);
- The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls
- Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work.
- Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit.

Tested:
"make check" on Linux (32-bit and 64-bit) and Mac (10.6)
built/run spec CPU 2006 on Linux with clang -O2.


This change will break clang build in lib/CodeGen/CGCall.cpp.
The following patch will fix it.

llvm-svn: 148553
2012-01-20 17:56:17 +00:00
Chad Rosier
ce02cd3faa Fix typo.
llvm-svn: 148497
2012-01-19 21:50:08 +00:00
Jakob Stoklund Olesen
77ce60119b Add a new kind of MachineOperand: MO_RegisterMask.
Register masks will be used as a compact representation of large clobber
lists.  Currently, an x86 call instruction has some 40 operands
representing call-clobbered registers.  That's more than 1kB of useless
operands per call site.

A register mask operand references a bit mask of call-preserved
registers, everything else is clobbered.  The bit mask will typically
come from TargetRegisterInfo::getCallPreservedMask().

By abandoning ImplicitDefs for call-clobbered registers, it also becomes
possible to share call instruction descriptions between calling
conventions, and we can get rid of the WINCALL* instructions.

This patch introduces the new operand kind.  Future patches will add
RegMask support to target-independent passes before finally the fixed
clobber lists can be removed from call instruction descriptions.

llvm-svn: 148250
2012-01-16 19:22:00 +00:00
Joe Abbey
f61ffb3134 Adding a Hexagon cell for segmented stacks, as they have been implemented for X86 and not Sparc...
Committed as obvious

llvm-svn: 148237
2012-01-16 13:16:05 +00:00
Duncan Sands
5a44c5a303 Try to clarify a little how exception handling works.
llvm-svn: 148136
2012-01-13 19:59:16 +00:00
Bill Wendling
18abc22050 Revert accidental commit.
llvm-svn: 148065
2012-01-12 23:06:28 +00:00
Bill Wendling
ce528914e7 Fix the code that was WRONG.
The registers are placed into the saved registers list in the reverse order,
which is why the original loop was written to loop backwards.

llvm-svn: 148064
2012-01-12 23:05:03 +00:00
Eli Bendersky
af558b888a Fix dead link
llvm-svn: 147721
2012-01-07 04:11:27 +00:00
Eli Bendersky
161651f80a test commit (verifyiing commit access)
llvm-svn: 147600
2012-01-05 08:18:41 +00:00
Jakob Stoklund Olesen
a33612c1f2 Freeze reserved registers before starting register allocation.
The register allocators don't currently support adding reserved
registers while they are running.  Extend the MRI API to keep track of
the set of reserved registers when register allocation started.

Target hooks like hasFP() and needsStackRealignment() can look at this
set to avoid reserving more registers during register allocation.

llvm-svn: 147577
2012-01-05 00:26:49 +00:00
Eric Christopher
173e9e8cf2 Fix typo.
llvm-svn: 147456
2012-01-03 18:38:37 +00:00
Duncan Sands
ec8ede7bf4 Correct spelling.
llvm-svn: 147435
2012-01-02 16:55:01 +00:00
NAKAMURA Takumi
ad71e57658 Happy new year 2012!
llvm-svn: 147395
2012-01-01 08:16:56 +00:00
Nadav Rotem
7898dcf3bb Update the LangRef documentation: the codegen does support this instruction.
llvm-svn: 147274
2011-12-25 21:32:35 +00:00
Nadav Rotem
682f1c2187 Add a few lines to the release notes:
1. pointer-vector
2. type legalizer changes and vector-select
3. X86 ISA changes.

llvm-svn: 146964
2011-12-20 08:02:50 +00:00
Dan Gohman
80dc86c550 Add a line to ReleaseNotes for half float.
llvm-svn: 146939
2011-12-20 01:10:56 +00:00
Jakob Stoklund Olesen
7b1b08eb77 Remove a register class that can just as well be synthesized.
Add the new TableGen register class synthesizer feature to the release
notes.

llvm-svn: 146875
2011-12-19 16:53:40 +00:00
Dan Gohman
9c8c9a8f62 The powers that be have decided that LLVM IR should now support 16-bit
"half precision" floating-point with a first-class type.

This patch adds basic IR support (but not codegen support).

llvm-svn: 146786
2011-12-17 00:04:22 +00:00
Eric Christopher
3c533091a7 Fix spacing.
llvm-svn: 146782
2011-12-16 23:42:35 +00:00
Eric Christopher
598f7d7c76 Update documentation.
llvm-svn: 146781
2011-12-16 23:42:33 +00:00
Devang Patel
59f6d6e2d1 Clarify and fix subprogram description.
llvm-svn: 146743
2011-12-16 17:50:04 +00:00
Jakob Stoklund Olesen
3d0382e29d Note ARM constant island alignment in the release notes.
The command line option should be removed, but not until the feature has
gotten a lot of testing. The ARMConstantIslandPass tends to have subtle
bugs that only show up after a while.

llvm-svn: 146739
2011-12-16 16:07:41 +00:00
Evan Cheng
638936d9cb Add a blurb about MachineInstr bundling support.
llvm-svn: 146603
2011-12-14 22:57:45 +00:00
Evan Cheng
1dcc7d089e Add high level description of MachineInstr bundles.
llvm-svn: 146589
2011-12-14 21:32:14 +00:00
Duncan Sands
1de7ae0e43 Vectors are not aggregate types (see isAggregateType).
llvm-svn: 146561
2011-12-14 15:44:20 +00:00
Kostya Serebryany
4579e0c874 mention AddressSanitizer in 3.1 release notes
llvm-svn: 146505
2011-12-13 19:46:24 +00:00
Chris Lattner
e407984265 Rip llvm 3.0 out of the release notes, making room for LLVM 3.1
llvm-svn: 146493
2011-12-13 17:55:30 +00:00
Bill Wendling
b61c025aa2 Use the example from clang, not the GCC frontend, which doesn't exist anymore.
llvm-svn: 146461
2011-12-13 01:07:07 +00:00
Daniel Dunbar
a16a63f190 llvm-build: Switch to using the common subdirectory list instead of
autodiscovery.

llvm-svn: 146437
2011-12-12 22:45:59 +00:00
Daniel Dunbar
ecff3756fa llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild.

llvm-svn: 146434
2011-12-12 22:45:35 +00:00