From owner-svn-src-projects@FreeBSD.ORG Sun May 23 05:01:18 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id EAC15106566B;
Sun, 23 May 2010 05:01:18 +0000 (UTC)
(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id D7D538FC0A;
Sun, 23 May 2010 05:01:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4N51I5S074380;
Sun, 23 May 2010 05:01:18 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4N51IPZ074377;
Sun, 23 May 2010 05:01:18 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201005230501.o4N51IPZ074377@svn.freebsd.org>
From: Marcel Moolenaar
Date: Sun, 23 May 2010 05:01:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r208433 - in projects/altix/sys: amd64/amd64
amd64/include conf kern sys
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Sun, 23 May 2010 05:01:19 -0000
Author: marcel
Date: Sun May 23 05:01:18 2010
New Revision: 208433
URL: http://svn.freebsd.org/changeset/base/208433
Log:
Trivially switch amd64 to the common busdma implementation.
Eliminate ARM specific kluges in the API definitions and
remove #ifndef __sparc64__ surrounding the prototypes.
Modified:
projects/altix/sys/amd64/amd64/busdma_machdep.c
projects/altix/sys/amd64/include/bus_dma.h
projects/altix/sys/conf/files
projects/altix/sys/kern/subr_busdma.c
projects/altix/sys/sys/bus_dma.h
Modified: projects/altix/sys/amd64/amd64/busdma_machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/busdma_machdep.c Sun May 23 02:55:59 2010 (r208432)
+++ projects/altix/sys/amd64/amd64/busdma_machdep.c Sun May 23 05:01:18 2010 (r208433)
@@ -26,1180 +26,3 @@
#include
__FBSDID("$FreeBSD$");
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-
-#define MAX_BPAGES 8192
-
-struct bounce_zone;
-
-struct bus_dma_tag {
- bus_dma_tag_t parent;
- bus_size_t alignment;
- bus_size_t boundary;
- bus_addr_t lowaddr;
- bus_addr_t highaddr;
- bus_dma_filter_t *filter;
- void *filterarg;
- bus_size_t maxsize;
- u_int nsegments;
- bus_size_t maxsegsz;
- int flags;
- int ref_count;
- int map_count;
- bus_dma_lock_t *lockfunc;
- void *lockfuncarg;
- bus_dma_segment_t *segments;
- struct bounce_zone *bounce_zone;
-};
-
-struct bounce_page {
- vm_offset_t vaddr; /* kva of bounce buffer */
- bus_addr_t busaddr; /* Physical address */
- vm_offset_t datavaddr; /* kva of client data */
- bus_size_t datacount; /* client data count */
- STAILQ_ENTRY(bounce_page) links;
-};
-
-int busdma_swi_pending;
-
-struct bounce_zone {
- STAILQ_ENTRY(bounce_zone) links;
- STAILQ_HEAD(bp_list, bounce_page) bounce_page_list;
- int total_bpages;
- int free_bpages;
- int reserved_bpages;
- int active_bpages;
- int total_bounced;
- int total_deferred;
- int map_count;
- bus_size_t alignment;
- bus_addr_t lowaddr;
- char zoneid[8];
- char lowaddrid[20];
- struct sysctl_ctx_list sysctl_tree;
- struct sysctl_oid *sysctl_tree_top;
-};
-
-static struct mtx bounce_lock;
-static int total_bpages;
-static int busdma_zonecount;
-static STAILQ_HEAD(, bounce_zone) bounce_zone_list;
-
-SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD, 0, "Busdma parameters");
-SYSCTL_INT(_hw_busdma, OID_AUTO, total_bpages, CTLFLAG_RD, &total_bpages, 0,
- "Total bounce pages");
-
-struct bus_dmamap {
- struct bp_list bpages;
- int pagesneeded;
- int pagesreserved;
- bus_dma_tag_t dmat;
- void *buf; /* unmapped buffer pointer */
- bus_size_t buflen; /* unmapped buffer length */
- bus_dmamap_callback_t *callback;
- void *callback_arg;
- STAILQ_ENTRY(bus_dmamap) links;
-};
-
-static STAILQ_HEAD(, bus_dmamap) bounce_map_waitinglist;
-static STAILQ_HEAD(, bus_dmamap) bounce_map_callbacklist;
-static struct bus_dmamap nobounce_dmamap;
-
-static void init_bounce_pages(void *dummy);
-static int alloc_bounce_zone(bus_dma_tag_t dmat);
-static int alloc_bounce_pages(bus_dma_tag_t dmat, u_int numpages);
-static int reserve_bounce_pages(bus_dma_tag_t dmat, bus_dmamap_t map,
- int commit);
-static bus_addr_t add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map,
- vm_offset_t vaddr, bus_size_t size);
-static void free_bounce_page(bus_dma_tag_t dmat, struct bounce_page *bpage);
-static __inline int run_filter(bus_dma_tag_t dmat, bus_addr_t paddr);
-
-/*
- * Return true if a match is made.
- *
- * To find a match walk the chain of bus_dma_tag_t's looking for 'paddr'.
- *
- * If paddr is within the bounds of the dma tag then call the filter callback
- * to check for a match, if there is no filter callback then assume a match.
- */
-static __inline int
-run_filter(bus_dma_tag_t dmat, bus_addr_t paddr)
-{
- int retval;
-
- retval = 0;
-
- do {
- if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr)
- || ((paddr & (dmat->alignment - 1)) != 0))
- && (dmat->filter == NULL
- || (*dmat->filter)(dmat->filterarg, paddr) != 0))
- retval = 1;
-
- dmat = dmat->parent;
- } while (retval == 0 && dmat != NULL);
- return (retval);
-}
-
-/*
- * Convenience function for manipulating driver locks from busdma (during
- * busdma_swi, for example). Drivers that don't provide their own locks
- * should specify &Giant to dmat->lockfuncarg. Drivers that use their own
- * non-mutex locking scheme don't have to use this at all.
- */
-void
-busdma_lock_mutex(void *arg, bus_dma_lock_op_t op)
-{
- struct mtx *dmtx;
-
- dmtx = (struct mtx *)arg;
- switch (op) {
- case BUS_DMA_LOCK:
- mtx_lock(dmtx);
- break;
- case BUS_DMA_UNLOCK:
- mtx_unlock(dmtx);
- break;
- default:
- panic("Unknown operation 0x%x for busdma_lock_mutex!", op);
- }
-}
-
-/*
- * dflt_lock should never get called. It gets put into the dma tag when
- * lockfunc == NULL, which is only valid if the maps that are associated
- * with the tag are meant to never be defered.
- * XXX Should have a way to identify which driver is responsible here.
- */
-static void
-dflt_lock(void *arg, bus_dma_lock_op_t op)
-{
- panic("driver error: busdma dflt_lock called");
-}
-
-#define BUS_DMA_COULD_BOUNCE BUS_DMA_BUS3
-#define BUS_DMA_MIN_ALLOC_COMP BUS_DMA_BUS4
-/*
- * Allocate a device specific dma_tag.
- */
-int
-bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
- bus_size_t boundary, bus_addr_t lowaddr,
- bus_addr_t highaddr, bus_dma_filter_t *filter,
- void *filterarg, bus_size_t maxsize, int nsegments,
- bus_size_t maxsegsz, int flags, bus_dma_lock_t *lockfunc,
- void *lockfuncarg, bus_dma_tag_t *dmat)
-{
- bus_dma_tag_t newtag;
- int error = 0;
-
- /* Basic sanity checking */
- if (boundary != 0 && boundary < maxsegsz)
- maxsegsz = boundary;
-
- if (maxsegsz == 0) {
- return (EINVAL);
- }
-
- /* Return a NULL tag on failure */
- *dmat = NULL;
-
- newtag = (bus_dma_tag_t)malloc(sizeof(*newtag), M_DEVBUF,
- M_ZERO | M_NOWAIT);
- if (newtag == NULL) {
- CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d",
- __func__, newtag, 0, error);
- return (ENOMEM);
- }
-
- newtag->parent = parent;
- newtag->alignment = alignment;
- newtag->boundary = boundary;
- newtag->lowaddr = trunc_page((vm_paddr_t)lowaddr) + (PAGE_SIZE - 1);
- newtag->highaddr = trunc_page((vm_paddr_t)highaddr) + (PAGE_SIZE - 1);
- newtag->filter = filter;
- newtag->filterarg = filterarg;
- newtag->maxsize = maxsize;
- newtag->nsegments = nsegments;
- newtag->maxsegsz = maxsegsz;
- newtag->flags = flags;
- newtag->ref_count = 1; /* Count ourself */
- newtag->map_count = 0;
- if (lockfunc != NULL) {
- newtag->lockfunc = lockfunc;
- newtag->lockfuncarg = lockfuncarg;
- } else {
- newtag->lockfunc = dflt_lock;
- newtag->lockfuncarg = NULL;
- }
- newtag->segments = NULL;
-
- /* Take into account any restrictions imposed by our parent tag */
- if (parent != NULL) {
- newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr);
- newtag->highaddr = MAX(parent->highaddr, newtag->highaddr);
- if (newtag->boundary == 0)
- newtag->boundary = parent->boundary;
- else if (parent->boundary != 0)
- newtag->boundary = MIN(parent->boundary,
- newtag->boundary);
- if (newtag->filter == NULL) {
- /*
- * Short circuit looking at our parent directly
- * since we have encapsulated all of its information
- */
- newtag->filter = parent->filter;
- newtag->filterarg = parent->filterarg;
- newtag->parent = parent->parent;
- }
- if (newtag->parent != NULL)
- atomic_add_int(&parent->ref_count, 1);
- }
-
- if (newtag->lowaddr < ptoa((vm_paddr_t)Maxmem)
- || newtag->alignment > 1)
- newtag->flags |= BUS_DMA_COULD_BOUNCE;
-
- if (((newtag->flags & BUS_DMA_COULD_BOUNCE) != 0) &&
- (flags & BUS_DMA_ALLOCNOW) != 0) {
- struct bounce_zone *bz;
-
- /* Must bounce */
-
- if ((error = alloc_bounce_zone(newtag)) != 0) {
- free(newtag, M_DEVBUF);
- return (error);
- }
- bz = newtag->bounce_zone;
-
- if (ptoa(bz->total_bpages) < maxsize) {
- int pages;
-
- pages = atop(maxsize) - bz->total_bpages;
-
- /* Add pages to our bounce pool */
- if (alloc_bounce_pages(newtag, pages) < pages)
- error = ENOMEM;
- }
- /* Performed initial allocation */
- newtag->flags |= BUS_DMA_MIN_ALLOC_COMP;
- }
-
- if (error != 0) {
- free(newtag, M_DEVBUF);
- } else {
- *dmat = newtag;
- }
- CTR4(KTR_BUSDMA, "%s returned tag %p tag flags 0x%x error %d",
- __func__, newtag, (newtag != NULL ? newtag->flags : 0), error);
- return (error);
-}
-
-int
-bus_dma_tag_destroy(bus_dma_tag_t dmat)
-{
- bus_dma_tag_t dmat_copy;
- int error;
-
- error = 0;
- dmat_copy = dmat;
-
- if (dmat != NULL) {
-
- if (dmat->map_count != 0) {
- error = EBUSY;
- goto out;
- }
-
- while (dmat != NULL) {
- bus_dma_tag_t parent;
-
- parent = dmat->parent;
- atomic_subtract_int(&dmat->ref_count, 1);
- if (dmat->ref_count == 0) {
- if (dmat->segments != NULL)
- free(dmat->segments, M_DEVBUF);
- free(dmat, M_DEVBUF);
- /*
- * Last reference count, so
- * release our reference
- * count on our parent.
- */
- dmat = parent;
- } else
- dmat = NULL;
- }
- }
-out:
- CTR3(KTR_BUSDMA, "%s tag %p error %d", __func__, dmat_copy, error);
- return (error);
-}
-
-/*
- * Allocate a handle for mapping from kva/uva/physical
- * address space into bus device space.
- */
-int
-bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp)
-{
- int error;
-
- error = 0;
-
- if (dmat->segments == NULL) {
- dmat->segments = (bus_dma_segment_t *)malloc(
- sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
- M_NOWAIT);
- if (dmat->segments == NULL) {
- CTR3(KTR_BUSDMA, "%s: tag %p error %d",
- __func__, dmat, ENOMEM);
- return (ENOMEM);
- }
- }
-
- /*
- * Bouncing might be required if the driver asks for an active
- * exclusion region, a data alignment that is stricter than 1, and/or
- * an active address boundary.
- */
- if (dmat->flags & BUS_DMA_COULD_BOUNCE) {
-
- /* Must bounce */
- struct bounce_zone *bz;
- int maxpages;
-
- if (dmat->bounce_zone == NULL) {
- if ((error = alloc_bounce_zone(dmat)) != 0)
- return (error);
- }
- bz = dmat->bounce_zone;
-
- *mapp = (bus_dmamap_t)malloc(sizeof(**mapp), M_DEVBUF,
- M_NOWAIT | M_ZERO);
- if (*mapp == NULL) {
- CTR3(KTR_BUSDMA, "%s: tag %p error %d",
- __func__, dmat, ENOMEM);
- return (ENOMEM);
- }
-
- /* Initialize the new map */
- STAILQ_INIT(&((*mapp)->bpages));
-
- /*
- * Attempt to add pages to our pool on a per-instance
- * basis up to a sane limit.
- */
- if (dmat->alignment > 1)
- maxpages = MAX_BPAGES;
- else
- maxpages = MIN(MAX_BPAGES, Maxmem -atop(dmat->lowaddr));
- if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0
- || (bz->map_count > 0 && bz->total_bpages < maxpages)) {
- int pages;
-
- pages = MAX(atop(dmat->maxsize), 1);
- pages = MIN(maxpages - bz->total_bpages, pages);
- pages = MAX(pages, 1);
- if (alloc_bounce_pages(dmat, pages) < pages)
- error = ENOMEM;
-
- if ((dmat->flags & BUS_DMA_MIN_ALLOC_COMP) == 0) {
- if (error == 0)
- dmat->flags |= BUS_DMA_MIN_ALLOC_COMP;
- } else {
- error = 0;
- }
- }
- bz->map_count++;
- } else {
- *mapp = NULL;
- }
- if (error == 0)
- dmat->map_count++;
- CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
- __func__, dmat, dmat->flags, error);
- return (error);
-}
-
-/*
- * Destroy a handle for mapping from kva/uva/physical
- * address space into bus device space.
- */
-int
-bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map)
-{
- if (map != NULL && map != &nobounce_dmamap) {
- if (STAILQ_FIRST(&map->bpages) != NULL) {
- CTR3(KTR_BUSDMA, "%s: tag %p error %d",
- __func__, dmat, EBUSY);
- return (EBUSY);
- }
- if (dmat->bounce_zone)
- dmat->bounce_zone->map_count--;
- free(map, M_DEVBUF);
- }
- dmat->map_count--;
- CTR2(KTR_BUSDMA, "%s: tag %p error 0", __func__, dmat);
- return (0);
-}
-
-
-/*
- * Allocate a piece of memory that can be efficiently mapped into
- * bus device space based on the constraints lited in the dma tag.
- * A dmamap to for use with dmamap_load is also allocated.
- */
-int
-bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags,
- bus_dmamap_t *mapp)
-{
- int mflags;
-
- if (flags & BUS_DMA_NOWAIT)
- mflags = M_NOWAIT;
- else
- mflags = M_WAITOK;
-
- /* If we succeed, no mapping/bouncing will be required */
- *mapp = NULL;
-
- if (dmat->segments == NULL) {
- dmat->segments = (bus_dma_segment_t *)malloc(
- sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
- mflags);
- if (dmat->segments == NULL) {
- CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
- __func__, dmat, dmat->flags, ENOMEM);
- return (ENOMEM);
- }
- }
- if (flags & BUS_DMA_ZERO)
- mflags |= M_ZERO;
-
- /*
- * XXX:
- * (dmat->alignment < dmat->maxsize) is just a quick hack; the exact
- * alignment guarantees of malloc need to be nailed down, and the
- * code below should be rewritten to take that into account.
- *
- * In the meantime, we'll warn the user if malloc gets it wrong.
- */
- if ((dmat->maxsize <= PAGE_SIZE) &&
- (dmat->alignment < dmat->maxsize) &&
- dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) {
- *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags);
- } else {
- /*
- * XXX Use Contigmalloc until it is merged into this facility
- * and handles multi-seg allocations. Nobody is doing
- * multi-seg allocations yet though.
- * XXX Certain AGP hardware does.
- */
- *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags,
- 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul,
- dmat->boundary);
- }
- if (*vaddr == NULL) {
- CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
- __func__, dmat, dmat->flags, ENOMEM);
- return (ENOMEM);
- } else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) {
- printf("bus_dmamem_alloc failed to align memory properly.\n");
- }
- if (flags & BUS_DMA_NOCACHE)
- pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
- PAT_UNCACHEABLE);
- CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
- __func__, dmat, dmat->flags, 0);
- return (0);
-}
-
-/*
- * Free a piece of memory and it's allociated dmamap, that was allocated
- * via bus_dmamem_alloc. Make the same choice for free/contigfree.
- */
-void
-bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map)
-{
- /*
- * dmamem does not need to be bounced, so the map should be
- * NULL
- */
- if (map != NULL)
- panic("bus_dmamem_free: Invalid map freed\n");
- pmap_change_attr((vm_offset_t)vaddr, dmat->maxsize, PAT_WRITE_BACK);
- if ((dmat->maxsize <= PAGE_SIZE) &&
- (dmat->alignment < dmat->maxsize) &&
- dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem))
- free(vaddr, M_DEVBUF);
- else {
- contigfree(vaddr, dmat->maxsize, M_DEVBUF);
- }
- CTR3(KTR_BUSDMA, "%s: tag %p flags 0x%x", __func__, dmat, dmat->flags);
-}
-
-/*
- * Utility function to load a linear buffer. lastaddrp holds state
- * between invocations (for multiple-buffer loads). segp contains
- * the starting segment on entrace, and the ending segment on exit.
- * first indicates if this is the first invocation of this function.
- */
-static __inline int
-_bus_dmamap_load_buffer(bus_dma_tag_t dmat,
- bus_dmamap_t map,
- void *buf, bus_size_t buflen,
- pmap_t pmap,
- int flags,
- bus_addr_t *lastaddrp,
- bus_dma_segment_t *segs,
- int *segp,
- int first)
-{
- bus_size_t sgsize;
- bus_addr_t curaddr, lastaddr, baddr, bmask;
- vm_offset_t vaddr;
- bus_addr_t paddr;
- int seg;
-
- if (map == NULL)
- map = &nobounce_dmamap;
-
- if ((map != &nobounce_dmamap && map->pagesneeded == 0)
- && ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0)) {
- vm_offset_t vendaddr;
-
- CTR4(KTR_BUSDMA, "lowaddr= %d Maxmem= %d, boundary= %d, "
- "alignment= %d", dmat->lowaddr, ptoa((vm_paddr_t)Maxmem),
- dmat->boundary, dmat->alignment);
- CTR3(KTR_BUSDMA, "map= %p, nobouncemap= %p, pagesneeded= %d",
- map, &nobounce_dmamap, map->pagesneeded);
- /*
- * Count the number of bounce pages
- * needed in order to complete this transfer
- */
- vaddr = (vm_offset_t)buf;
- vendaddr = (vm_offset_t)buf + buflen;
-
- while (vaddr < vendaddr) {
- bus_size_t sg_len;
-
- sg_len = PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK);
- if (pmap)
- paddr = pmap_extract(pmap, vaddr);
- else
- paddr = pmap_kextract(vaddr);
- if (run_filter(dmat, paddr) != 0) {
- sg_len = roundup2(sg_len, dmat->alignment);
- map->pagesneeded++;
- }
- vaddr += sg_len;
- }
- CTR1(KTR_BUSDMA, "pagesneeded= %d\n", map->pagesneeded);
- }
-
- /* Reserve Necessary Bounce Pages */
- if (map->pagesneeded != 0) {
- mtx_lock(&bounce_lock);
- if (flags & BUS_DMA_NOWAIT) {
- if (reserve_bounce_pages(dmat, map, 0) != 0) {
- mtx_unlock(&bounce_lock);
- return (ENOMEM);
- }
- } else {
- if (reserve_bounce_pages(dmat, map, 1) != 0) {
- /* Queue us for resources */
- map->dmat = dmat;
- map->buf = buf;
- map->buflen = buflen;
- STAILQ_INSERT_TAIL(&bounce_map_waitinglist,
- map, links);
- mtx_unlock(&bounce_lock);
- return (EINPROGRESS);
- }
- }
- mtx_unlock(&bounce_lock);
- }
-
- vaddr = (vm_offset_t)buf;
- lastaddr = *lastaddrp;
- bmask = ~(dmat->boundary - 1);
-
- for (seg = *segp; buflen > 0 ; ) {
- bus_size_t max_sgsize;
-
- /*
- * Get the physical address for this segment.
- */
- if (pmap)
- curaddr = pmap_extract(pmap, vaddr);
- else
- curaddr = pmap_kextract(vaddr);
-
- /*
- * Compute the segment size, and adjust counts.
- */
- max_sgsize = MIN(buflen, dmat->maxsegsz);
- sgsize = PAGE_SIZE - ((vm_offset_t)curaddr & PAGE_MASK);
- if (map->pagesneeded != 0 && run_filter(dmat, curaddr)) {
- sgsize = roundup2(sgsize, dmat->alignment);
- sgsize = MIN(sgsize, max_sgsize);
- curaddr = add_bounce_page(dmat, map, vaddr, sgsize);
- } else {
- sgsize = MIN(sgsize, max_sgsize);
- }
-
- /*
- * Make sure we don't cross any boundaries.
- */
- if (dmat->boundary > 0) {
- baddr = (curaddr + dmat->boundary) & bmask;
- if (sgsize > (baddr - curaddr))
- sgsize = (baddr - curaddr);
- }
-
- /*
- * Insert chunk into a segment, coalescing with
- * previous segment if possible.
- */
- if (first) {
- segs[seg].ds_addr = curaddr;
- segs[seg].ds_len = sgsize;
- first = 0;
- } else {
- if (curaddr == lastaddr &&
- (segs[seg].ds_len + sgsize) <= dmat->maxsegsz &&
- (dmat->boundary == 0 ||
- (segs[seg].ds_addr & bmask) == (curaddr & bmask)))
- segs[seg].ds_len += sgsize;
- else {
- if (++seg >= dmat->nsegments)
- break;
- segs[seg].ds_addr = curaddr;
- segs[seg].ds_len = sgsize;
- }
- }
-
- lastaddr = curaddr + sgsize;
- vaddr += sgsize;
- buflen -= sgsize;
- }
-
- *segp = seg;
- *lastaddrp = lastaddr;
-
- /*
- * Did we fit?
- */
- return (buflen != 0 ? EFBIG : 0); /* XXX better return value here? */
-}
-
-/*
- * Map the buffer buf into bus space using the dmamap map.
- */
-int
-bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
- bus_size_t buflen, bus_dmamap_callback_t *callback,
- void *callback_arg, int flags)
-{
- bus_addr_t lastaddr = 0;
- int error, nsegs = 0;
-
- if (map != NULL) {
- flags |= BUS_DMA_WAITOK;
- map->callback = callback;
- map->callback_arg = callback_arg;
- }
-
- error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags,
- &lastaddr, dmat->segments, &nsegs, 1);
-
- CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d",
- __func__, dmat, dmat->flags, error, nsegs + 1);
-
- if (error == EINPROGRESS) {
- return (error);
- }
-
- if (error)
- (*callback)(callback_arg, dmat->segments, 0, error);
- else
- (*callback)(callback_arg, dmat->segments, nsegs + 1, 0);
-
- /*
- * Return ENOMEM to the caller so that it can pass it up the stack.
- * This error only happens when NOWAIT is set, so deferal is disabled.
- */
- if (error == ENOMEM)
- return (error);
-
- return (0);
-}
-
-
-/*
- * Like _bus_dmamap_load(), but for mbufs.
- */
-int
-bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map,
- struct mbuf *m0,
- bus_dmamap_callback2_t *callback, void *callback_arg,
- int flags)
-{
- int nsegs, error;
-
- M_ASSERTPKTHDR(m0);
-
- flags |= BUS_DMA_NOWAIT;
- nsegs = 0;
- error = 0;
- if (m0->m_pkthdr.len <= dmat->maxsize) {
- int first = 1;
- bus_addr_t lastaddr = 0;
- struct mbuf *m;
-
- for (m = m0; m != NULL && error == 0; m = m->m_next) {
- if (m->m_len > 0) {
- error = _bus_dmamap_load_buffer(dmat, map,
- m->m_data, m->m_len,
- NULL, flags, &lastaddr,
- dmat->segments, &nsegs, first);
- first = 0;
- }
- }
- } else {
- error = EINVAL;
- }
-
- if (error) {
- /* force "no valid mappings" in callback */
- (*callback)(callback_arg, dmat->segments, 0, 0, error);
- } else {
- (*callback)(callback_arg, dmat->segments,
- nsegs+1, m0->m_pkthdr.len, error);
- }
- CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d",
- __func__, dmat, dmat->flags, error, nsegs + 1);
- return (error);
-}
-
-int
-bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map,
- struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs,
- int flags)
-{
- int error;
-
- M_ASSERTPKTHDR(m0);
-
- flags |= BUS_DMA_NOWAIT;
- *nsegs = 0;
- error = 0;
- if (m0->m_pkthdr.len <= dmat->maxsize) {
- int first = 1;
- bus_addr_t lastaddr = 0;
- struct mbuf *m;
-
- for (m = m0; m != NULL && error == 0; m = m->m_next) {
- if (m->m_len > 0) {
- error = _bus_dmamap_load_buffer(dmat, map,
- m->m_data, m->m_len,
- NULL, flags, &lastaddr,
- segs, nsegs, first);
- first = 0;
- }
- }
- } else {
- error = EINVAL;
- }
-
- /* XXX FIXME: Having to increment nsegs is really annoying */
- ++*nsegs;
- CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d",
- __func__, dmat, dmat->flags, error, *nsegs);
- return (error);
-}
-
-/*
- * Like _bus_dmamap_load(), but for uios.
- */
-int
-bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map,
- struct uio *uio,
- bus_dmamap_callback2_t *callback, void *callback_arg,
- int flags)
-{
- bus_addr_t lastaddr = 0;
- int nsegs, error, first, i;
- bus_size_t resid;
- struct iovec *iov;
- pmap_t pmap;
-
- flags |= BUS_DMA_NOWAIT;
- resid = uio->uio_resid;
- iov = uio->uio_iov;
-
- if (uio->uio_segflg == UIO_USERSPACE) {
- KASSERT(uio->uio_td != NULL,
- ("bus_dmamap_load_uio: USERSPACE but no proc"));
- pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace);
- } else
- pmap = NULL;
-
- nsegs = 0;
- error = 0;
- first = 1;
- for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) {
- /*
- * Now at the first iovec to load. Load each iovec
- * until we have exhausted the residual count.
- */
- bus_size_t minlen =
- resid < iov[i].iov_len ? resid : iov[i].iov_len;
- caddr_t addr = (caddr_t) iov[i].iov_base;
-
- if (minlen > 0) {
- error = _bus_dmamap_load_buffer(dmat, map,
- addr, minlen, pmap, flags, &lastaddr,
- dmat->segments, &nsegs, first);
- first = 0;
-
- resid -= minlen;
- }
- }
-
- if (error) {
- /* force "no valid mappings" in callback */
- (*callback)(callback_arg, dmat->segments, 0, 0, error);
- } else {
- (*callback)(callback_arg, dmat->segments,
- nsegs+1, uio->uio_resid, error);
- }
- CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d",
- __func__, dmat, dmat->flags, error, nsegs + 1);
- return (error);
-}
-
-/*
- * Release the mapping held by map.
- */
-void
-_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map)
-{
- struct bounce_page *bpage;
-
- while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
- STAILQ_REMOVE_HEAD(&map->bpages, links);
- free_bounce_page(dmat, bpage);
- }
-}
-
-void
-_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
-{
- struct bounce_page *bpage;
-
- if ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) {
- /*
- * Handle data bouncing. We might also
- * want to add support for invalidating
- * the caches on broken hardware
- */
- CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x "
- "performing bounce", __func__, op, dmat, dmat->flags);
-
- if (op & BUS_DMASYNC_PREWRITE) {
- while (bpage != NULL) {
- bcopy((void *)bpage->datavaddr,
- (void *)bpage->vaddr,
- bpage->datacount);
- bpage = STAILQ_NEXT(bpage, links);
- }
- dmat->bounce_zone->total_bounced++;
- }
-
- if (op & BUS_DMASYNC_POSTREAD) {
- while (bpage != NULL) {
- bcopy((void *)bpage->vaddr,
- (void *)bpage->datavaddr,
- bpage->datacount);
- bpage = STAILQ_NEXT(bpage, links);
- }
- dmat->bounce_zone->total_bounced++;
- }
- }
-}
-
-static void
-init_bounce_pages(void *dummy __unused)
-{
-
- total_bpages = 0;
- STAILQ_INIT(&bounce_zone_list);
- STAILQ_INIT(&bounce_map_waitinglist);
- STAILQ_INIT(&bounce_map_callbacklist);
- mtx_init(&bounce_lock, "bounce pages lock", NULL, MTX_DEF);
-}
-SYSINIT(bpages, SI_SUB_LOCK, SI_ORDER_ANY, init_bounce_pages, NULL);
-
-static struct sysctl_ctx_list *
-busdma_sysctl_tree(struct bounce_zone *bz)
-{
- return (&bz->sysctl_tree);
-}
-
-static struct sysctl_oid *
-busdma_sysctl_tree_top(struct bounce_zone *bz)
-{
- return (bz->sysctl_tree_top);
-}
-
-static int
-alloc_bounce_zone(bus_dma_tag_t dmat)
-{
- struct bounce_zone *bz;
-
- /* Check to see if we already have a suitable zone */
- STAILQ_FOREACH(bz, &bounce_zone_list, links) {
- if ((dmat->alignment <= bz->alignment)
- && (dmat->lowaddr >= bz->lowaddr)) {
- dmat->bounce_zone = bz;
- return (0);
- }
- }
-
- if ((bz = (struct bounce_zone *)malloc(sizeof(*bz), M_DEVBUF,
- M_NOWAIT | M_ZERO)) == NULL)
- return (ENOMEM);
-
- STAILQ_INIT(&bz->bounce_page_list);
- bz->free_bpages = 0;
- bz->reserved_bpages = 0;
- bz->active_bpages = 0;
- bz->lowaddr = dmat->lowaddr;
- bz->alignment = MAX(dmat->alignment, PAGE_SIZE);
- bz->map_count = 0;
- snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
- busdma_zonecount++;
- snprintf(bz->lowaddrid, 18, "%#jx", (uintmax_t)bz->lowaddr);
- STAILQ_INSERT_TAIL(&bounce_zone_list, bz, links);
- dmat->bounce_zone = bz;
-
- sysctl_ctx_init(&bz->sysctl_tree);
- bz->sysctl_tree_top = SYSCTL_ADD_NODE(&bz->sysctl_tree,
- SYSCTL_STATIC_CHILDREN(_hw_busdma), OID_AUTO, bz->zoneid,
- CTLFLAG_RD, 0, "");
- if (bz->sysctl_tree_top == NULL) {
- sysctl_ctx_free(&bz->sysctl_tree);
- return (0); /* XXX error code? */
- }
-
- SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
- SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
- "total_bpages", CTLFLAG_RD, &bz->total_bpages, 0,
- "Total bounce pages");
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
From owner-svn-src-projects@FreeBSD.ORG Wed May 26 04:14:30 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id 9A75B1065670;
Wed, 26 May 2010 04:14:30 +0000 (UTC)
(envelope-from marcel@FreeBSD.org)
Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id 859B68FC0C;
Wed, 26 May 2010 04:14:30 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4Q4EUop032069;
Wed, 26 May 2010 04:14:30 GMT (envelope-from marcel@svn.freebsd.org)
Received: (from marcel@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4Q4EUCf032059;
Wed, 26 May 2010 04:14:30 GMT (envelope-from marcel@svn.freebsd.org)
Message-Id: <201005260414.o4Q4EUCf032059@svn.freebsd.org>
From: Marcel Moolenaar
Date: Wed, 26 May 2010 04:14:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r208558 - in projects/altix/sys: amd64/amd64 amd64/ia32
amd64/include amd64/linux32 arm/arm arm/include boot
boot/arm/uboot boot/common boot/fdt boot/forth
boot/i386/zfsboot boot/powerp...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Wed, 26 May 2010 04:14:30 -0000
Author: marcel
Date: Wed May 26 04:14:29 2010
New Revision: 208558
URL: http://svn.freebsd.org/changeset/base/208558
Log:
Merge svn+ssh://svn.freebsd.org/base/head@208557
Added:
projects/altix/sys/boot/fdt/
- copied from r208557, head/sys/boot/fdt/
projects/altix/sys/cddl/compat/opensolaris/sys/taskq.h
- copied unchanged from r208557, head/sys/cddl/compat/opensolaris/sys/taskq.h
projects/altix/sys/dev/usb/input/uep.c
- copied unchanged from r208557, head/sys/dev/usb/input/uep.c
projects/altix/sys/mips/rmi/mpwait.S
- copied unchanged from r208557, head/sys/mips/rmi/mpwait.S
projects/altix/sys/modules/usb/uep/
- copied from r208557, head/sys/modules/usb/uep/
projects/altix/sys/powerpc/powermac/uninorthpci.c
- copied unchanged from r208557, head/sys/powerpc/powermac/uninorthpci.c
projects/altix/sys/x86/x86/
- copied from r208557, head/sys/x86/x86/
Deleted:
projects/altix/sys/amd64/amd64/local_apic.c
projects/altix/sys/i386/i386/local_apic.c
projects/altix/sys/mips/rmi/ehcireg.h
projects/altix/sys/mips/rmi/ehcivar.h
projects/altix/sys/mips/rmi/pcibus.c
projects/altix/sys/mips/rmi/perfmon.h
projects/altix/sys/mips/rmi/perfmon_kern.c
projects/altix/sys/mips/rmi/perfmon_percpu.c
projects/altix/sys/mips/rmi/perfmon_utils.h
projects/altix/sys/mips/rmi/perfmon_xlrconfig.h
projects/altix/sys/mips/rmi/xlr_boot1_console.c
projects/altix/sys/powerpc/powermac/cpchtvar.h
Modified:
projects/altix/sys/amd64/amd64/apic_vector.S
projects/altix/sys/amd64/amd64/db_interface.c
projects/altix/sys/amd64/amd64/elf_machdep.c
projects/altix/sys/amd64/amd64/exception.S
projects/altix/sys/amd64/amd64/mca.c
projects/altix/sys/amd64/amd64/mp_machdep.c
projects/altix/sys/amd64/amd64/pmap.c
projects/altix/sys/amd64/amd64/trap.c
projects/altix/sys/amd64/ia32/ia32_syscall.c
projects/altix/sys/amd64/include/apicreg.h
projects/altix/sys/amd64/include/apicvar.h
projects/altix/sys/amd64/include/atomic.h
projects/altix/sys/amd64/include/clock.h
projects/altix/sys/amd64/include/mca.h
projects/altix/sys/amd64/include/pcpu.h
projects/altix/sys/amd64/include/proc.h
projects/altix/sys/amd64/include/specialreg.h
projects/altix/sys/amd64/linux32/linux32_sysvec.c
projects/altix/sys/arm/arm/elf_machdep.c
projects/altix/sys/arm/arm/identcpu.c
projects/altix/sys/arm/arm/pmap.c
projects/altix/sys/arm/arm/trap.c
projects/altix/sys/arm/include/disassem.h
projects/altix/sys/arm/include/md_var.h
projects/altix/sys/arm/include/metadata.h
projects/altix/sys/boot/Makefile
projects/altix/sys/boot/arm/uboot/Makefile
projects/altix/sys/boot/arm/uboot/version
projects/altix/sys/boot/common/module.c
projects/altix/sys/boot/forth/loader.conf.5
projects/altix/sys/boot/i386/zfsboot/zfsboot.c
projects/altix/sys/boot/powerpc/uboot/Makefile
projects/altix/sys/boot/powerpc/uboot/version
projects/altix/sys/boot/uboot/common/main.c
projects/altix/sys/boot/uboot/common/metadata.c
projects/altix/sys/boot/uboot/lib/Makefile
projects/altix/sys/boot/uboot/lib/disk.c
projects/altix/sys/boot/uboot/lib/glue.c
projects/altix/sys/cam/ata/ata_da.c
projects/altix/sys/cam/ata/ata_xpt.c
projects/altix/sys/cam/scsi/scsi_sg.c
projects/altix/sys/cam/scsi/scsi_xpt.c
projects/altix/sys/cddl/boot/zfs/zfsimpl.h
projects/altix/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
projects/altix/sys/cddl/compat/opensolaris/sys/dnlc.h
projects/altix/sys/cddl/compat/opensolaris/sys/sysmacros.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_zfetch.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
projects/altix/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
projects/altix/sys/cddl/dev/systrace/systrace.c
projects/altix/sys/compat/ia32/ia32_sysvec.c
projects/altix/sys/compat/ia32/ia32_util.h
projects/altix/sys/compat/linux/linux_ioctl.c
projects/altix/sys/compat/linux/linux_ioctl.h
projects/altix/sys/compat/svr4/svr4_sysvec.c
projects/altix/sys/conf/NOTES
projects/altix/sys/conf/files
projects/altix/sys/conf/files.amd64
projects/altix/sys/conf/files.i386
projects/altix/sys/conf/files.pc98
projects/altix/sys/conf/files.powerpc
projects/altix/sys/conf/files.sparc64
projects/altix/sys/conf/options
projects/altix/sys/contrib/dev/run/rt2870.fw.uu
projects/altix/sys/ddb/db_command.c
projects/altix/sys/ddb/db_command.h
projects/altix/sys/ddb/db_output.c
projects/altix/sys/ddb/db_thread.c
projects/altix/sys/ddb/ddb.h
projects/altix/sys/dev/acpica/acpi.c
projects/altix/sys/dev/acpica/acpi_hpet.c
projects/altix/sys/dev/acpica/acpivar.h
projects/altix/sys/dev/ahci/ahci.c
projects/altix/sys/dev/ata/ata-all.c
projects/altix/sys/dev/ata/ata-disk.c
projects/altix/sys/dev/ata/ata-pci.c
projects/altix/sys/dev/ata/ata-pci.h
projects/altix/sys/dev/ata/chipsets/ata-serverworks.c
projects/altix/sys/dev/bwn/if_bwn.c
projects/altix/sys/dev/cxgb/cxgb_main.c
projects/altix/sys/dev/e1000/if_em.c
projects/altix/sys/dev/e1000/if_igb.c
projects/altix/sys/dev/e1000/if_lem.c
projects/altix/sys/dev/esp/esp_sbus.c
projects/altix/sys/dev/fb/vesa.c
projects/altix/sys/dev/fxp/if_fxp.c
projects/altix/sys/dev/fxp/if_fxpreg.h
projects/altix/sys/dev/fxp/if_fxpvar.h
projects/altix/sys/dev/ipw/if_ipw.c
projects/altix/sys/dev/isp/isp_freebsd.c
projects/altix/sys/dev/isp/ispvar.h
projects/altix/sys/dev/ixgbe/ixgbe.c
projects/altix/sys/dev/ixgbe/ixgbe.h
projects/altix/sys/dev/mmc/mmc.c
projects/altix/sys/dev/mvs/mvs.c
projects/altix/sys/dev/mvs/mvs_pci.c
projects/altix/sys/dev/mvs/mvs_soc.c
projects/altix/sys/dev/mxge/eth_z8e.h
projects/altix/sys/dev/mxge/ethp_z8e.h
projects/altix/sys/dev/mxge/if_mxge.c
projects/altix/sys/dev/mxge/rss_eth_z8e.h
projects/altix/sys/dev/mxge/rss_ethp_z8e.h
projects/altix/sys/dev/pci/pci.c
projects/altix/sys/dev/puc/pucdata.c
projects/altix/sys/dev/sge/if_sge.c
projects/altix/sys/dev/sge/if_sgereg.h
projects/altix/sys/dev/siis/siis.c
projects/altix/sys/dev/syscons/syscons.c
projects/altix/sys/dev/syscons/syscons.h
projects/altix/sys/dev/usb/controller/ehci.c
projects/altix/sys/dev/usb/controller/usb_controller.c
projects/altix/sys/dev/usb/input/ums.c
projects/altix/sys/dev/usb/net/uhso.c
projects/altix/sys/dev/usb/quirk/usb_quirk.c
projects/altix/sys/dev/usb/serial/u3g.c
projects/altix/sys/dev/usb/serial/uftdi.c
projects/altix/sys/dev/usb/usb_dev.c
projects/altix/sys/dev/usb/usb_device.c
projects/altix/sys/dev/usb/usb_device.h
projects/altix/sys/dev/usb/usb_generic.c
projects/altix/sys/dev/usb/usb_hid.c
projects/altix/sys/dev/usb/usb_hub.c
projects/altix/sys/dev/usb/usb_request.c
projects/altix/sys/dev/usb/usbdevs
projects/altix/sys/dev/usb/usbhid.h
projects/altix/sys/dev/usb/wlan/if_run.c
projects/altix/sys/dev/usb/wlan/if_runreg.h
projects/altix/sys/dev/usb/wlan/if_runvar.h
projects/altix/sys/fs/nfsclient/nfs_clsubs.c
projects/altix/sys/fs/nfsclient/nfs_clvfsops.c
projects/altix/sys/fs/nullfs/null_vnops.c
projects/altix/sys/fs/procfs/procfs_ctl.c
projects/altix/sys/geom/multipath/g_multipath.c
projects/altix/sys/geom/part/g_part_apm.c
projects/altix/sys/geom/part/g_part_vtoc8.c
projects/altix/sys/geom/vinum/geom_vinum.c
projects/altix/sys/geom/vinum/geom_vinum.h
projects/altix/sys/geom/vinum/geom_vinum_events.c
projects/altix/sys/geom/vinum/geom_vinum_var.h
projects/altix/sys/geom/zero/g_zero.c
projects/altix/sys/i386/i386/apic_vector.s
projects/altix/sys/i386/i386/elf_machdep.c
projects/altix/sys/i386/i386/geode.c
projects/altix/sys/i386/i386/mca.c
projects/altix/sys/i386/i386/mp_machdep.c
projects/altix/sys/i386/i386/pmap.c
projects/altix/sys/i386/i386/trap.c
projects/altix/sys/i386/ibcs2/ibcs2_sysvec.c
projects/altix/sys/i386/include/apicreg.h
projects/altix/sys/i386/include/apicvar.h
projects/altix/sys/i386/include/atomic.h
projects/altix/sys/i386/include/clock.h
projects/altix/sys/i386/include/mca.h
projects/altix/sys/i386/include/pcpu.h
projects/altix/sys/i386/include/proc.h
projects/altix/sys/i386/include/specialreg.h
projects/altix/sys/i386/linux/linux_sysvec.c
projects/altix/sys/i386/xen/pmap.c
projects/altix/sys/ia64/ia32/ia32_trap.c
projects/altix/sys/ia64/ia64/db_machdep.c
projects/altix/sys/ia64/ia64/elf_machdep.c
projects/altix/sys/ia64/ia64/pmap.c
projects/altix/sys/ia64/ia64/trap.c
projects/altix/sys/ia64/include/ia64_cpu.h
projects/altix/sys/ia64/include/pmap.h
projects/altix/sys/ia64/include/proc.h
projects/altix/sys/ia64/include/runq.h
projects/altix/sys/ia64/include/sal.h
projects/altix/sys/ia64/include/vmparam.h
projects/altix/sys/isa/syscons_isa.c
projects/altix/sys/kern/imgact_aout.c
projects/altix/sys/kern/init_main.c
projects/altix/sys/kern/kern_clock.c
projects/altix/sys/kern/kern_exec.c
projects/altix/sys/kern/kern_kthread.c
projects/altix/sys/kern/kern_mutex.c
projects/altix/sys/kern/kern_resource.c
projects/altix/sys/kern/kern_sig.c
projects/altix/sys/kern/kern_thread.c
projects/altix/sys/kern/sched_4bsd.c
projects/altix/sys/kern/sched_ule.c
projects/altix/sys/kern/subr_pcpu.c
projects/altix/sys/kern/subr_smp.c
projects/altix/sys/kern/subr_trap.c
projects/altix/sys/kern/subr_uio.c
projects/altix/sys/kern/subr_witness.c
projects/altix/sys/kern/sys_generic.c
projects/altix/sys/kern/sys_pipe.c
projects/altix/sys/kern/sys_process.c
projects/altix/sys/kern/vfs_bio.c
projects/altix/sys/kern/vfs_default.c
projects/altix/sys/kern/vfs_subr.c
projects/altix/sys/kern/vnode_if.src
projects/altix/sys/mips/adm5120/if_admsw.c
projects/altix/sys/mips/conf/XLR
projects/altix/sys/mips/include/asm.h
projects/altix/sys/mips/include/hwfunc.h
projects/altix/sys/mips/include/locore.h
projects/altix/sys/mips/include/param.h
projects/altix/sys/mips/include/smp.h
projects/altix/sys/mips/mips/cpu.c
projects/altix/sys/mips/mips/db_trace.c
projects/altix/sys/mips/mips/elf64_machdep.c
projects/altix/sys/mips/mips/elf_machdep.c
projects/altix/sys/mips/mips/machdep.c
projects/altix/sys/mips/mips/mp_machdep.c
projects/altix/sys/mips/mips/mpboot.S
projects/altix/sys/mips/mips/pmap.c
projects/altix/sys/mips/mips/swtch.S
projects/altix/sys/mips/mips/trap.c
projects/altix/sys/mips/rmi/dev/xlr/rge.c
projects/altix/sys/mips/rmi/files.xlr
projects/altix/sys/mips/rmi/interrupt.h
projects/altix/sys/mips/rmi/intr_machdep.c
projects/altix/sys/mips/rmi/iodi.c
projects/altix/sys/mips/rmi/on_chip.c
projects/altix/sys/mips/rmi/pic.h
projects/altix/sys/mips/rmi/xlr_machdep.c
projects/altix/sys/mips/rmi/xlr_pci.c
projects/altix/sys/mips/rmi/xlrconfig.h
projects/altix/sys/mips/sibyte/sb_machdep.c
projects/altix/sys/modules/Makefile
projects/altix/sys/modules/ata/atadisk/Makefile
projects/altix/sys/modules/cam/Makefile
projects/altix/sys/modules/cas/Makefile
projects/altix/sys/modules/linux/Makefile
projects/altix/sys/modules/mvs/Makefile
projects/altix/sys/modules/uart/Makefile
projects/altix/sys/modules/zfs/Makefile
projects/altix/sys/net/flowtable.c
projects/altix/sys/net/flowtable.h
projects/altix/sys/net/if.c
projects/altix/sys/net/if_var.h
projects/altix/sys/net/if_vlan.c
projects/altix/sys/net/route.c
projects/altix/sys/net/rtsock.c
projects/altix/sys/net/vnet.c
projects/altix/sys/netgraph/ng_base.c
projects/altix/sys/netgraph/ng_socket.c
projects/altix/sys/netinet/in.c
projects/altix/sys/netinet/in_pcb.c
projects/altix/sys/netinet/ip_options.c
projects/altix/sys/netinet/ip_output.c
projects/altix/sys/netinet/sctp_bsd_addr.c
projects/altix/sys/netinet/sctp_bsd_addr.h
projects/altix/sys/netinet/sctp_constants.h
projects/altix/sys/netinet/sctp_indata.c
projects/altix/sys/netinet/sctp_input.c
projects/altix/sys/netinet/sctp_lock_bsd.h
projects/altix/sys/netinet/sctp_output.c
projects/altix/sys/netinet/sctp_pcb.c
projects/altix/sys/netinet/sctp_pcb.h
projects/altix/sys/netinet/sctp_structs.h
projects/altix/sys/netinet/sctp_timer.c
projects/altix/sys/netinet/sctp_usrreq.c
projects/altix/sys/netinet/sctputil.c
projects/altix/sys/netinet6/in6.c
projects/altix/sys/netinet6/in6_proto.c
projects/altix/sys/netinet6/ip6_input.c
projects/altix/sys/netinet6/ip6_output.c
projects/altix/sys/netinet6/udp6_usrreq.c
projects/altix/sys/netipsec/ipsec_input.c
projects/altix/sys/pc98/cbus/clock.c
projects/altix/sys/pc98/include/md_var.h
projects/altix/sys/pc98/pc98/pc98_machdep.c
projects/altix/sys/powerpc/aim/mmu_oea.c
projects/altix/sys/powerpc/aim/mmu_oea64.c
projects/altix/sys/powerpc/aim/ofw_machdep.c
projects/altix/sys/powerpc/aim/trap.c
projects/altix/sys/powerpc/booke/pmap.c
projects/altix/sys/powerpc/booke/trap.c
projects/altix/sys/powerpc/cpufreq/pcr.c
projects/altix/sys/powerpc/include/intr_machdep.h
projects/altix/sys/powerpc/include/metadata.h
projects/altix/sys/powerpc/include/pmap.h
projects/altix/sys/powerpc/include/proc.h
projects/altix/sys/powerpc/ofw/ofw_pcibus.c
projects/altix/sys/powerpc/powermac/ata_kauai.c
projects/altix/sys/powerpc/powermac/cpcht.c
projects/altix/sys/powerpc/powermac/smu.c
projects/altix/sys/powerpc/powermac/uninorth.c
projects/altix/sys/powerpc/powermac/uninorthvar.h
projects/altix/sys/powerpc/powerpc/elf_machdep.c
projects/altix/sys/powerpc/powerpc/mmu_if.m
projects/altix/sys/powerpc/powerpc/openpic.c
projects/altix/sys/powerpc/powerpc/pmap_dispatch.c
projects/altix/sys/sparc64/include/md_var.h
projects/altix/sys/sparc64/include/proc.h
projects/altix/sys/sparc64/pci/schizo.c
projects/altix/sys/sparc64/pci/schizoreg.h
projects/altix/sys/sparc64/pci/schizovar.h
projects/altix/sys/sparc64/sparc64/ata_machdep.c
projects/altix/sys/sparc64/sparc64/elf_machdep.c
projects/altix/sys/sparc64/sparc64/pmap.c
projects/altix/sys/sparc64/sparc64/trap.c
projects/altix/sys/sun4v/include/proc.h
projects/altix/sys/sun4v/sun4v/pmap.c
projects/altix/sys/sun4v/sun4v/trap.c
projects/altix/sys/sys/endian.h
projects/altix/sys/sys/eventhandler.h
projects/altix/sys/sys/kernel.h
projects/altix/sys/sys/kthread.h
projects/altix/sys/sys/lock.h
projects/altix/sys/sys/param.h
projects/altix/sys/sys/pcpu.h
projects/altix/sys/sys/proc.h
projects/altix/sys/sys/ptrace.h
projects/altix/sys/sys/resourcevar.h
projects/altix/sys/sys/sysent.h
projects/altix/sys/sys/systm.h
projects/altix/sys/sys/vmmeter.h
projects/altix/sys/sys/vnode.h
projects/altix/sys/ufs/ffs/ffs_softdep.c
projects/altix/sys/ufs/ffs/ffs_vfsops.c
projects/altix/sys/ufs/ffs/softdep.h
projects/altix/sys/vm/pmap.h
projects/altix/sys/vm/swap_pager.c
projects/altix/sys/vm/vm_contig.c
projects/altix/sys/vm/vm_fault.c
projects/altix/sys/vm/vm_mmap.c
projects/altix/sys/vm/vm_object.c
projects/altix/sys/vm/vm_page.c
projects/altix/sys/vm/vm_page.h
projects/altix/sys/vm/vm_pageout.c
projects/altix/sys/x86/isa/clock.c
Directory Properties:
projects/altix/lib/libstand/ (props changed)
projects/altix/sys/ (props changed)
projects/altix/sys/amd64/include/xen/ (props changed)
projects/altix/sys/cddl/contrib/opensolaris/ (props changed)
projects/altix/sys/contrib/dev/acpica/ (props changed)
projects/altix/sys/contrib/x86emu/ (props changed)
projects/altix/sys/dev/xen/xenpci/ (props changed)
Modified: projects/altix/sys/amd64/amd64/apic_vector.S
==============================================================================
--- projects/altix/sys/amd64/amd64/apic_vector.S Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/apic_vector.S Wed May 26 04:14:29 2010 (r208558)
@@ -81,7 +81,7 @@ IDTVEC(spuriousint)
/* No EOI cycle used here */
- iretq
+ jmp doreti_iret
ISR_VEC(1, apic_isr1)
ISR_VEC(2, apic_isr2)
@@ -105,6 +105,18 @@ IDTVEC(timerint)
jmp doreti
/*
+ * Local APIC CMCI handler.
+ */
+ .text
+ SUPERALIGN_TEXT
+IDTVEC(cmcint)
+ PUSH_FRAME
+ FAKE_MCOUNT(TF_RIP(%rsp))
+ call lapic_handle_cmc
+ MEXITCOUNT
+ jmp doreti
+
+/*
* Local APIC error interrupt handler.
*/
.text
@@ -135,7 +147,7 @@ IDTVEC(invltlb)
incl smp_tlb_wait
popq %rax
- iretq
+ jmp doreti_iret
/*
* Single page TLB shootdown
@@ -155,7 +167,7 @@ IDTVEC(invlpg)
incl smp_tlb_wait
popq %rax
- iretq
+ jmp doreti_iret
/*
* Page range TLB shootdown.
@@ -181,7 +193,7 @@ IDTVEC(invlrng)
popq %rdx
popq %rax
- iretq
+ jmp doreti_iret
/*
* Invalidate cache.
@@ -200,7 +212,7 @@ IDTVEC(invlcache)
incl smp_tlb_wait
popq %rax
- iretq
+ jmp doreti_iret
/*
* Handler for IPIs sent via the per-cpu IPI bitmap.
@@ -247,7 +259,7 @@ IDTVEC(cpususpend)
call cpususpend_handler
POP_FRAME
- iretq
+ jmp doreti_iret
/*
* Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU.
Modified: projects/altix/sys/amd64/amd64/db_interface.c
==============================================================================
--- projects/altix/sys/amd64/amd64/db_interface.c Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/db_interface.c Wed May 26 04:14:29 2010 (r208558)
@@ -139,11 +139,11 @@ void
db_show_mdpcpu(struct pcpu *pc)
{
- db_printf("curpmap = %p\n", pc->pc_curpmap);
- db_printf("tssp = %p\n", pc->pc_tssp);
- db_printf("commontssp = %p\n", pc->pc_commontssp);
- db_printf("rsp0 = 0x%lx\n", pc->pc_rsp0);
- db_printf("gs32p = %p\n", pc->pc_gs32p);
- db_printf("ldt = %p\n", pc->pc_ldt);
- db_printf("tss = %p\n", pc->pc_tss);
+ db_printf("curpmap = %p\n", pc->pc_curpmap);
+ db_printf("tssp = %p\n", pc->pc_tssp);
+ db_printf("commontssp = %p\n", pc->pc_commontssp);
+ db_printf("rsp0 = 0x%lx\n", pc->pc_rsp0);
+ db_printf("gs32p = %p\n", pc->pc_gs32p);
+ db_printf("ldt = %p\n", pc->pc_ldt);
+ db_printf("tss = %p\n", pc->pc_tss);
}
Modified: projects/altix/sys/amd64/amd64/elf_machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/elf_machdep.c Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/elf_machdep.c Wed May 26 04:14:29 2010 (r208558)
@@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$");
#include
#include
#include
+#include
#include
#include
#include
@@ -74,7 +75,10 @@ struct sysentvec elf64_freebsd_sysvec =
.sv_setregs = exec_setregs,
.sv_fixlimit = NULL,
.sv_maxssiz = NULL,
- .sv_flags = SV_ABI_FREEBSD | SV_LP64
+ .sv_flags = SV_ABI_FREEBSD | SV_LP64,
+ .sv_set_syscall_retval = cpu_set_syscall_retval,
+ .sv_fetch_syscall_args = cpu_fetch_syscall_args,
+ .sv_syscallnames = syscallnames,
};
static Elf64_Brandinfo freebsd_brand_info = {
Modified: projects/altix/sys/amd64/amd64/exception.S
==============================================================================
--- projects/altix/sys/amd64/amd64/exception.S Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/exception.S Wed May 26 04:14:29 2010 (r208558)
@@ -553,7 +553,7 @@ nmi_restoreregs:
movq TF_R14(%rsp),%r14
movq TF_R15(%rsp),%r15
addq $TF_RIP,%rsp
- iretq
+ jmp doreti_iret
ENTRY(fork_trampoline)
movq %r12,%rdi /* function */
Modified: projects/altix/sys/amd64/amd64/mca.c
==============================================================================
--- projects/altix/sys/amd64/amd64/mca.c Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/mca.c Wed May 26 04:14:29 2010 (r208558)
@@ -33,6 +33,8 @@
__FBSDID("$FreeBSD$");
#include
+#include
+#include
#include
#include
#include
@@ -43,11 +45,29 @@ __FBSDID("$FreeBSD$");
#include
#include
#include
+#include
+#include
#include
#include
#include
#include
+/* Modes for mca_scan() */
+enum scan_mode {
+ POLLED,
+ MCE,
+ CMCI,
+};
+
+/*
+ * State maintained for each monitored MCx bank to control the
+ * corrected machine check interrupt threshold.
+ */
+struct cmc_state {
+ int max_threshold;
+ int last_intr;
+};
+
struct mca_internal {
struct mca_record rec;
int logged;
@@ -79,19 +99,22 @@ static struct callout mca_timer;
static int mca_ticks = 3600; /* Check hourly by default. */
static struct task mca_task;
static struct mtx mca_lock;
+static struct cmc_state **cmc_state; /* Indexed by cpuid, bank */
+static int cmc_banks;
+static int cmc_throttle = 60; /* Time in seconds to throttle CMCI. */
static int
-sysctl_mca_ticks(SYSCTL_HANDLER_ARGS)
+sysctl_positive_int(SYSCTL_HANDLER_ARGS)
{
int error, value;
- value = mca_ticks;
+ value = *(int *)arg1;
error = sysctl_handle_int(oidp, &value, 0, req);
if (error || req->newptr == NULL)
return (error);
if (value <= 0)
return (EINVAL);
- mca_ticks = value;
+ *(int *)arg1 = value;
return (0);
}
@@ -401,31 +424,112 @@ mca_record_entry(const struct mca_record
}
/*
+ * Update the interrupt threshold for a CMCI. The strategy is to use
+ * a low trigger that interrupts as soon as the first event occurs.
+ * However, if a steady stream of events arrive, the threshold is
+ * increased until the interrupts are throttled to once every
+ * cmc_throttle seconds or the periodic scan. If a periodic scan
+ * finds that the threshold is too high, it is lowered.
+ */
+static void
+cmci_update(enum scan_mode mode, int bank, int valid, struct mca_record *rec)
+{
+ struct cmc_state *cc;
+ uint64_t ctl;
+ u_int delta;
+ int count, limit;
+
+ /* Fetch the current limit for this bank. */
+ cc = &cmc_state[PCPU_GET(cpuid)][bank];
+ ctl = rdmsr(MSR_MC_CTL2(bank));
+ count = (rec->mr_status & MC_STATUS_COR_COUNT) >> 38;
+ delta = (u_int)(ticks - cc->last_intr);
+
+ /*
+ * If an interrupt was received less than cmc_throttle seconds
+ * since the previous interrupt and the count from the current
+ * event is greater than or equal to the current threshold,
+ * double the threshold up to the max.
+ */
+ if (mode == CMCI && valid) {
+ limit = ctl & MC_CTL2_THRESHOLD;
+ if (delta < cmc_throttle && count >= limit &&
+ limit < cc->max_threshold) {
+ limit = min(limit << 1, cc->max_threshold);
+ ctl &= ~MC_CTL2_THRESHOLD;
+ ctl |= limit;
+ wrmsr(MSR_MC_CTL2(bank), limit);
+ }
+ cc->last_intr = ticks;
+ return;
+ }
+
+ /*
+ * When the banks are polled, check to see if the threshold
+ * should be lowered.
+ */
+ if (mode != POLLED)
+ return;
+
+ /* If a CMCI occured recently, do nothing for now. */
+ if (delta < cmc_throttle)
+ return;
+
+ /*
+ * Compute a new limit based on the average rate of events per
+ * cmc_throttle seconds since the last interrupt.
+ */
+ if (valid) {
+ count = (rec->mr_status & MC_STATUS_COR_COUNT) >> 38;
+ limit = count * cmc_throttle / delta;
+ if (limit <= 0)
+ limit = 1;
+ else if (limit > cc->max_threshold)
+ limit = cc->max_threshold;
+ } else
+ limit = 1;
+ if ((ctl & MC_CTL2_THRESHOLD) != limit) {
+ ctl &= ~MC_CTL2_THRESHOLD;
+ ctl |= limit;
+ wrmsr(MSR_MC_CTL2(bank), limit);
+ }
+}
+
+/*
* This scans all the machine check banks of the current CPU to see if
* there are any machine checks. Any non-recoverable errors are
* reported immediately via mca_log(). The current thread must be
- * pinned when this is called. The 'mcip' parameter indicates if we
- * are being called from the MC exception handler. In that case this
- * function returns true if the system is restartable. Otherwise, it
- * returns a count of the number of valid MC records found.
+ * pinned when this is called. The 'mode' parameter indicates if we
+ * are being called from the MC exception handler, the CMCI handler,
+ * or the periodic poller. In the MC exception case this function
+ * returns true if the system is restartable. Otherwise, it returns a
+ * count of the number of valid MC records found.
*/
static int
-mca_scan(int mcip)
+mca_scan(enum scan_mode mode)
{
struct mca_record rec;
uint64_t mcg_cap, ucmask;
- int count, i, recoverable;
+ int count, i, recoverable, valid;
count = 0;
recoverable = 1;
ucmask = MC_STATUS_UC | MC_STATUS_PCC;
/* When handling a MCE#, treat the OVER flag as non-restartable. */
- if (mcip)
+ if (mode == MCE)
ucmask |= MC_STATUS_OVER;
mcg_cap = rdmsr(MSR_MCG_CAP);
for (i = 0; i < (mcg_cap & MCG_CAP_COUNT); i++) {
- if (mca_check_status(i, &rec)) {
+ /*
+ * For a CMCI, only check banks this CPU is
+ * responsible for.
+ */
+ if (mode == CMCI && !(PCPU_GET(cmci_mask) & 1 << i))
+ continue;
+
+ valid = mca_check_status(i, &rec);
+ if (valid) {
count++;
if (rec.mr_status & ucmask) {
recoverable = 0;
@@ -433,8 +537,15 @@ mca_scan(int mcip)
}
mca_record_entry(&rec);
}
+
+ /*
+ * If this is a bank this CPU monitors via CMCI,
+ * update the threshold.
+ */
+ if (PCPU_GET(cmci_mask) & (1 << i))
+ cmci_update(mode, i, valid, &rec);
}
- return (mcip ? recoverable : count);
+ return (mode == MCE ? recoverable : count);
}
/*
@@ -457,7 +568,7 @@ mca_scan_cpus(void *context, int pending
continue;
sched_bind(td, cpu);
thread_unlock(td);
- count += mca_scan(0);
+ count += mca_scan(POLLED);
thread_lock(td);
sched_unbind(td);
}
@@ -511,7 +622,24 @@ mca_startup(void *dummy)
SYSINIT(mca_startup, SI_SUB_SMP, SI_ORDER_ANY, mca_startup, NULL);
static void
-mca_setup(void)
+cmci_setup(uint64_t mcg_cap)
+{
+ int i;
+
+ cmc_state = malloc((mp_maxid + 1) * sizeof(struct cmc_state **),
+ M_MCA, M_WAITOK);
+ cmc_banks = mcg_cap & MCG_CAP_COUNT;
+ for (i = 0; i <= mp_maxid; i++)
+ cmc_state[i] = malloc(sizeof(struct cmc_state) * cmc_banks,
+ M_MCA, M_WAITOK | M_ZERO);
+ SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
+ "cmc_throttle", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+ &cmc_throttle, 0, sysctl_positive_int, "I",
+ "Interval in seconds to throttle corrected MC interrupts");
+}
+
+static void
+mca_setup(uint64_t mcg_cap)
{
mtx_init(&mca_lock, "mca", NULL, MTX_SPIN);
@@ -522,13 +650,62 @@ mca_setup(void)
"count", CTLFLAG_RD, &mca_count, 0, "Record count");
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
"interval", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &mca_ticks,
- 0, sysctl_mca_ticks, "I",
+ 0, sysctl_positive_int, "I",
"Periodic interval in seconds to scan for machine checks");
SYSCTL_ADD_NODE(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
"records", CTLFLAG_RD, sysctl_mca_records, "Machine check records");
SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
"force_scan", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0,
sysctl_mca_scan, "I", "Force an immediate scan for machine checks");
+ if (mcg_cap & MCG_CAP_CMCI_P)
+ cmci_setup(mcg_cap);
+}
+
+/*
+ * See if we should monitor CMCI for this bank. If CMCI_EN is already
+ * set in MC_CTL2, then another CPU is responsible for this bank, so
+ * ignore it. If CMCI_EN returns zero after being set, then this bank
+ * does not support CMCI_EN. If this CPU sets CMCI_EN, then it should
+ * now monitor this bank.
+ */
+static void
+cmci_monitor(int i)
+{
+ struct cmc_state *cc;
+ uint64_t ctl;
+
+ KASSERT(i < cmc_banks, ("CPU %d has more MC banks", PCPU_GET(cpuid)));
+
+ ctl = rdmsr(MSR_MC_CTL2(i));
+ if (ctl & MC_CTL2_CMCI_EN)
+ /* Already monitored by another CPU. */
+ return;
+
+ /* Set the threshold to one event for now. */
+ ctl &= ~MC_CTL2_THRESHOLD;
+ ctl |= MC_CTL2_CMCI_EN | 1;
+ wrmsr(MSR_MC_CTL2(i), ctl);
+ ctl = rdmsr(MSR_MC_CTL2(i));
+ if (!(ctl & MC_CTL2_CMCI_EN))
+ /* This bank does not support CMCI. */
+ return;
+
+ cc = &cmc_state[PCPU_GET(cpuid)][i];
+
+ /* Determine maximum threshold. */
+ ctl &= ~MC_CTL2_THRESHOLD;
+ ctl |= 0x7fff;
+ wrmsr(MSR_MC_CTL2(i), ctl);
+ ctl = rdmsr(MSR_MC_CTL2(i));
+ cc->max_threshold = ctl & MC_CTL2_THRESHOLD;
+
+ /* Start off with a threshold of 1. */
+ ctl &= ~MC_CTL2_THRESHOLD;
+ ctl |= 1;
+ wrmsr(MSR_MC_CTL2(i), ctl);
+
+ /* Mark this bank as monitored. */
+ PCPU_SET(cmci_mask, PCPU_GET(cmci_mask) | 1 << i);
}
/* Must be executed on each CPU. */
@@ -554,14 +731,14 @@ mca_init(void)
workaround_erratum383 = 1;
if (cpu_feature & CPUID_MCA) {
- if (PCPU_GET(cpuid) == 0)
- mca_setup();
+ PCPU_SET(cmci_mask, 0);
- sched_pin();
mcg_cap = rdmsr(MSR_MCG_CAP);
if (mcg_cap & MCG_CAP_CTL_P)
/* Enable MCA features. */
wrmsr(MSR_MCG_CTL, MCG_CTL_ENABLE);
+ if (PCPU_GET(cpuid) == 0)
+ mca_setup(mcg_cap);
/*
* Disable logging of level one TLB parity (L1TP) errors by
@@ -597,10 +774,16 @@ mca_init(void)
if (!skip)
wrmsr(MSR_MC_CTL(i), ctl);
+
+ if (mcg_cap & MCG_CAP_CMCI_P)
+ cmci_monitor(i);
+
/* Clear all errors. */
wrmsr(MSR_MC_STATUS(i), 0);
}
- sched_unpin();
+
+ if (PCPU_GET(cmci_mask) != 0)
+ lapic_enable_cmc();
}
load_cr4(rcr4() | CR4_MCE);
@@ -624,7 +807,7 @@ mca_intr(void)
}
/* Scan the banks and check for any non-recoverable errors. */
- recoverable = mca_scan(1);
+ recoverable = mca_scan(MCE);
mcg_status = rdmsr(MSR_MCG_STATUS);
if (!(mcg_status & MCG_STATUS_RIPV))
recoverable = 0;
@@ -633,3 +816,31 @@ mca_intr(void)
wrmsr(MSR_MCG_STATUS, mcg_status & ~MCG_STATUS_MCIP);
return (recoverable);
}
+
+/* Called for a CMCI (correctable machine check interrupt). */
+void
+cmc_intr(void)
+{
+ struct mca_internal *mca;
+ int count;
+
+ /*
+ * Serialize MCA bank scanning to prevent collisions from
+ * sibling threads.
+ */
+ count = mca_scan(CMCI);
+
+ /* If we found anything, log them to the console. */
+ if (count != 0) {
+ mtx_lock_spin(&mca_lock);
+ STAILQ_FOREACH(mca, &mca_records, link) {
+ if (!mca->logged) {
+ mca->logged = 1;
+ mtx_unlock_spin(&mca_lock);
+ mca_log(&mca->rec);
+ mtx_lock_spin(&mca_lock);
+ }
+ }
+ mtx_unlock_spin(&mca_lock);
+ }
+}
Modified: projects/altix/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/altix/sys/amd64/amd64/mp_machdep.c Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/mp_machdep.c Wed May 26 04:14:29 2010 (r208558)
@@ -1112,9 +1112,6 @@ ipi_bitmap_handler(struct trapframe fram
if (ipi_bitmap & (1 << IPI_STATCLOCK))
statclockintr(&frame);
-
- if (ipi_bitmap & (1 << IPI_PROFCLOCK))
- profclockintr(&frame);
}
/*
Modified: projects/altix/sys/amd64/amd64/pmap.c
==============================================================================
--- projects/altix/sys/amd64/amd64/pmap.c Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/pmap.c Wed May 26 04:14:29 2010 (r208558)
@@ -2796,7 +2796,7 @@ pmap_remove_all(vm_page_t m)
KASSERT((m->flags & PG_FICTITIOUS) == 0,
("pmap_remove_all: page %p is fictitious", m));
- mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ vm_page_lock_queues();
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
while ((pv = TAILQ_FIRST(&pvh->pv_list)) != NULL) {
pmap = PV_PMAP(pv);
@@ -2834,6 +2834,7 @@ pmap_remove_all(vm_page_t m)
PMAP_UNLOCK(pmap);
}
vm_page_flag_clear(m, PG_WRITEABLE);
+ vm_page_unlock_queues();
}
/*
@@ -3138,7 +3139,10 @@ pmap_enter(pmap_t pmap, vm_offset_t va,
va = trunc_page(va);
KASSERT(va <= VM_MAX_KERNEL_ADDRESS, ("pmap_enter: toobig"));
KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
- ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)", va));
+ ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%lx)",
+ va));
+ KASSERT((m->oflags & VPO_BUSY) != 0,
+ ("pmap_enter: page %p is not busy", m));
mpte = NULL;
@@ -3414,8 +3418,10 @@ void
pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot)
{
+ vm_page_lock_queues();
PMAP_LOCK(pmap);
- (void) pmap_enter_quick_locked(pmap, va, m, prot, NULL);
+ (void)pmap_enter_quick_locked(pmap, va, m, prot, NULL);
+ vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
}
@@ -3926,8 +3932,11 @@ pmap_page_wired_mappings(vm_page_t m)
count = 0;
if ((m->flags & PG_FICTITIOUS) != 0)
return (count);
+ vm_page_lock_queues();
count = pmap_pvh_wired_mappings(&m->md, count);
- return (pmap_pvh_wired_mappings(pa_to_pvh(VM_PAGE_TO_PHYS(m)), count));
+ count = pmap_pvh_wired_mappings(pa_to_pvh(VM_PAGE_TO_PHYS(m)), count);
+ vm_page_unlock_queues();
+ return (count);
}
/*
@@ -4119,12 +4128,25 @@ pmap_remove_pages(pmap_t pmap)
boolean_t
pmap_is_modified(vm_page_t m)
{
+ boolean_t rv;
- if (m->flags & PG_FICTITIOUS)
+ KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0,
+ ("pmap_is_modified: page %p is not managed", m));
+
+ /*
+ * If the page is not VPO_BUSY, then PG_WRITEABLE cannot be
+ * concurrently set while the object is locked. Thus, if PG_WRITEABLE
+ * is clear, no PTEs can have PG_M set.
+ */
+ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
+ if ((m->oflags & VPO_BUSY) == 0 &&
+ (m->flags & PG_WRITEABLE) == 0)
return (FALSE);
- if (pmap_is_modified_pvh(&m->md))
- return (TRUE);
- return (pmap_is_modified_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m))));
+ vm_page_lock_queues();
+ rv = pmap_is_modified_pvh(&m->md) ||
+ pmap_is_modified_pvh(pa_to_pvh(VM_PAGE_TO_PHYS(m)));
+ vm_page_unlock_queues();
+ return (rv);
}
/*
@@ -4234,10 +4256,19 @@ pmap_remove_write(vm_page_t m)
pt_entry_t oldpte, *pte;
vm_offset_t va;
- if ((m->flags & PG_FICTITIOUS) != 0 ||
+ KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0,
+ ("pmap_remove_write: page %p is not managed", m));
+
+ /*
+ * If the page is not VPO_BUSY, then PG_WRITEABLE cannot be set by
+ * another thread while the object is locked. Thus, if PG_WRITEABLE
+ * is clear, no page table entries need updating.
+ */
+ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
+ if ((m->oflags & VPO_BUSY) == 0 &&
(m->flags & PG_WRITEABLE) == 0)
return;
- mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ vm_page_lock_queues();
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, next_pv) {
pmap = PV_PMAP(pv);
@@ -4268,6 +4299,7 @@ retry:
PMAP_UNLOCK(pmap);
}
vm_page_flag_clear(m, PG_WRITEABLE);
+ vm_page_unlock_queues();
}
/*
@@ -4365,9 +4397,20 @@ pmap_clear_modify(vm_page_t m)
pt_entry_t oldpte, *pte;
vm_offset_t va;
- if ((m->flags & PG_FICTITIOUS) != 0)
+ KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0,
+ ("pmap_clear_modify: page %p is not managed", m));
+ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
+ KASSERT((m->oflags & VPO_BUSY) == 0,
+ ("pmap_clear_modify: page %p is busy", m));
+
+ /*
+ * If the page is not PG_WRITEABLE, then no PTEs can have PG_M set.
+ * If the object containing the page is locked and the page is not
+ * VPO_BUSY, then PG_WRITEABLE cannot be concurrently set.
+ */
+ if ((m->flags & PG_WRITEABLE) == 0)
return;
- mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ vm_page_lock_queues();
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, next_pv) {
pmap = PV_PMAP(pv);
@@ -4413,6 +4456,7 @@ pmap_clear_modify(vm_page_t m)
}
PMAP_UNLOCK(pmap);
}
+ vm_page_unlock_queues();
}
/*
@@ -4430,9 +4474,9 @@ pmap_clear_reference(vm_page_t m)
pt_entry_t *pte;
vm_offset_t va;
- if ((m->flags & PG_FICTITIOUS) != 0)
- return;
- mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0,
+ ("pmap_clear_reference: page %p is not managed", m));
+ vm_page_lock_queues();
pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
TAILQ_FOREACH_SAFE(pv, &pvh->pv_list, pv_list, next_pv) {
pmap = PV_PMAP(pv);
@@ -4469,6 +4513,7 @@ pmap_clear_reference(vm_page_t m)
}
PMAP_UNLOCK(pmap);
}
+ vm_page_unlock_queues();
}
/*
@@ -4878,70 +4923,49 @@ pmap_change_attr_locked(vm_offset_t va,
* perform the pmap work for mincore
*/
int
-pmap_mincore(pmap_t pmap, vm_offset_t addr)
+pmap_mincore(pmap_t pmap, vm_offset_t addr, vm_paddr_t *locked_pa)
{
pd_entry_t *pdep;
pt_entry_t pte;
vm_paddr_t pa;
- vm_page_t m;
- int val = 0;
-
+ int val;
+
PMAP_LOCK(pmap);
+retry:
pdep = pmap_pde(pmap, addr);
if (pdep != NULL && (*pdep & PG_V)) {
if (*pdep & PG_PS) {
pte = *pdep;
- val = MINCORE_SUPER;
/* Compute the physical address of the 4KB page. */
pa = ((*pdep & PG_PS_FRAME) | (addr & PDRMASK)) &
PG_FRAME;
+ val = MINCORE_SUPER;
} else {
pte = *pmap_pde_to_pte(pdep, addr);
pa = pte & PG_FRAME;
+ val = 0;
}
} else {
pte = 0;
pa = 0;
+ val = 0;
}
- PMAP_UNLOCK(pmap);
-
- if (pte != 0) {
+ if ((pte & PG_V) != 0) {
val |= MINCORE_INCORE;
- if ((pte & PG_MANAGED) == 0)
- return (val);
-
- m = PHYS_TO_VM_PAGE(pa);
-
- /*
- * Modified by us
- */
if ((pte & (PG_M | PG_RW)) == (PG_M | PG_RW))
- val |= MINCORE_MODIFIED|MINCORE_MODIFIED_OTHER;
- else {
- /*
- * Modified by someone else
- */
- vm_page_lock_queues();
- if (m->dirty || pmap_is_modified(m))
- val |= MINCORE_MODIFIED_OTHER;
- vm_page_unlock_queues();
- }
- /*
- * Referenced by us
- */
- if (pte & PG_A)
- val |= MINCORE_REFERENCED|MINCORE_REFERENCED_OTHER;
- else {
- /*
- * Referenced by someone else
- */
- vm_page_lock_queues();
- if ((m->flags & PG_REFERENCED) ||
- pmap_is_referenced(m))
- val |= MINCORE_REFERENCED_OTHER;
- vm_page_unlock_queues();
- }
- }
+ val |= MINCORE_MODIFIED | MINCORE_MODIFIED_OTHER;
+ if ((pte & PG_A) != 0)
+ val |= MINCORE_REFERENCED | MINCORE_REFERENCED_OTHER;
+ }
+ if ((val & (MINCORE_MODIFIED_OTHER | MINCORE_REFERENCED_OTHER)) !=
+ (MINCORE_MODIFIED_OTHER | MINCORE_REFERENCED_OTHER) &&
+ (pte & (PG_MANAGED | PG_V)) == (PG_MANAGED | PG_V)) {
+ /* Ensure that "PHYS_TO_VM_PAGE(pa)->object" doesn't change. */
+ if (vm_page_pa_tryrelock(pmap, pa, locked_pa))
+ goto retry;
+ } else
+ PA_UNLOCK_COND(*locked_pa);
+ PMAP_UNLOCK(pmap);
return (val);
}
Modified: projects/altix/sys/amd64/amd64/trap.c
==============================================================================
--- projects/altix/sys/amd64/amd64/trap.c Tue May 25 22:19:51 2010 (r208557)
+++ projects/altix/sys/amd64/amd64/trap.c Wed May 26 04:14:29 2010 (r208558)
@@ -76,7 +76,6 @@ __FBSDID("$FreeBSD$");
#ifdef HWPMC_HOOKS
#include
#endif
-#include
#include
#include
@@ -170,8 +169,6 @@ static int prot_fault_translation = 0;
SYSCTL_INT(_machdep, OID_AUTO, prot_fault_translation, CTLFLAG_RW,
&prot_fault_translation, 0, "Select signal to deliver on protection fault");
-extern char *syscallnames[];
-
/*
* Exception, fault, and trap interface to the FreeBSD kernel.
* This common code is called from assembly language IDT gate entry
@@ -488,22 +485,18 @@ trap(struct trapframe *frame)
}
if (frame->tf_rip == (long)ld_ds) {
frame->tf_rip = (long)ds_load_fault;
- frame->tf_ds = _udatasel;
goto out;
}
if (frame->tf_rip == (long)ld_es) {
frame->tf_rip = (long)es_load_fault;
- frame->tf_es = _udatasel;
goto out;
}
if (frame->tf_rip == (long)ld_fs) {
frame->tf_rip = (long)fs_load_fault;
- frame->tf_fs = _ufssel;
goto out;
}
if (frame->tf_rip == (long)ld_gs) {
frame->tf_rip = (long)gs_load_fault;
- frame->tf_gs = _ugssel;
goto out;
}
if (frame->tf_rip == (long)ld_gsbase) {
@@ -809,19 +802,12 @@ dblfault_handler(struct trapframe *frame
panic("double fault");
}
-struct syscall_args {
- u_int code;
- struct sysent *callp;
- register_t args[8];
- register_t *argp;
- int narg;
-};
-
-static int
-fetch_syscall_args(struct thread *td, struct syscall_args *sa)
+int
+cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa)
{
struct proc *p;
struct trapframe *frame;
+ register_t *argp;
caddr_t params;
int reg, regcnt, error;
@@ -833,15 +819,10 @@ fetch_syscall_args(struct thread *td, st
params = (caddr_t)frame->tf_rsp + sizeof(register_t);
sa->code = frame->tf_rax;
- if (p->p_sysent->sv_prepsyscall) {
- (*p->p_sysent->sv_prepsyscall)(frame, (int *)sa->args,
- &sa->code, ¶ms);
- } else {
- if (sa->code == SYS_syscall || sa->code == SYS___syscall) {
- sa->code = frame->tf_rdi;
- reg++;
- regcnt--;
- }
+ if (sa->code == SYS_syscall || sa->code == SYS___syscall) {
+ sa->code = frame->tf_rdi;
+ reg++;
+ regcnt--;
}
if (p->p_sysent->sv_mask)
sa->code &= p->p_sysent->sv_mask;
@@ -855,24 +836,20 @@ fetch_syscall_args(struct thread *td, st
KASSERT(sa->narg <= sizeof(sa->args) / sizeof(sa->args[0]),
("Too many syscall arguments!"));
error = 0;
- sa->argp = &frame->tf_rdi;
- sa->argp += reg;
- bcopy(sa->argp, sa->args, sizeof(sa->args[0]) * regcnt);
+ argp = &frame->tf_rdi;
+ argp += reg;
+ bcopy(argp, sa->args, sizeof(sa->args[0]) * regcnt);
if (sa->narg > regcnt) {
KASSERT(params != NULL, ("copyin args with no params!"));
error = copyin(params, &sa->args[regcnt],
(sa->narg - regcnt) * sizeof(sa->args[0]));
}
- sa->argp = &sa->args[0];
- /*
- * This may result in two records if debugger modified
- * registers or memory during sleep at stop/ptrace point.
- */
-#ifdef KTRACE
- if (KTRPOINT(td, KTR_SYSCALL))
- ktrsyscall(sa->code, sa->narg, sa->argp);
-#endif
+ if (error == 0) {
+ td->td_retval[0] = 0;
+ td->td_retval[1] = frame->tf_rdx;
+ }
+
return (error);
}
@@ -885,87 +862,22 @@ void
syscall(struct trapframe *frame)
{
struct thread *td;
- struct proc *p;
struct syscall_args sa;
register_t orig_tf_rflags;
int error;
ksiginfo_t ksi;
- PCPU_INC(cnt.v_syscall);
- td = curthread;
- p = td->td_proc;
- td->td_syscalls++;
-
#ifdef DIAGNOSTIC
if (ISPL(frame->tf_cs) != SEL_UPL) {
panic("syscall");
/* NOT REACHED */
}
#endif
-
- td->td_pticks = 0;
- td->td_frame = frame;
- if (td->td_ucred != p->p_ucred)
- cred_update_thread(td);
orig_tf_rflags = frame->tf_rflags;
- if (p->p_flag & P_TRACED) {
- PROC_LOCK(p);
- td->td_dbgflags &= ~TDB_USERWR;
- PROC_UNLOCK(p);
- }
- error = fetch_syscall_args(td, &sa);
-
- CTR4(KTR_SYSC, "syscall enter thread %p pid %d proc %s code %d", td,
- td->td_proc->p_pid, td->td_name, sa.code);
-
- if (error == 0) {
- td->td_retval[0] = 0;
- td->td_retval[1] = frame->tf_rdx;
-
- STOPEVENT(p, S_SCE, sa.narg);
- PTRACESTOP_SC(p, td, S_PT_SCE);
- if (td->td_dbgflags & TDB_USERWR) {
- /*
- * Reread syscall number and arguments if
- * debugger modified registers or memory.
- */
- error = fetch_syscall_args(td, &sa);
- if (error != 0)
- goto retval;
- td->td_retval[1] = frame->tf_rdx;
- }
-
-#ifdef KDTRACE_HOOKS
- /*
- * If the systrace module has registered it's probe
- * callback and if there is a probe active for the
- * syscall 'entry', process the probe.
- */
- if (systrace_probe_func != NULL && sa.callp->sy_entry != 0)
- (*systrace_probe_func)(sa.callp->sy_entry, sa.code,
- sa.callp, sa.args);
-#endif
-
- AUDIT_SYSCALL_ENTER(sa.code, td);
- error = (*sa.callp->sy_call)(td, sa.argp);
- AUDIT_SYSCALL_EXIT(error, td);
-
- /* Save the latest error return value. */
- td->td_errno = error;
+ td = curthread;
+ td->td_frame = frame;
-#ifdef KDTRACE_HOOKS
- /*
- * If the systrace module has registered it's probe
- * callback and if there is a probe active for the
- * syscall 'return', process the probe.
- */
- if (systrace_probe_func != NULL && sa.callp->sy_return != 0)
- (*systrace_probe_func)(sa.callp->sy_return, sa.code,
- sa.callp, sa.args);
-#endif
- }
- retval:
- cpu_set_syscall_retval(td, error);
+ error = syscallenter(td, &sa);
/*
* Traced syscall.
@@ -979,40 +891,5 @@ syscall(struct trapframe *frame)
trapsignal(td, &ksi);
}
- /*
- * Check for misbehavior.
- */
- WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning",
- (sa.code >= 0 && sa.code < SYS_MAXSYSCALL) ?
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
From owner-svn-src-projects@FreeBSD.ORG Fri May 28 15:37:01 2010
Return-Path:
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
by hub.freebsd.org (Postfix) with ESMTP id B74C91065676;
Fri, 28 May 2010 15:37:01 +0000 (UTC)
(envelope-from rdivacky@FreeBSD.org)
Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c])
by mx1.freebsd.org (Postfix) with ESMTP id A114D8FC1B;
Fri, 28 May 2010 15:37:01 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o4SFb1PR033872;
Fri, 28 May 2010 15:37:01 GMT
(envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4SFb1uf033848;
Fri, 28 May 2010 15:37:01 GMT
(envelope-from rdivacky@svn.freebsd.org)
Message-Id: <201005281537.o4SFb1uf033848@svn.freebsd.org>
From: Roman Divacky
Date: Fri, 28 May 2010 15:37:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc:
Subject: svn commit: r208617 - in projects/clangbsd/contrib/llvm: . autoconf
docs docs/CommandGuide docs/tutorial include/llvm
include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen
include/llvm/Config...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src " projects"
tree"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Fri, 28 May 2010 15:37:01 -0000
Author: rdivacky
Date: Fri May 28 15:37:00 2010
New Revision: 208617
URL: http://svn.freebsd.org/changeset/base/208617
Log:
Merge LLVM/clang from vendor (r104832).
Added:
projects/clangbsd/contrib/llvm/include/llvm/MC/MCLabel.h
- copied unchanged from r208600, vendor/llvm/dist/include/llvm/MC/MCLabel.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCMachOSymbolFlags.h
- copied unchanged from r208600, vendor/llvm/dist/include/llvm/MC/MCMachOSymbolFlags.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSectionCOFF.h
- copied unchanged from r208600, vendor/llvm/dist/include/llvm/MC/MCSectionCOFF.h
projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
- copied unchanged from r208600, vendor/llvm/dist/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
projects/clangbsd/contrib/llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp
- copied unchanged from r208600, vendor/llvm/dist/lib/Analysis/ModuleDebugInfoPrinter.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCLabel.cpp
- copied unchanged from r208600, vendor/llvm/dist/lib/MC/MCLabel.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCLoggingStreamer.cpp
- copied unchanged from r208600, vendor/llvm/dist/lib/MC/MCLoggingStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCSectionCOFF.cpp
- copied unchanged from r208600, vendor/llvm/dist/lib/MC/MCSectionCOFF.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/Sink.cpp
- copied unchanged from r208600, vendor/llvm/dist/lib/Transforms/Scalar/Sink.cpp
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-14-IllegalType.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-14-IllegalType.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-17-DAGCombineAssert.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-17-DAGCombineAssert.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-17-FastAllocCrash.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-17-FastAllocCrash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-18-LocalAllocCrash.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-18-LocalAllocCrash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-18-PostIndexBug.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-18-PostIndexBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-19-Shuffles.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-19-Shuffles.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-20-NEONSpillCrash.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-20-NEONSpillCrash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2010-05-21-BuildVector.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/2010-05-21-BuildVector.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/arm-returnaddr.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/arm-returnaddr.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/lsr-on-unrolled-loops.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/lsr-on-unrolled-loops.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/reg_sequence.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/reg_sequence.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/trap.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/ARM/trap.ll
projects/clangbsd/contrib/llvm/test/CodeGen/CellSPU/jumptable.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/CellSPU/jumptable.ll
projects/clangbsd/contrib/llvm/test/CodeGen/CellSPU/sub_ops.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/CellSPU/sub_ops.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/legalize-dbg-value.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/Generic/legalize-dbg-value.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb/trap.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/Thumb/trap.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/2010-05-24-rsbs.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/Thumb2/2010-05-24-rsbs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/div.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/Thumb2/div.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/sign_extend_inreg.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/Thumb2/sign_extend_inreg.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-05-LocalAllocEarlyClobber.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-05-LocalAllocEarlyClobber.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-07-ldconvert.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-07-ldconvert.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-10-DAGCombinerBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-12-FastAllocKills.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-12-FastAllocKills.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-16-nosseconversion.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-16-nosseconversion.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-05-26-FP_TO_INT-crash.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/2010-05-26-FP_TO_INT-crash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/fp-stack.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/fp-stack.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/label-redefinition.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/label-redefinition.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/mcinst-lowering-cmp0.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/mcinst-lowering-cmp0.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/mcinst-lowering.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/mcinst-lowering.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/tls-1.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/tls-1.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/unknown-location.ll
- copied unchanged from r208600, vendor/llvm/dist/test/CodeGen/X86/unknown-location.ll
projects/clangbsd/contrib/llvm/test/DebugInfo/2010-05-10-MultipleCU.ll
- copied unchanged from r208600, vendor/llvm/dist/test/DebugInfo/2010-05-10-MultipleCU.ll
projects/clangbsd/contrib/llvm/test/DebugInfo/2010-05-25-DotDebugLoc.ll
- copied unchanged from r208600, vendor/llvm/dist/test/DebugInfo/2010-05-25-DotDebugLoc.ll
projects/clangbsd/contrib/llvm/test/Feature/metadata.ll
- copied unchanged from r208600, vendor/llvm/dist/test/Feature/metadata.ll
projects/clangbsd/contrib/llvm/test/FrontendC++/2010-05-10-Var-DbgInfo.cpp
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC++/2010-05-10-Var-DbgInfo.cpp
projects/clangbsd/contrib/llvm/test/FrontendC++/2010-05-11-alwaysinlineinstantiation.cpp
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC++/2010-05-11-alwaysinlineinstantiation.cpp
projects/clangbsd/contrib/llvm/test/FrontendC++/2010-05-12-PtrToMember-Dbg.cpp
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC++/2010-05-12-PtrToMember-Dbg.cpp
projects/clangbsd/contrib/llvm/test/FrontendC++/thunk-weak-odr.cpp
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC++/thunk-weak-odr.cpp
projects/clangbsd/contrib/llvm/test/FrontendC/2010-05-14-Optimized-VarType.c
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC/2010-05-14-Optimized-VarType.c
projects/clangbsd/contrib/llvm/test/FrontendC/2010-05-18-asmsched.c
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC/2010-05-18-asmsched.c
projects/clangbsd/contrib/llvm/test/FrontendC/2010-05-18-palignr.c
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC/2010-05-18-palignr.c
projects/clangbsd/contrib/llvm/test/FrontendC/2010-05-26-AsmSideEffect.c
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC/2010-05-26-AsmSideEffect.c
projects/clangbsd/contrib/llvm/test/FrontendC/pr2394.c
- copied unchanged from r208600, vendor/llvm/dist/test/FrontendC/pr2394.c
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-imm-widths.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/AsmParser/X86/x86_64-imm-widths.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/directive_tbss.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/AsmParser/directive_tbss.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/directive_tdata.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/AsmParser/directive_tdata.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/directive_thread_init_func.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/AsmParser/directive_thread_init_func.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/directive_tlv.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/AsmParser/directive_tlv.s
projects/clangbsd/contrib/llvm/test/MC/MachO/direction_labels.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/direction_labels.s
projects/clangbsd/contrib/llvm/test/MC/MachO/indirect-symbols.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/indirect-symbols.s
projects/clangbsd/contrib/llvm/test/MC/MachO/string-table.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/string-table.s
projects/clangbsd/contrib/llvm/test/MC/MachO/tbss.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/tbss.s
projects/clangbsd/contrib/llvm/test/MC/MachO/tdata.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/tdata.s
projects/clangbsd/contrib/llvm/test/MC/MachO/thread_init_func.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/thread_init_func.s
projects/clangbsd/contrib/llvm/test/MC/MachO/tls.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/tls.s
projects/clangbsd/contrib/llvm/test/MC/MachO/tlv-reloc.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/tlv-reloc.s
projects/clangbsd/contrib/llvm/test/MC/MachO/tlv.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/tlv.s
projects/clangbsd/contrib/llvm/test/MC/MachO/zerofill-5.s
- copied unchanged from r208600, vendor/llvm/dist/test/MC/MachO/zerofill-5.s
projects/clangbsd/contrib/llvm/test/Other/2010-05-06-Printer.ll
- copied unchanged from r208600, vendor/llvm/dist/test/Other/2010-05-06-Printer.ll
projects/clangbsd/contrib/llvm/test/Other/inline-asm-newline-terminator.ll
- copied unchanged from r208600, vendor/llvm/dist/test/Other/inline-asm-newline-terminator.ll
projects/clangbsd/contrib/llvm/test/Transforms/GVN/2010-05-08-OneBit.ll
- copied unchanged from r208600, vendor/llvm/dist/test/Transforms/GVN/2010-05-08-OneBit.ll
projects/clangbsd/contrib/llvm/test/Transforms/Inline/2010-05-12-ValueMap.ll
- copied unchanged from r208600, vendor/llvm/dist/test/Transforms/Inline/2010-05-12-ValueMap.ll
projects/clangbsd/contrib/llvm/test/Transforms/Sink/
- copied from r208600, vendor/llvm/dist/test/Transforms/Sink/
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CMakeLists.txt
- copied unchanged from r208600, vendor/clang/dist/include/clang/AST/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Makefile
- copied unchanged from r208600, vendor/clang/dist/include/clang/AST/Makefile
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
- copied unchanged from r208600, vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/StmtNodes.td
- copied unchanged from r208600, vendor/clang/dist/include/clang/AST/StmtNodes.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCategories.td
- copied unchanged from r208600, vendor/clang/dist/include/clang/Basic/DiagnosticCategories.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.h
- copied unchanged from r208600, vendor/clang/dist/include/clang/Driver/CC1AsOptions.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td
- copied unchanged from r208600, vendor/clang/dist/include/clang/Driver/CC1AsOptions.td
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/CastSizeChecker.cpp
- copied unchanged from r208600, vendor/clang/dist/lib/Checker/CastSizeChecker.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h
- copied unchanged from r208600, vendor/clang/dist/lib/CodeGen/CGCXXABI.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
- copied unchanged from r208600, vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/CC1AsOptions.cpp
- copied unchanged from r208600, vendor/clang/dist/lib/Driver/CC1AsOptions.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/BoostConAction.cpp
- copied unchanged from r208600, vendor/clang/dist/lib/Frontend/BoostConAction.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/expr/expr.post/expr.ref/p3.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CXX/expr/expr.post/expr.ref/p3.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.decls/temp.friend/p4.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CXX/temp/temp.decls/temp.friend/p4.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.names/p2.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CXX/temp/temp.names/p2.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/microsoft-call-conv.c
- copied unchanged from r208600, vendor/clang/dist/test/CodeGen/microsoft-call-conv.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/PR5863-unreachable-block.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenCXX/PR5863-unreachable-block.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/c99-variable-length-array.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenCXX/c99-variable-length-array.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/implicit-copy-constructor.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenCXX/implicit-copy-constructor.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/nrvo.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenCXX/nrvo.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/static-init-3.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenCXX/static-init-3.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/blocks-ivar-debug.m
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenObjC/blocks-ivar-debug.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/default-property-synthesis.m
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenObjC/default-property-synthesis.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc-gc-aggr-assign.m
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenObjC/objc-gc-aggr-assign.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjCXX/encode.mm
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenObjCXX/encode.mm
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjCXX/mangle-blocks.mm
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenObjCXX/mangle-blocks.mm
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjCXX/property-objects.mm
- copied unchanged from r208600, vendor/clang/dist/test/CodeGenObjCXX/property-objects.mm
projects/clangbsd/contrib/llvm/tools/clang/test/Index/annotate-tokens-include.c
- copied unchanged from r208600, vendor/clang/dist/test/Index/annotate-tokens-include.c
projects/clangbsd/contrib/llvm/tools/clang/test/Index/annotate-tokens-include.h
- copied unchanged from r208600, vendor/clang/dist/test/Index/annotate-tokens-include.h
projects/clangbsd/contrib/llvm/tools/clang/test/Index/complete-recovery.m
- copied unchanged from r208600, vendor/clang/dist/test/Index/complete-recovery.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/print-typekind.c
- copied unchanged from r208600, vendor/clang/dist/test/Index/print-typekind.c
projects/clangbsd/contrib/llvm/tools/clang/test/Index/properties-class-extensions.m
- copied unchanged from r208600, vendor/clang/dist/test/Index/properties-class-extensions.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/usrs.cpp
- copied unchanged from r208600, vendor/clang/dist/test/Index/usrs.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Misc/diag-aka-types.cpp
- copied unchanged from r208600, vendor/clang/dist/test/Misc/diag-aka-types.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Parser/cxx-undeclared-identifier.cpp
- copied unchanged from r208600, vendor/clang/dist/test/Parser/cxx-undeclared-identifier.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Parser/namespaces.cpp
- copied unchanged from r208600, vendor/clang/dist/test/Parser/namespaces.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Parser/pragma-options.c
- copied unchanged from r208600, vendor/clang/dist/test/Parser/pragma-options.c
projects/clangbsd/contrib/llvm/tools/clang/test/Parser/switch-recovery.cpp
- copied unchanged from r208600, vendor/clang/dist/test/Parser/switch-recovery.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Rewriter/rewrite-block-argument.m
- copied unchanged from r208600, vendor/clang/dist/test/Rewriter/rewrite-block-argument.m
projects/clangbsd/contrib/llvm/tools/clang/test/Rewriter/rewrite-local-static-id.mm
- copied unchanged from r208600, vendor/clang/dist/test/Rewriter/rewrite-local-static-id.mm
projects/clangbsd/contrib/llvm/tools/clang/test/Rewriter/rewrite-no-nextline.mm
- copied unchanged from r208600, vendor/clang/dist/test/Rewriter/rewrite-no-nextline.mm
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/pragma-align-mac68k-unsupported.c
- copied unchanged from r208600, vendor/clang/dist/test/Sema/pragma-align-mac68k-unsupported.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/pragma-align-mac68k.c
- copied unchanged from r208600, vendor/clang/dist/test/Sema/pragma-align-mac68k.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/pragma-pack-and-options-align.c
- copied unchanged from r208600, vendor/clang/dist/test/Sema/pragma-pack-and-options-align.c
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/c99-variable-length-array.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaCXX/c99-variable-length-array.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/flexible-array-test.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaCXX/flexible-array-test.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/invalid-instantiated-field-decl.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaCXX/invalid-instantiated-field-decl.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/return-noreturn.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaCXX/return-noreturn.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/scope-check.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaCXX/scope-check.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/vector.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaCXX/vector.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/const-cast.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/const-cast.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/conversion-to-objc-pointer-2.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/conversion-to-objc-pointer-2.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/conversion-to-objc-pointer.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/conversion-to-objc-pointer.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/deduction.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/deduction.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/ivar-construct.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/ivar-construct.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/ivar-struct.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/ivar-struct.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/objc2-merge-gc-attribue-decl.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/objc2-merge-gc-attribue-decl.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/static-cast.mm
- copied unchanged from r208600, vendor/clang/dist/test/SemaObjCXX/static-cast.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/attributes.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaTemplate/attributes.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/dependent-template-recover.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaTemplate/dependent-template-recover.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-non-dependent-types.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaTemplate/instantiate-non-dependent-types.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-overload-candidates.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaTemplate/instantiate-overload-candidates.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/overload-candidates.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaTemplate/overload-candidates.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/unused-variables.cpp
- copied unchanged from r208600, vendor/clang/dist/test/SemaTemplate/unused-variables.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp
- copied unchanged from r208600, vendor/clang/dist/tools/driver/cc1as_main.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/CXTypes.cpp
- copied unchanged from r208600, vendor/clang/dist/tools/libclang/CXTypes.cpp
projects/clangbsd/contrib/llvm/tools/clang/www/clang-tutorial.html
- copied unchanged from r208600, vendor/clang/dist/www/clang-tutorial.html
projects/clangbsd/contrib/llvm/unittests/ADT/ilistTest.cpp
- copied unchanged from r208600, vendor/llvm/dist/unittests/ADT/ilistTest.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/ClangASTNodesEmitter.cpp
- copied unchanged from r208600, vendor/llvm/dist/utils/TableGen/ClangASTNodesEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/ClangASTNodesEmitter.h
- copied unchanged from r208600, vendor/llvm/dist/utils/TableGen/ClangASTNodesEmitter.h
projects/clangbsd/contrib/llvm/utils/valgrind/i386-pc-linux-gnu.supp
- copied unchanged from r208600, vendor/llvm/dist/utils/valgrind/i386-pc-linux-gnu.supp
projects/clangbsd/contrib/llvm/utils/valgrind/x86_64-pc-linux-gnu.supp
- copied unchanged from r208600, vendor/llvm/dist/utils/valgrind/x86_64-pc-linux-gnu.supp
Deleted:
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ELFRelocation.h
projects/clangbsd/contrib/llvm/test/CodeGen/X86/stack-color-with-reg-2.ll
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.h
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/PR6747.cpp
Modified:
projects/clangbsd/contrib/llvm/Makefile.config.in
projects/clangbsd/contrib/llvm/Makefile.rules
projects/clangbsd/contrib/llvm/autoconf/configure.ac
projects/clangbsd/contrib/llvm/configure
projects/clangbsd/contrib/llvm/docs/AliasAnalysis.html
projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html
projects/clangbsd/contrib/llvm/docs/Bugpoint.html
projects/clangbsd/contrib/llvm/docs/CodeGenerator.html
projects/clangbsd/contrib/llvm/docs/CodingStandards.html
projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html
projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod
projects/clangbsd/contrib/llvm/docs/CommandLine.html
projects/clangbsd/contrib/llvm/docs/CompilerDriver.html
projects/clangbsd/contrib/llvm/docs/CompilerWriterInfo.html
projects/clangbsd/contrib/llvm/docs/DeveloperPolicy.html
projects/clangbsd/contrib/llvm/docs/ExceptionHandling.html
projects/clangbsd/contrib/llvm/docs/ExtendingLLVM.html
projects/clangbsd/contrib/llvm/docs/FAQ.html
projects/clangbsd/contrib/llvm/docs/GCCFEBuildInstrs.html
projects/clangbsd/contrib/llvm/docs/GarbageCollection.html
projects/clangbsd/contrib/llvm/docs/GetElementPtr.html
projects/clangbsd/contrib/llvm/docs/GettingStarted.html
projects/clangbsd/contrib/llvm/docs/GettingStartedVS.html
projects/clangbsd/contrib/llvm/docs/HowToReleaseLLVM.html
projects/clangbsd/contrib/llvm/docs/HowToSubmitABug.html
projects/clangbsd/contrib/llvm/docs/LangRef.html
projects/clangbsd/contrib/llvm/docs/Lexicon.html
projects/clangbsd/contrib/llvm/docs/LinkTimeOptimization.html
projects/clangbsd/contrib/llvm/docs/MakefileGuide.html
projects/clangbsd/contrib/llvm/docs/Packaging.html
projects/clangbsd/contrib/llvm/docs/Passes.html
projects/clangbsd/contrib/llvm/docs/ProgrammersManual.html
projects/clangbsd/contrib/llvm/docs/Projects.html
projects/clangbsd/contrib/llvm/docs/ReleaseNotes.html
projects/clangbsd/contrib/llvm/docs/SourceLevelDebugging.html
projects/clangbsd/contrib/llvm/docs/SystemLibrary.html
projects/clangbsd/contrib/llvm/docs/TableGenFundamentals.html
projects/clangbsd/contrib/llvm/docs/TestingGuide.html
projects/clangbsd/contrib/llvm/docs/UsingLibraries.html
projects/clangbsd/contrib/llvm/docs/WritingAnLLVMBackend.html
projects/clangbsd/contrib/llvm/docs/WritingAnLLVMPass.html
projects/clangbsd/contrib/llvm/docs/index.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl1.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl2.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl3.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl4.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl5.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl6.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl7.html
projects/clangbsd/contrib/llvm/docs/tutorial/LangImpl8.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl1.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl2.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl3.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl4.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl5.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl6.html
projects/clangbsd/contrib/llvm/docs/tutorial/OCamlLangImpl7.html
projects/clangbsd/contrib/llvm/include/llvm/ADT/DenseMap.h
projects/clangbsd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h
projects/clangbsd/contrib/llvm/include/llvm/ADT/SparseBitVector.h
projects/clangbsd/contrib/llvm/include/llvm/ADT/StringRef.h
projects/clangbsd/contrib/llvm/include/llvm/ADT/Twine.h
projects/clangbsd/contrib/llvm/include/llvm/ADT/ilist_node.h
projects/clangbsd/contrib/llvm/include/llvm/Analysis/DebugInfo.h
projects/clangbsd/contrib/llvm/include/llvm/Analysis/InlineCost.h
projects/clangbsd/contrib/llvm/include/llvm/Analysis/Lint.h
projects/clangbsd/contrib/llvm/include/llvm/Analysis/Passes.h
projects/clangbsd/contrib/llvm/include/llvm/CallingConv.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/FastISel.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LatencyPriorityQueue.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LiveInterval.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineFunction.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineInstr.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ValueTypes.h
projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ValueTypes.td
projects/clangbsd/contrib/llvm/include/llvm/Config/config.h.cmake
projects/clangbsd/contrib/llvm/include/llvm/Config/config.h.in
projects/clangbsd/contrib/llvm/include/llvm/Constants.h
projects/clangbsd/contrib/llvm/include/llvm/Intrinsics.td
projects/clangbsd/contrib/llvm/include/llvm/IntrinsicsX86.td
projects/clangbsd/contrib/llvm/include/llvm/LinkAllPasses.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCAsmInfo.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCAsmLayout.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCAssembler.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCContext.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCExpr.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCFixup.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCObjectWriter.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCParser/AsmParser.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSection.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSectionELF.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSectionMachO.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCStreamer.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MCSymbol.h
projects/clangbsd/contrib/llvm/include/llvm/MC/MachObjectWriter.h
projects/clangbsd/contrib/llvm/include/llvm/PassManager.h
projects/clangbsd/contrib/llvm/include/llvm/Support/Compiler.h
projects/clangbsd/contrib/llvm/include/llvm/Support/DOTGraphTraits.h
projects/clangbsd/contrib/llvm/include/llvm/Support/GraphWriter.h
projects/clangbsd/contrib/llvm/include/llvm/Support/StandardPasses.h
projects/clangbsd/contrib/llvm/include/llvm/System/Signals.h
projects/clangbsd/contrib/llvm/include/llvm/Target/SubtargetFeature.h
projects/clangbsd/contrib/llvm/include/llvm/Target/Target.td
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetAsmBackend.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetInstrInfo.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLowering.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetMachine.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetRegistry.h
projects/clangbsd/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/include/llvm/Transforms/Scalar.h
projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h
projects/clangbsd/contrib/llvm/lib/Analysis/CMakeLists.txt
projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp
projects/clangbsd/contrib/llvm/lib/Analysis/InlineCost.cpp
projects/clangbsd/contrib/llvm/lib/Analysis/Lint.cpp
projects/clangbsd/contrib/llvm/lib/AsmParser/LLLexer.cpp
projects/clangbsd/contrib/llvm/lib/AsmParser/LLParser.cpp
projects/clangbsd/contrib/llvm/lib/AsmParser/LLToken.h
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h
projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/LowerSubregs.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineCSE.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineFunction.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineInstr.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineLICM.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineSSAUpdater.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineSink.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/MachineVerifier.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/PHIElimination.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/PHIElimination.h
projects/clangbsd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/PreAllocSplitting.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocFast.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGEmit.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/Spiller.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/TailDuplication.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp
projects/clangbsd/contrib/llvm/lib/CompilerDriver/Action.cpp
projects/clangbsd/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
projects/clangbsd/contrib/llvm/lib/MC/CMakeLists.txt
projects/clangbsd/contrib/llvm/lib/MC/MCAsmInfo.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAsmStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCAssembler.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCContext.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCExpr.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCInst.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCMachOStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCNullStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCParser/AsmParser.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCSection.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCSectionMachO.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCStreamer.cpp
projects/clangbsd/contrib/llvm/lib/MC/MCSymbol.cpp
projects/clangbsd/contrib/llvm/lib/MC/MachObjectWriter.cpp
projects/clangbsd/contrib/llvm/lib/Support/APInt.cpp
projects/clangbsd/contrib/llvm/lib/Support/CommandLine.cpp
projects/clangbsd/contrib/llvm/lib/Support/ErrorHandling.cpp
projects/clangbsd/contrib/llvm/lib/Support/PrettyStackTrace.cpp
projects/clangbsd/contrib/llvm/lib/Support/StringRef.cpp
projects/clangbsd/contrib/llvm/lib/Support/Timer.cpp
projects/clangbsd/contrib/llvm/lib/Support/Twine.cpp
projects/clangbsd/contrib/llvm/lib/Support/raw_ostream.cpp
projects/clangbsd/contrib/llvm/lib/System/Unix/Signals.inc
projects/clangbsd/contrib/llvm/lib/System/Win32/Signals.inc
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARM.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARM.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMJITInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMRelocations.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMSubtarget.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMMCInstLower.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/NEONMoveFix.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/NEONPreAllocPass.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/Blackfin/BlackfinTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/CBackend/CBackend.cpp
projects/clangbsd/contrib/llvm/lib/Target/CBackend/CTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/README.txt
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp
projects/clangbsd/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/MSIL/MSILWriter.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.h
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430SelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430SelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16ISelDAGToDAG.h
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16Section.h
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16SelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16SelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/README.txt
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/SubtargetFeature.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/TargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/TargetRegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.h
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.h
projects/clangbsd/contrib/llvm/lib/Target/X86/CMakeLists.txt
projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
projects/clangbsd/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
projects/clangbsd/contrib/llvm/lib/Target/X86/SSEDomainFix.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86CallingConv.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86FastISel.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86FloatingPointRegKill.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86Instr64bit.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrMMX.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrSSE.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.td
projects/clangbsd/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetMachine.h
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.h
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.h
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h
projects/clangbsd/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h
projects/clangbsd/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CMakeLists.txt
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/GVN.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
projects/clangbsd/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/AsmWriter.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/PassManager.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/ValueTypes.cpp
projects/clangbsd/contrib/llvm/lib/VMCore/Verifier.cpp
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2008-02-04-LocalRegAllocBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2008-02-29-RegAllocLocal.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-05-05-DAGCombineBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-05-07-RegAllocLocal.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-11-02-NegativeLane.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/arm-frameaddr.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/div.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fabss.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fadds.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fdivs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fmacs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fmscs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fmuls.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fnmscs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/mul_const.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/spill-q.ll
projects/clangbsd/contrib/llvm/test/CodeGen/ARM/vcgt.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/2007-04-30-InlineAsmEarlyClobber.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert2.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/2008-02-09-LocalRegAllocAssert.ll
projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/cr_spilling.ll
projects/clangbsd/contrib/llvm/test/CodeGen/SystemZ/2009-07-10-BadIncomingArgOffset.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb/2010-01-15-local-alloc-spill-physical.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/machine-licm.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-pack.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-rev.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-shifter.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-smla.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-smul.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-spill-q.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-sxt_rot.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-uxt_rot.ll
projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/thumb2-uxtb.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-04-15-LiveVariableBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-09-17-inline-asm-1.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2008-09-18-inline-asm-2.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-01-29-LocalRegAllocBug.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-04-14-IllegalRegs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-06-03-Win64DisableRedZone.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-06-03-Win64SpillXMM.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2009-08-08-CastError.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/2010-04-30-LocalAlloc-LandingPad.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/call-imm.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/fast-cc-callee-pops.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/fast-cc-pass-in-regs.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/fp-stack-O0-crash.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/liveness-local-regalloc.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/lsr-delayed-fold.ll
projects/clangbsd/contrib/llvm/test/CodeGen/X86/sse-align-11.ll
projects/clangbsd/contrib/llvm/test/FrontendC/2007-04-11-InlineStorageClassC89.c
projects/clangbsd/contrib/llvm/test/FrontendC/2007-04-11-InlineStorageClassC99.c
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-bit_cat.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-encoding.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_32-new-encoder.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-encoding.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-new-encoder.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_64-suffix-matching.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/X86/x86_instructions.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/assignment.s
projects/clangbsd/contrib/llvm/test/MC/AsmParser/directive_zerofill.s
projects/clangbsd/contrib/llvm/test/MC/Disassembler/simple-tests.txt
projects/clangbsd/contrib/llvm/test/MC/MachO/darwin-x86_64-reloc.s
projects/clangbsd/contrib/llvm/test/MC/MachO/reloc.s
projects/clangbsd/contrib/llvm/test/MC/MachO/symbol-flags.s
projects/clangbsd/contrib/llvm/test/MC/MachO/x86_32-optimal_nop.s
projects/clangbsd/contrib/llvm/test/Other/lint.ll
projects/clangbsd/contrib/llvm/test/Transforms/InstCombine/cast.ll
projects/clangbsd/contrib/llvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
projects/clangbsd/contrib/llvm/test/Transforms/SimplifyCFG/trapping-load-unreachable.ll
projects/clangbsd/contrib/llvm/test/Transforms/SimplifyLibCalls/memcmp.ll
projects/clangbsd/contrib/llvm/tools/bugpoint/ExecutionDriver.cpp
projects/clangbsd/contrib/llvm/tools/bugpoint/Miscompilation.cpp
projects/clangbsd/contrib/llvm/tools/bugpoint/ToolRunner.cpp
projects/clangbsd/contrib/llvm/tools/bugpoint/ToolRunner.h
projects/clangbsd/contrib/llvm/tools/clang/clang.xcodeproj/project.pbxproj
projects/clangbsd/contrib/llvm/tools/clang/docs/InternalsManual.html
projects/clangbsd/contrib/llvm/tools/clang/docs/UsersManual.html
projects/clangbsd/contrib/llvm/tools/clang/docs/tools/clang.pod
projects/clangbsd/contrib/llvm/tools/clang/include/clang-c/Index.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Attr.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclContextInternals.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Expr.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Stmt.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeLocBuilder.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeVisitor.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
projects/clangbsd/contrib/llvm/tools/clang/include/clang/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/AnalysisManager.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRExprEngine.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Store.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenOptions.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Makefile
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Options.td
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/Tool.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/AnalysisConsumer.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenAction.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/DeclXML.def
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/DocumentXML.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHReader.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHWriter.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/TypeXML.def
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Makefile
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Action.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/AttributeList.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Ownership.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Scope.h
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Decl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Expr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayout.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Stmt.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Type.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Version.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/BasicObjCFoundationChecks.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/BasicStore.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/CFRefCount.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/CheckObjCDealloc.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/FlatStore.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRCXXExprEngine.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRExprEngine.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRExprEngineExperimentalChecks.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRExprEngineInternalChecks.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/GRState.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/LLVMConventionsChecker.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/MallocChecker.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/MemRegion.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/ObjCUnusedIVarsChecker.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Checker/RegionStore.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.h
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/CC1Options.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tool.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/ToolChains.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/AnalysisConsumer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CodeGenAction.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/DeclXML.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/DocumentXML.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReader.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderStmt.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterStmt.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PrintParserCallbacks.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/RewriteObjC.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Index/ASTLocation.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Index/Analyzer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Index/ResolveLocation.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/AttributeList.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/MinimalAction.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/dead-stores.c
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/inline.c
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/inline2.c
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/inline3.c
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/inline4.c
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/malloc.c
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/method-call.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps-region-store.m
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/misc-ps.m
projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/retain-release.m
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/class.friend/p1.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class.access/p4.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p8.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/basic.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p6.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p17.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p2.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.spec/temp.explicit/p5.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeCompletion/call.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeCompletion/call.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeCompletion/ordinary-name.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeCompletion/truncation.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/blocks.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/builtins.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/complex.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/stdcall-fastcall.c
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/anonymous-namespaces.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/anonymous-union-member-initializer.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/array-value-initialize.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/class-layout.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/condition.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/cxx-apple-kext.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/destructors.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/dynamic-cast.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/dyncast.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/key-function-vtable.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/mangle-subst-std.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/pointers-to-data-members.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/references.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/rtti-linkage.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/static-init.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/static-local-in-local-class.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/template-linkage.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/thunks.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/virtual-base-destructor-call.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/vtable-layout.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/vtable-linkage.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/x86_32-arguments.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenCXX/x86_64-arguments.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/atomic-aggregate-property.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/blocks-1.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/blocks-2.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/blocks.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/ivar-layout-64-bitfields.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/ivar-layout-64.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/ivar-layout-no-optimize.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-new-gc-api-strongcast.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-no-write-barrier.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-retain-codegen.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-strong-cast-1.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-strong-cast.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-weak-assign.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-weak-compare.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-weak-ivar-debug.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-weak-ivar.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-write-barrier-2.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-write-barrier-3.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-write-barrier-4.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-write-barrier-5.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/objc2-write-barrier.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/property-complex.m
projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/protocols.m
projects/clangbsd/contrib/llvm/tools/clang/test/Coverage/ast-printing.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Driver/bindings.c
projects/clangbsd/contrib/llvm/tools/clang/test/Driver/clang_f_opts.c
projects/clangbsd/contrib/llvm/tools/clang/test/FixIt/typo.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/annotate-tokens.c
projects/clangbsd/contrib/llvm/tools/clang/test/Index/annotate-tokens.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/c-index-api-loadTU-test.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/complete-at-directives.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/complete-at-exprstmt.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/complete-exprs.c
projects/clangbsd/contrib/llvm/tools/clang/test/Index/complete-member-access.m
projects/clangbsd/contrib/llvm/tools/clang/test/Index/load-stmts.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Index/remap-load.c
projects/clangbsd/contrib/llvm/tools/clang/test/Index/usrs.m
projects/clangbsd/contrib/llvm/tools/clang/test/Lexer/gnu_keywords.c
projects/clangbsd/contrib/llvm/tools/clang/test/Lexer/hexfloat.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Makefile
projects/clangbsd/contrib/llvm/tools/clang/test/PCH/Inputs/namespaces.h
projects/clangbsd/contrib/llvm/tools/clang/test/PCH/cxx_exprs.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/PCH/cxx_exprs.h
projects/clangbsd/contrib/llvm/tools/clang/test/PCH/namespaces.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/Parser/recovery.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/attr-sentinel.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/c89.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/compare.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/conditional-expr.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/conversion.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/format-strings.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/init.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/scope-check.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/switch.c
projects/clangbsd/contrib/llvm/tools/clang/test/Sema/unused-expr.c
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/alignof-sizeof-reference.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/anonymous-union.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/attr-deprecated.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/blocks.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/c99.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/class.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/compare.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/conditional-expr.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/constant-expression.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/default-assignment-operator.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/empty-class-layout.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/enum.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/i-c-e-cxx.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/implicit-virtual-member-functions.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/member-pointer.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/namespace-alias.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/nested-name-spec.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/new-delete.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/offsetof.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/overload-call.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/references.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/switch.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/vararg-non-pod.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/virtual-member-functions-key-function.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/warn-missing-noreturn.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/warn-weak-vtables.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/block-attr.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/error-property-gc-attr.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/method-conflict.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/objc2-warn-weak-decl.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/warn-assign-property-nscopying.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjC/warn-weak-field.m
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/vla.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaObjCXX/void_to_obj.mm
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/current-instantiation.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/dependent-base-classes.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/dependent-expr.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/dependent-type-identity.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/enum-argument.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-anonymous-union.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-attr.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-complete.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-declref-ice.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-expr-2.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-expr-3.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-field.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-function-2.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/instantiate-member-pointers.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/nested-name-spec-template.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/partial-spec-instantiate.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/temp_explicit.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/template-id-expr.cpp
projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/virtual-member-functions.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/c-index-test/c-index-test.c
projects/clangbsd/contrib/llvm/tools/clang/tools/driver/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/driver/driver.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/CIndex.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/CIndexCodeCompletion.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/CIndexUSRs.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/CMakeLists.txt
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/CXCursor.cpp
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/Makefile
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/libclang.darwin.exports
projects/clangbsd/contrib/llvm/tools/clang/tools/libclang/libclang.exports
projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/annotations.html
projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/latest_checker.html.incl
projects/clangbsd/contrib/llvm/tools/clang/www/comparison.html
projects/clangbsd/contrib/llvm/tools/clang/www/cxx_compatibility.html
projects/clangbsd/contrib/llvm/tools/clang/www/cxx_status.html
projects/clangbsd/contrib/llvm/tools/clang/www/get_started.html
projects/clangbsd/contrib/llvm/tools/edis/EDInst.cpp
projects/clangbsd/contrib/llvm/tools/gold/Makefile
projects/clangbsd/contrib/llvm/tools/gold/gold-plugin.cpp
projects/clangbsd/contrib/llvm/tools/llc/llc.cpp
projects/clangbsd/contrib/llvm/tools/llvm-ld/llvm-ld.cpp
projects/clangbsd/contrib/llvm/tools/llvm-mc/Disassembler.cpp
projects/clangbsd/contrib/llvm/tools/llvm-mc/llvm-mc.cpp
projects/clangbsd/contrib/llvm/tools/lto/LTOCodeGenerator.cpp
projects/clangbsd/contrib/llvm/tools/lto/LTOModule.cpp
projects/clangbsd/contrib/llvm/tools/opt/opt.cpp
projects/clangbsd/contrib/llvm/unittests/ADT/StringRefTest.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CMakeLists.txt
projects/clangbsd/contrib/llvm/utils/TableGen/ClangDiagnosticsEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenRegisters.h
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenTarget.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenTarget.h
projects/clangbsd/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/EDEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/FastISelEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/IntrinsicEmitter.h
projects/clangbsd/contrib/llvm/utils/TableGen/Makefile
projects/clangbsd/contrib/llvm/utils/TableGen/Record.h
projects/clangbsd/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/TableGen.cpp
projects/clangbsd/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp
projects/clangbsd/contrib/llvm/utils/buildit/GNUmakefile
projects/clangbsd/contrib/llvm/utils/buildit/build_llvm
projects/clangbsd/contrib/llvm/utils/lit/lit/LitConfig.py
projects/clangbsd/contrib/llvm/utils/lit/lit/ShUtil.py
projects/clangbsd/contrib/llvm/utils/lit/lit/TestFormats.py
projects/clangbsd/contrib/llvm/utils/lit/lit/lit.py
Directory Properties:
projects/clangbsd/contrib/llvm/ (props changed)
projects/clangbsd/contrib/llvm/tools/clang/ (props changed)
Modified: projects/clangbsd/contrib/llvm/Makefile.config.in
==============================================================================
--- projects/clangbsd/contrib/llvm/Makefile.config.in Fri May 28 12:05:56 2010 (r208616)
+++ projects/clangbsd/contrib/llvm/Makefile.config.in Fri May 28 15:37:00 2010 (r208617)
@@ -156,6 +156,7 @@ TAR := @TAR@
# Paths to miscellaneous programs we hope are present but might not be
PERL := @PERL@
BZIP2 := @BZIP2@
+CAT := @CAT@
DOT := @DOT@
DOXYGEN := @DOXYGEN@
GROFF := @GROFF@
@@ -167,6 +168,7 @@ OCAMLDOC := @OCAMLDOC@
GAS := @GAS@
POD2HTML := @POD2HTML@
POD2MAN := @POD2MAN@
+PDFROFF := @PDFROFF@
RUNTEST := @RUNTEST@
TCLSH := @TCLSH@
ZIP := @ZIP@
@@ -268,6 +270,9 @@ ENABLE_SHARED := @ENABLE_SHARED@
# Use -fvisibility-inlines-hidden?
ENABLE_VISIBILITY_INLINES_HIDDEN := @ENABLE_VISIBILITY_INLINES_HIDDEN@
+# Do we want to allow timestamping information into builds?
+ENABLE_TIMESTAMPS := @ENABLE_TIMESTAMPS@
+
# This option tells the Makefiles to produce verbose output.
# It essentially prints the commands that make is executing
#VERBOSE = 1
Modified: projects/clangbsd/contrib/llvm/Makefile.rules
==============================================================================
--- projects/clangbsd/contrib/llvm/Makefile.rules Fri May 28 12:05:56 2010 (r208616)
+++ projects/clangbsd/contrib/llvm/Makefile.rules Fri May 28 15:37:00 2010 (r208617)
@@ -447,6 +447,14 @@ else
endif
endif
+# Support makefile variable to disable any kind of timestamp/non-deterministic
+# info from being used in the build.
+ifeq ($(ENABLE_TIMESTAMPS),1)
+ DOTDIR_TIMESTAMP_COMMAND := $(DATE)
+else
+ DOTDIR_TIMESTAMP_COMMAND := echo 'Created.'
+endif
+
ifeq ($(HOST_OS),MingW)
# Work around PR4957
CPP.Defines += -D__NO_CTYPE_INLINE
@@ -581,10 +589,14 @@ ifeq ($(TARGET_OS),Darwin)
endif
ifdef SHARED_LIBRARY
+ifneq ($(HOST_OS),Darwin)
+ LD.Flags += $(RPATH) -Wl,'$$ORIGIN'
+else
ifneq ($(DARWIN_MAJVERS),4)
LD.Flags += $(RPATH) -Wl,$(LibDir)
endif
endif
+endif
ifdef TOOL_VERBOSE
C.Flags += -v
@@ -779,7 +791,7 @@ $(DESTDIR)$(PROJ_bindir) $(DESTDIR)$(PRO
# To create other directories, as needed, and timestamp their creation
%/.dir:
$(Verb) $(MKDIR) $* > /dev/null
- $(Verb) $(DATE) > $@
+ $(Verb) $(DOTDIR_TIMESTAMP_COMMAND) > $@
.PRECIOUS: $(ObjDir)/.dir $(LibDir)/.dir $(ToolDir)/.dir $(ExmplDir)/.dir
.PRECIOUS: $(LLVMLibDir)/.dir $(LLVMToolDir)/.dir $(LLVMExmplDir)/.dir
@@ -1116,7 +1128,12 @@ install-local::
uninstall-local::
$(Echo) Uninstall circumvented with NO_INSTALL
else
+
+ifdef LOADABLE_MODULE
+DestSharedLib = $(DESTDIR)$(PROJ_libdir)/$(LIBRARYNAME)$(SHLIBEXT)
+else
DestSharedLib = $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME)$(SHLIBEXT)
+endif
install-local:: $(DestSharedLib)
Modified: projects/clangbsd/contrib/llvm/autoconf/configure.ac
==============================================================================
--- projects/clangbsd/contrib/llvm/autoconf/configure.ac Fri May 28 12:05:56 2010 (r208616)
+++ projects/clangbsd/contrib/llvm/autoconf/configure.ac Fri May 28 15:37:00 2010 (r208617)
@@ -525,6 +525,20 @@ case "$enableval" in
*) AC_MSG_ERROR([Invalid setting for --enable-shared. Use "yes" or "no"]) ;;
esac
+dnl Enable embedding timestamp information into build.
+AC_ARG_ENABLE(timestamps,
+ AS_HELP_STRING([--enable-timestamps],
+ [Enable embedding timestamp information in build (default is YES)]),,
+ enableval=default)
+case "$enableval" in
+ yes) AC_SUBST(ENABLE_TIMESTAMPS,[1]) ;;
+ no) AC_SUBST(ENABLE_TIMESTAMPS,[0]) ;;
+ default) AC_SUBST(ENABLE_TIMESTAMPS,[1]) ;;
+ *) AC_MSG_ERROR([Invalid setting for --enable-timestamps. Use "yes" or "no"]) ;;
+esac
+AC_DEFINE_UNQUOTED([ENABLE_TIMESTAMPS],$ENABLE_TIMESTAMPS,
+ [Define if timestamp information (e.g., __DATE___) is allowed])
+
dnl Allow specific targets to be specified for building (or not)
TARGETS_TO_BUILD=""
AC_ARG_ENABLE([targets],AS_HELP_STRING([--enable-targets],
@@ -1003,11 +1017,13 @@ dnl are not found then they are set to "
dnl nothing. This just lets the build output show that we could have done
dnl something if the tool was available.
AC_PATH_PROG(BZIP2, [bzip2])
+AC_PATH_PROG(CAT, [cat])
AC_PATH_PROG(DOXYGEN, [doxygen])
AC_PATH_PROG(GROFF, [groff])
AC_PATH_PROG(GZIP, [gzip])
AC_PATH_PROG(POD2HTML, [pod2html])
AC_PATH_PROG(POD2MAN, [pod2man])
+AC_PATH_PROG(PDFROFF, [pdfroff])
AC_PATH_PROG(RUNTEST, [runtest])
DJ_AC_PATH_TCLSH
AC_PATH_PROG(ZIP, [zip])
@@ -1543,9 +1559,6 @@ AC_CONFIG_FILES([Makefile.config])
dnl Configure the RPM spec file for LLVM
AC_CONFIG_FILES([llvm.spec])
-dnl Configure doxygen's configuration file
-AC_CONFIG_FILES([docs/doxygen.cfg])
-
dnl Configure llvmc's Base plugin
AC_CONFIG_FILES([tools/llvmc/plugins/Base/Base.td])
Modified: projects/clangbsd/contrib/llvm/configure
==============================================================================
--- projects/clangbsd/contrib/llvm/configure Fri May 28 12:05:56 2010 (r208616)
+++ projects/clangbsd/contrib/llvm/configure Fri May 28 15:37:00 2010 (r208617)
@@ -690,6 +690,7 @@ ENABLE_DOXYGEN
ENABLE_THREADS
ENABLE_PIC
ENABLE_SHARED
+ENABLE_TIMESTAMPS
TARGETS_TO_BUILD
LLVM_ENUM_TARGETS
LLVM_ENUM_ASM_PRINTERS
@@ -736,11 +737,13 @@ INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
BZIP2
+CAT
DOXYGEN
GROFF
GZIP
POD2HTML
POD2MAN
+PDFROFF
RUNTEST
TCLSH
ZIP
@@ -1408,6 +1411,8 @@ Optional Features:
is YES)
--enable-shared Build a shared library and link tools against it
(default is NO)
+ --enable-timestamps Enable embedding timestamp information in build
+ (default is YES)
--enable-targets Build specific host targets: all or
target1,target2,... Valid targets are: host, x86,
x86_64, sparc, powerpc, alpha, arm, mips, spu,
@@ -4921,6 +4926,30 @@ echo "$as_me: error: Invalid setting for
{ (exit 1); exit 1; }; } ;;
esac
+# Check whether --enable-timestamps was given.
+if test "${enable_timestamps+set}" = set; then
+ enableval=$enable_timestamps;
+else
+ enableval=default
+fi
+
+case "$enableval" in
+ yes) ENABLE_TIMESTAMPS=1
+ ;;
+ no) ENABLE_TIMESTAMPS=0
+ ;;
+ default) ENABLE_TIMESTAMPS=1
+ ;;
+ *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-timestamps. Use \"yes\" or \"no\"" >&5
+echo "$as_me: error: Invalid setting for --enable-timestamps. Use \"yes\" or \"no\"" >&2;}
+ { (exit 1); exit 1; }; } ;;
+esac
+
+cat >>confdefs.h <<_ACEOF
+#define ENABLE_TIMESTAMPS $ENABLE_TIMESTAMPS
+_ACEOF
+
+
TARGETS_TO_BUILD=""
# Check whether --enable-targets was given.
if test "${enable_targets+set}" = set; then
@@ -8016,6 +8045,46 @@ echo "${ECHO_T}no" >&6; }
fi
+# Extract the first word of "cat", so it can be a program name with args.
+set dummy cat; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_CAT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $CAT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+CAT=$ac_cv_path_CAT
+if test -n "$CAT"; then
+ { echo "$as_me:$LINENO: result: $CAT" >&5
+echo "${ECHO_T}$CAT" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
# Extract the first word of "doxygen", so it can be a program name with args.
set dummy doxygen; ac_word=$2
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -8216,6 +8285,46 @@ echo "${ECHO_T}no" >&6; }
fi
+# Extract the first word of "pdfroff", so it can be a program name with args.
+set dummy pdfroff; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PDFROFF+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PDFROFF in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PDFROFF="$PDFROFF" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PDFROFF="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PDFROFF=$ac_cv_path_PDFROFF
+if test -n "$PDFROFF"; then
+ { echo "$as_me:$LINENO: result: $PDFROFF" >&5
+echo "${ECHO_T}$PDFROFF" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
# Extract the first word of "runtest", so it can be a program name with args.
set dummy runtest; ac_word=$2
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -11275,7 +11384,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <conf$$subs.sed <<_ACEOF
+ENABLE_BUILT_CLANG!$ENABLE_BUILT_CLANG$ac_delim
OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim
EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
@@ -21176,11 +21282,13 @@ INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_deli
INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
INSTALL_DATA!$INSTALL_DATA$ac_delim
BZIP2!$BZIP2$ac_delim
+CAT!$CAT$ac_delim
DOXYGEN!$DOXYGEN$ac_delim
GROFF!$GROFF$ac_delim
GZIP!$GZIP$ac_delim
POD2HTML!$POD2HTML$ac_delim
POD2MAN!$POD2MAN$ac_delim
+PDFROFF!$PDFROFF$ac_delim
RUNTEST!$RUNTEST$ac_delim
TCLSH!$TCLSH$ac_delim
ZIP!$ZIP$ac_delim
@@ -21233,7 +21341,7 @@ LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
Modified: projects/clangbsd/contrib/llvm/docs/AliasAnalysis.html
==============================================================================
--- projects/clangbsd/contrib/llvm/docs/AliasAnalysis.html Fri May 28 12:05:56 2010 (r208616)
+++ projects/clangbsd/contrib/llvm/docs/AliasAnalysis.html Fri May 28 15:37:00 2010 (r208617)
@@ -930,7 +930,7 @@ analysis directly.
Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-03-01 20:24:17 +0100 (Mon, 01 Mar 2010) $
+ Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $