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) $ Modified: projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/BitCodeFormat.html Fri May 28 15:37:00 2010 (r208617) @@ -40,8 +40,9 @@
-

Written by Chris Lattner - and Joshua Haberman. +

Written by Chris Lattner, + Joshua Haberman, + and Peter S. Housel.

@@ -1037,8 +1038,17 @@ fields of FUNCTION records.

-

The PARAMATTR_BLOCK block (id 9) ... -

+

The PARAMATTR_BLOCK block (id 9) contains a table of +entries describing the attributes of function parameters. These +entries are referenced by 1-based index in the paramattr field +of module block FUNCTION +records, or within the attr field of function block INST_INVOKE and INST_CALL records.

+ +

Entries within PARAMATTR_BLOCK are constructed to ensure +that each is unique (i.e., no two indicies represent equivalent +attribute lists).

@@ -1051,8 +1061,41 @@ fields of FUNCTION records.

[ENTRY, paramidx0, attr0, paramidx1, attr1...]

-

The ENTRY record (code 1) ... +

The ENTRY record (code 1) contains an even number of +values describing a unique set of function parameter attributes. Each +paramidx value indicates which set of attributes is +represented, with 0 representing the return value attributes, +0xFFFFFFFF representing function attributes, and other values +representing 1-based function parameters. Each attr value is a +bitmap with the following interpretation:

+ +
    +
  • bit 0: zeroext
  • +
  • bit 1: signext
  • +
  • bit 2: noreturn
  • +
  • bit 3: inreg
  • +
  • bit 4: sret
  • +
  • bit 5: nounwind
  • +
  • bit 6: noalias
  • +
  • bit 7: byval
  • +
  • bit 8: nest
  • +
  • bit 9: readnone
  • +
  • bit 10: readonly
  • +
  • bit 11: noinline
  • +
  • bit 12: alwaysinline
  • +
  • bit 13: optsize
  • +
  • bit 14: ssp
  • +
  • bit 15: sspreq
  • +
  • bits 16–31: align n
  • +
  • bit 32: nocapture
  • +
  • bit 33: noredzone
  • +
  • bit 34: noimplicitfloat
  • +
  • bit 35: naked
  • +
  • bit 36: inlinehint
  • +
  • bits 37–39: alignstack n, represented as +the logarithm base 2 of the requested alignment, plus 1
  • +
@@ -1061,11 +1104,283 @@ fields of FUNCTION records.

-

The TYPE_BLOCK block (id 10) ... +

The TYPE_BLOCK block (id 10) contains records which +constitute a table of type operator entries used to represent types +referenced within an LLVM module. Each record (with the exception of +NUMENTRY) generates a +single type table entry, which may be referenced by 0-based index from +instructions, constants, metadata, type symbol table entries, or other +type operator records. +

+ +

Entries within TYPE_BLOCK are constructed to ensure that +each entry is unique (i.e., no two indicies represent structurally +equivalent types).

+ +
+ + + + +
+ +

[NUMENTRY, numentries]

+ +

The NUMENTRY record (code 1) contains a single value which +indicates the total number of type code entries in the type table of +the module. If present, NUMENTRY should be the first record +in the block.

+
+ + +
+ +

[VOID]

+ +

The VOID record (code 2) adds a void type to the +type table. +

+
+ + + + +
+ +

[FLOAT]

+ +

The FLOAT record (code 3) adds a float (32-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[DOUBLE]

+ +

The DOUBLE record (code 4) adds a double (64-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[LABEL]

+ +

The LABEL record (code 5) adds a label type to +the type table. +

+
+ + + + +
+ +

[OPAQUE]

+ +

The OPAQUE record (code 6) adds an opaque type to +the type table. Note that distinct opaque types are not +unified. +

+
+ + + + +
+ +

[INTEGER, width]

+ +

The INTEGER record (code 7) adds an integer type to the +type table. The single width field indicates the width of the +integer type. +

+
+ + + + +
+ +

[POINTER, pointee type, address space]

+ +

The POINTER record (code 8) adds a pointer type to the +type table. The operand fields are

+ +
    +
  • pointee type: The type index of the pointed-to type
  • + +
  • address space: If supplied, the target-specific numbered +address space where the pointed-to object resides. Otherwise, the +default address space is zero. +
  • +
+
+ + + + +
+ +

[FUNCTION, vararg, ignored, retty, ...paramty... ]

+ +

The FUNCTION record (code 9) adds a function type to the +type table. The operand fields are

+ +
    +
  • vararg: Non-zero if the type represents a varargs function
  • + +
  • ignored: This value field is present for backward +compatibility only, and is ignored
  • + +
  • retty: The type index of the function's return type
  • + +
  • paramty: Zero or more type indices representing the +parameter types of the function
  • +
+ +
+ + + + +
+ +

[STRUCT, ispacked, ...eltty...]

+ +

The STRUCT record (code 10) adds a struct type to the +type table. The operand fields are

+ +
    +
  • ispacked: Non-zero if the type represents a packed structure
  • + +
  • eltty: Zero or more type indices representing the element +types of the structure
  • +
+
+ + + + +
+ +

[ARRAY, numelts, eltty]

+ +

The ARRAY record (code 11) adds an array type to the type +table. The operand fields are

+ +
    +
  • numelts: The number of elements in arrays of this type
  • + +
  • eltty: The type index of the array element type
  • +
+
+ + + + +
+ +

[VECTOR, numelts, eltty]

+ +

The VECTOR record (code 12) adds a vector type to the type +table. The operand fields are

+ +
    +
  • numelts: The number of elements in vectors of this type
  • + +
  • eltty: The type index of the vector element type
  • +
+
+ + + + +
+ +

[X86_FP80]

+ +

The X86_FP80 record (code 13) adds an x86_fp80 (80-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[FP128]

+ +

The FP128 record (code 14) adds an fp128 (128-bit +floating point) type to the type table. +

+
+ + + + +
+ +

[PPC_FP128]

+ +

The PPC_FP128 record (code 15) adds a ppc_fp128 +(128-bit floating point) type to the type table. +

+
+ + + + +
+ +

[METADATA]

+ +

The METADATA record (code 16) adds a metadata +type to the type table. +

+
+ + + + +
+ +

[UNION, ...eltty...]

+ +

The UNION record (code 17) adds a union type to +the type table. The eltty operand fields are zero or more type +indices representing the element types of the union. +

+ +
CONSTANTS_BLOCK Contents @@ -1107,11 +1422,28 @@ fields of FUNCTION records.

-

The TYPE_SYMTAB_BLOCK block (id 13) ... +

The TYPE_SYMTAB_BLOCK block (id 13) contains entries which +map between module-level named types and their corresponding type +indices.

+ + + +
+ +

[ENTRY, typeid, ...string...]

+ +

The ENTRY record (code 1) contains a variable number of +values, with the first giving the type index of the designated type, +and the remaining values giving the character codes of the type +name. Each entry corresponds to a single named type. +

+
+
VALUE_SYMTAB_BLOCK Contents @@ -1157,7 +1489,7 @@ fields of FUNCTION records.

src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> Chris Lattner
The LLVM Compiler Infrastructure
-Last modified: $Date: 2010-01-20 18:53:51 +0100 (Wed, 20 Jan 2010) $ +Last modified: $Date: 2010-05-22 00:20:54 +0200 (Sat, 22 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/Bugpoint.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/Bugpoint.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/Bugpoint.html Fri May 28 15:37:00 2010 (r208617) @@ -243,7 +243,7 @@ non-obvious ways. Here are some hints a Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2009-10-12 20:12:47 +0200 (Mon, 12 Oct 2009) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/CodeGenerator.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CodeGenerator.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CodeGenerator.html Fri May 28 15:37:00 2010 (r208617) @@ -2162,7 +2162,7 @@ MOVSX32rm16 -> movsx, 32-bit register Chris Lattner
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-04-09 20:39:54 +0200 (Fri, 09 Apr 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/CodingStandards.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CodingStandards.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CodingStandards.html Fri May 28 15:37:00 2010 (r208617) @@ -1346,7 +1346,7 @@ something.

Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-26 21:18:32 +0100 (Fri, 26 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CommandGuide/index.html Fri May 28 15:37:00 2010 (r208617) @@ -148,7 +148,7 @@ options) arguments to the tool you are i src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-18 15:08:13 +0100 (Thu, 18 Feb 2010) $ + Last modified: $Date: 2010-05-11 18:47:42 +0200 (Tue, 11 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CommandGuide/lit.pod Fri May 28 15:37:00 2010 (r208617) @@ -253,8 +253,8 @@ files passed on the command line. You ca discovered test suites at startup. Once a test suite is discovered, its config file is loaded. Config files -themselves are just Python modules which will be executed. When the config file -is executed, two important global variables are predefined: +themselves are Python modules which will be executed. When the config file is +executed, two important global variables are predefined: =over Modified: projects/clangbsd/contrib/llvm/docs/CommandLine.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CommandLine.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CommandLine.html Fri May 28 15:37:00 2010 (r208617) @@ -1972,7 +1972,7 @@ tutorial.

Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-26 21:18:32 +0100 (Fri, 26 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/CompilerDriver.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CompilerDriver.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CompilerDriver.html Fri May 28 15:37:00 2010 (r208617) @@ -748,7 +748,7 @@ the Mikhail Glushenkov
LLVM Compiler Infrastructure
-Last modified: $Date: 2010-02-18 15:08:13 +0100 (Thu, 18 Feb 2010) $ +Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $
Modified: projects/clangbsd/contrib/llvm/docs/CompilerWriterInfo.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/CompilerWriterInfo.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/CompilerWriterInfo.html Fri May 28 15:37:00 2010 (r208617) @@ -256,7 +256,7 @@ processors. Misha Brukman
LLVM Compiler Infrastructure
- Last modified: $Date: 2008-12-11 18:34:48 +0100 (Thu, 11 Dec 2008) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/DeveloperPolicy.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/DeveloperPolicy.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/DeveloperPolicy.html Fri May 28 15:37:00 2010 (r208617) @@ -601,7 +601,7 @@ Changes Written by the LLVM Oversight Group
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-26 21:18:32 +0100 (Fri, 26 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/ExceptionHandling.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/ExceptionHandling.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/ExceptionHandling.html Fri May 28 15:37:00 2010 (r208617) @@ -492,6 +492,26 @@ + +
+ +
+  void %llvm.eh.sjlj.setjmp(i8*)
+
+ +

The llvm.eh.sjlj.longjmp + intrinsic is used to implement __builtin_longjmp() for SJLJ + style exception handling. The single parameter is a pointer to a + buffer populated by + llvm.eh.sjlj.setjmp. The frame pointer and stack pointer + are restored from the buffer, then control is transfered to the + destination address.

+ +
+ + @@ -599,7 +619,7 @@ Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-01-28 02:45:32 +0100 (Thu, 28 Jan 2010) $ + Last modified: $Date: 2010-05-26 18:21:41 +0200 (Wed, 26 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/ExtendingLLVM.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/ExtendingLLVM.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/ExtendingLLVM.html Fri May 28 15:37:00 2010 (r208617) @@ -384,7 +384,7 @@ void calcTypeName(const Type *Ty, The LLVM Compiler Infrastructure
- Last modified: $Date: 2008-12-11 19:23:24 +0100 (Thu, 11 Dec 2008) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/FAQ.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/FAQ.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/FAQ.html Fri May 28 15:37:00 2010 (r208617) @@ -931,7 +931,7 @@ F.i: src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"> LLVM Compiler Infrastructure
- Last modified: $Date: 2010-05-04 20:16:00 +0200 (Tue, 04 May 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/GCCFEBuildInstrs.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/GCCFEBuildInstrs.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/GCCFEBuildInstrs.html Fri May 28 15:37:00 2010 (r208617) @@ -272,7 +272,7 @@ More information is LLVM Compiler Infrastructure
- Last modified: $Date: 2009-07-05 14:01:44 +0200 (Sun, 05 Jul 2009) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/GarbageCollection.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/GarbageCollection.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/GarbageCollection.html Fri May 28 15:37:00 2010 (r208617) @@ -617,7 +617,7 @@ conforms to the binary interface defined using namespace llvm; namespace { - class VISIBILITY_HIDDEN MyGC : public GCStrategy { + class LLVM_LIBRARY_VISIBILITY MyGC : public GCStrategy { public: MyGC() {} }; @@ -1229,7 +1229,7 @@ generation in the JIT, nor using the obj using namespace llvm; namespace { - class VISIBILITY_HIDDEN MyGCPrinter : public GCMetadataPrinter { + class LLVM_LIBRARY_VISIBILITY MyGCPrinter : public GCMetadataPrinter { public: virtual void beginAssembly(std::ostream &OS, AsmPrinter &AP, const TargetAsmInfo &TAI); @@ -1380,7 +1380,7 @@ Fergus Henderson. International Symposiu Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2009-08-05 17:42:44 +0200 (Wed, 05 Aug 2009) $ + Last modified: $Date: 2010-05-11 22:16:09 +0200 (Tue, 11 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/GetElementPtr.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/GetElementPtr.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/GetElementPtr.html Fri May 28 15:37:00 2010 (r208617) @@ -728,7 +728,7 @@ idx3 = (char*) &MyVar + 8 Valid HTML 4.01 The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-02-25 19:16:03 +0100 (Thu, 25 Feb 2010) $ + Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ Modified: projects/clangbsd/contrib/llvm/docs/GettingStarted.html ============================================================================== --- projects/clangbsd/contrib/llvm/docs/GettingStarted.html Fri May 28 12:05:56 2010 (r208616) +++ projects/clangbsd/contrib/llvm/docs/GettingStarted.html Fri May 28 15:37:00 2010 (r208617) @@ -452,8 +452,8 @@ href="GCCFEBuildInstrs.html">try to comp
  • Only needed if you want to run the automated test suite in the llvm/test directory.
  • If you want to make changes to the configure scripts, - you will need GNU autoconf (2.59), and consequently, GNU M4 (version 1.4 - or higher). You will also need automake (1.9.2). We only use aclocal + you will need GNU autoconf (2.60), and consequently, GNU M4 (version 1.4 + or higher). You will also need automake (1.9.6). We only use aclocal from that package.
  • @@ -1673,7 +1673,7 @@ out:

    Chris Lattner
    *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri May 28 15:40:19 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 7898A1065675; Fri, 28 May 2010 15:40:19 +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 4F4738FC1A; Fri, 28 May 2010 15:40:19 +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 o4SFeJwG034615; Fri, 28 May 2010 15:40:19 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4SFeJ6u034614; Fri, 28 May 2010 15:40:19 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201005281540.o4SFeJ6u034614@svn.freebsd.org> From: Roman Divacky Date: Fri, 28 May 2010 15:40:19 +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: r208618 - projects/clangbsd/usr.bin/clang 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:40:19 -0000 Author: rdivacky Date: Fri May 28 15:40:19 2010 New Revision: 208618 URL: http://svn.freebsd.org/changeset/base/208618 Log: delete stale clang.build.mk Deleted: projects/clangbsd/usr.bin/clang/clang.build.mk From owner-svn-src-projects@FreeBSD.ORG Fri May 28 15:42:40 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 0EA6B106566B; Fri, 28 May 2010 15:42:40 +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 EF6C38FC18; Fri, 28 May 2010 15:42:39 +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 o4SFgdUB035156; Fri, 28 May 2010 15:42:39 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4SFgd2l035136; Fri, 28 May 2010 15:42:39 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201005281542.o4SFgd2l035136@svn.freebsd.org> From: Roman Divacky Date: Fri, 28 May 2010 15:42:39 +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: r208619 - in projects/clangbsd: lib/clang lib/clang/include/clang/AST lib/clang/include/clang/Driver lib/clang/libclanganalysis lib/clang/libclangast lib/clang/libclangchecker lib/clang... 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:42:40 -0000 Author: rdivacky Date: Fri May 28 15:42:39 2010 New Revision: 208619 URL: http://svn.freebsd.org/changeset/base/208619 Log: Update the build infrastructure for the new llvm/clang. This reintroduces REQUIRES_RTTI and introduces REQUIRES_EH. Thus most of the libs build with -fno-rtti and -fno-exceptions. Added: projects/clangbsd/lib/clang/include/clang/AST/ projects/clangbsd/lib/clang/include/clang/AST/StmtNodes.inc (contents, props changed) projects/clangbsd/lib/clang/include/clang/Driver/CC1AsOptions.inc (contents, props changed) Modified: projects/clangbsd/lib/clang/clang.build.mk projects/clangbsd/lib/clang/libclanganalysis/Makefile projects/clangbsd/lib/clang/libclangast/Makefile projects/clangbsd/lib/clang/libclangchecker/Makefile projects/clangbsd/lib/clang/libclangcodegen/Makefile projects/clangbsd/lib/clang/libclangdriver/Makefile projects/clangbsd/lib/clang/libclangfrontend/Makefile projects/clangbsd/lib/clang/libclangrewrite/Makefile projects/clangbsd/lib/clang/libclangsema/Makefile projects/clangbsd/lib/clang/libllvmanalysis/Makefile projects/clangbsd/lib/clang/libllvmcore/Makefile projects/clangbsd/lib/clang/libllvmmc/Makefile projects/clangbsd/lib/clang/libllvmscalaropts/Makefile projects/clangbsd/lib/clang/libllvmsupport/Makefile projects/clangbsd/lib/clang/libllvmsystem/Makefile projects/clangbsd/usr.bin/clang/clang/Makefile projects/clangbsd/usr.bin/clang/tblgen/Makefile Modified: projects/clangbsd/lib/clang/clang.build.mk ============================================================================== --- projects/clangbsd/lib/clang/clang.build.mk Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/clang.build.mk Fri May 28 15:42:39 2010 (r208619) @@ -8,6 +8,18 @@ CFLAGS+=-I${LLVM_SRCS}/include -I${CLANG -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG +.ifndef REQUIRES_EH +CFLAGS+= -fno-exceptions +.else +# If the library or program requires EH, it also requires RTTI. +CFLAGS+=-fexceptions +REQUIRES_RTTI= +.endif + +.ifndef REQUIRES_RTTI +CFLAGS+= -fno-rtti +.endif + TARGET_ARCH?= ${MACHINE_ARCH} # XXX: 8.0, to keep __FreeBSD_cc_version happy CFLAGS+=-DLLVM_HOSTTRIPLE=\"${TARGET_ARCH}-undermydesk-freebsd9.0\" @@ -60,6 +72,16 @@ CC1Options.inc.h: ${CLANG_SRCS}/include/ -gen-opt-parser-defs \ ${CLANG_SRCS}/include/clang/Driver/CC1Options.td > ${.TARGET} +CC1AsOptions.inc.h: ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td + ${TBLGEN} -I${CLANG_SRCS}/include/clang/Driver \ + -gen-opt-parser-defs \ + ${CLANG_SRCS}/include/clang/Driver/CC1AsOptions.td > ${.TARGET} + +StmtNodes.inc.h: ${CLANG_SRCS}/include/clang/AST/StmtNodes.td + ${TBLGEN} -I${CLANG_SRCS}/include/clang/AST \ + -gen-clang-stmt-nodes \ + ${CLANG_SRCS}/include/clang/AST/StmtNodes.td > ${.TARGET} + SRCS+= ${TGHDRS:C/$/.inc.h/} DPADD+= ${TGHDRS:C/$/.inc.h/} CLEANFILES+= ${TGHDRS:C/$/.inc.h/} Added: projects/clangbsd/lib/clang/include/clang/AST/StmtNodes.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clangbsd/lib/clang/include/clang/AST/StmtNodes.inc Fri May 28 15:42:39 2010 (r208619) @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "StmtNodes.inc.h" Added: projects/clangbsd/lib/clang/include/clang/Driver/CC1AsOptions.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clangbsd/lib/clang/include/clang/Driver/CC1AsOptions.inc Fri May 28 15:42:39 2010 (r208619) @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "CC1AsOptions.inc.h" Modified: projects/clangbsd/lib/clang/libclanganalysis/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclanganalysis/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclanganalysis/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -7,6 +7,6 @@ SRCS= AnalysisContext.cpp CFG.cpp LiveVa PrintfFormatString.cpp ReachableCode.cpp \ UninitializedValues.cpp -TGHDRS= DiagnosticAnalysisKinds DiagnosticCommonKinds +TGHDRS= DiagnosticAnalysisKinds DiagnosticCommonKinds StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangast/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangast/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangast/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -14,6 +14,6 @@ SRCS= APValue.cpp ASTConsumer.cpp ASTCon StmtProfile.cpp StmtViz.cpp TemplateBase.cpp TemplateName.cpp \ Type.cpp TypeLoc.cpp TypePrinter.cpp -TGHDRS= DiagnosticASTKinds DiagnosticCommonKinds +TGHDRS= DiagnosticASTKinds DiagnosticCommonKinds StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangchecker/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangchecker/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangchecker/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -9,7 +9,7 @@ SRCS= AdjustedReturnValueChecker.cpp Agg BasicStore.cpp BasicValueFactory.cpp BugReporter.cpp \ BugReporterVisitors.cpp BuiltinFunctionChecker.cpp \ CFRefCount.cpp CallAndMessageChecker.cpp CallInliner.cpp \ - CastToStructChecker.cpp CheckDeadStores.cpp \ + CastSizeChecker.cpp CastToStructChecker.cpp CheckDeadStores.cpp \ CheckObjCDealloc.cpp CheckObjCInstMethSignature.cpp \ CheckSecuritySyntaxOnly.cpp CheckSizeofPointer.cpp Checker.cpp \ CocoaConventions.cpp DereferenceChecker.cpp DivZeroChecker.cpp \ @@ -33,6 +33,6 @@ SRCS= AdjustedReturnValueChecker.cpp Agg UndefinedAssignmentChecker.cpp UnixAPIChecker.cpp \ VLASizeChecker.cpp ValueManager.cpp -TGHDRS= DiagnosticAnalysisKinds DiagnosticCommonKinds +TGHDRS= DiagnosticAnalysisKinds DiagnosticCommonKinds StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangcodegen/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangcodegen/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangcodegen/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -9,9 +9,9 @@ SRCS= CGBlocks.cpp CGBuiltin.cpp CGCXX.c CGExprConstant.cpp CGExprScalar.cpp CGObjC.cpp CGObjCGNU.cpp \ CGObjCMac.cpp CGRTTI.cpp CGRecordLayoutBuilder.cpp CGStmt.cpp \ CGTemporaries.cpp CGVTT.cpp CGVTables.cpp CodeGenFunction.cpp \ - CodeGenModule.cpp CodeGenTypes.cpp Mangle.cpp \ + CodeGenModule.cpp CodeGenTypes.cpp ItaniumCXXABI.cpp Mangle.cpp \ ModuleBuilder.cpp TargetInfo.cpp -TGHDRS= DiagnosticCommonKinds Intrinsics +TGHDRS= DiagnosticCommonKinds Intrinsics StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangdriver/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangdriver/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangdriver/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -3,11 +3,12 @@ LIB= clangdriver SRCDIR= tools/clang/lib/Driver -SRCS= Action.cpp Arg.cpp ArgList.cpp CC1Options.cpp Compilation.cpp \ - Driver.cpp DriverOptions.cpp HostInfo.cpp Job.cpp OptTable.cpp \ - Option.cpp Phases.cpp Tool.cpp ToolChain.cpp ToolChains.cpp \ - Tools.cpp Types.cpp +SRCS= Action.cpp Arg.cpp ArgList.cpp CC1AsOptions.cpp CC1Options.cpp \ + Compilation.cpp Driver.cpp DriverOptions.cpp HostInfo.cpp Job.cpp \ + OptTable.cpp Option.cpp Phases.cpp Tool.cpp ToolChain.cpp \ + ToolChains.cpp Tools.cpp Types.cpp -TGHDRS= DiagnosticCommonKinds DiagnosticDriverKinds Options CC1Options +TGHDRS= DiagnosticCommonKinds DiagnosticDriverKinds Options CC1Options \ + CC1AsOptions .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangfrontend/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangfrontend/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangfrontend/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -4,9 +4,9 @@ LIB= clangfrontend SRCDIR= tools/clang/lib/Frontend SRCS= ASTConsumers.cpp ASTMerge.cpp ASTUnit.cpp AnalysisConsumer.cpp \ - CacheTokens.cpp CodeGenAction.cpp CompilerInstance.cpp \ - CompilerInvocation.cpp DeclXML.cpp DependencyFile.cpp \ - DiagChecker.cpp DocumentXML.cpp FixItRewriter.cpp \ + BoostConAction.cpp CacheTokens.cpp CodeGenAction.cpp \ + CompilerInstance.cpp CompilerInvocation.cpp DeclXML.cpp \ + DependencyFile.cpp DiagChecker.cpp DocumentXML.cpp FixItRewriter.cpp \ FrontendAction.cpp FrontendActions.cpp FrontendOptions.cpp \ GeneratePCH.cpp HTMLDiagnostics.cpp HTMLPrint.cpp \ InitHeaderSearch.cpp InitPreprocessor.cpp LangStandards.cpp \ @@ -20,6 +20,6 @@ SRCS= ASTConsumers.cpp ASTMerge.cpp ASTU TGHDRS= DiagnosticASTKinds DiagnosticCommonKinds DiagnosticDriverKinds \ DiagnosticFrontendKinds DiagnosticLexKinds DiagnosticSemaKinds \ - CC1Options + CC1Options StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangrewrite/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangrewrite/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangrewrite/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -6,6 +6,6 @@ SRCDIR= tools/clang/lib/Rewrite SRCS= DeltaTree.cpp HTMLRewrite.cpp RewriteRope.cpp Rewriter.cpp \ TokenRewriter.cpp -TGHDRS= DiagnosticCommonKinds +TGHDRS= DiagnosticCommonKinds StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libclangsema/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libclangsema/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libclangsema/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -18,6 +18,6 @@ SRCS= AnalysisBasedWarnings.cpp CodeComp TargetAttributesSema.cpp TGHDRS= DiagnosticASTKinds DiagnosticCommonKinds DiagnosticParseKinds \ - DiagnosticSemaKinds + DiagnosticSemaKinds StmtNodes .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libllvmanalysis/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libllvmanalysis/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libllvmanalysis/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -13,12 +13,13 @@ SRCS= AliasAnalysis.cpp AliasAnalysisCou LibCallAliasAnalysis.cpp LibCallSemantics.cpp Lint.cpp \ LiveValues.cpp LoopDependenceAnalysis.cpp LoopInfo.cpp \ LoopPass.cpp MemoryBuiltins.cpp MemoryDependenceAnalysis.cpp \ - PHITransAddr.cpp PointerTracking.cpp PostDominators.cpp \ - ProfileEstimatorPass.cpp ProfileInfo.cpp ProfileInfoLoader.cpp \ - ProfileInfoLoaderPass.cpp ProfileVerifierPass.cpp \ - ScalarEvolution.cpp ScalarEvolutionAliasAnalysis.cpp \ - ScalarEvolutionExpander.cpp ScalarEvolutionNormalization.cpp \ - SparsePropagation.cpp Trace.cpp ValueTracking.cpp + ModuleDebugInfoPrinter.cpp PHITransAddr.cpp PointerTracking.cpp \ + PostDominators.cpp ProfileEstimatorPass.cpp ProfileInfo.cpp \ + ProfileInfoLoader.cpp ProfileInfoLoaderPass.cpp \ + ProfileVerifierPass.cpp ScalarEvolution.cpp \ + ScalarEvolutionAliasAnalysis.cpp ScalarEvolutionExpander.cpp \ + ScalarEvolutionNormalization.cpp SparsePropagation.cpp \ + Trace.cpp ValueTracking.cpp TGHDRS= Intrinsics Modified: projects/clangbsd/lib/clang/libllvmcore/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libllvmcore/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libllvmcore/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -12,6 +12,7 @@ SRCS= AsmWriter.cpp Attributes.cpp AutoU PassManager.cpp PrintModulePass.cpp Type.cpp \ TypeSymbolTable.cpp Use.cpp Value.cpp ValueSymbolTable.cpp \ ValueTypes.cpp Verifier.cpp +REQUIRES_RTTI= TGHDRS= Intrinsics Modified: projects/clangbsd/lib/clang/libllvmmc/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libllvmmc/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libllvmmc/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -6,7 +6,8 @@ SRCDIR= lib/MC SRCS= MCAsmInfo.cpp MCAsmInfoCOFF.cpp MCAsmInfoDarwin.cpp \ MCAsmStreamer.cpp MCAssembler.cpp MCCodeEmitter.cpp \ MCContext.cpp MCDisassembler.cpp MCExpr.cpp MCInst.cpp \ - MCInstPrinter.cpp MCMachOStreamer.cpp MCNullStreamer.cpp \ + MCInstPrinter.cpp MCLabel.cpp MCLoggingStreamer.cpp \ + MCSectionCOFF.cpp MCMachOStreamer.cpp MCNullStreamer.cpp \ MCObjectWriter.cpp MCSection.cpp MCSectionELF.cpp \ MCSectionMachO.cpp MCStreamer.cpp MCSymbol.cpp MCValue.cpp \ MachObjectWriter.cpp TargetAsmBackend.cpp Modified: projects/clangbsd/lib/clang/libllvmscalaropts/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libllvmscalaropts/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libllvmscalaropts/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -9,7 +9,7 @@ SRCS= ADCE.cpp BasicBlockPlacement.cpp C LICM.cpp LoopDeletion.cpp LoopIndexSplit.cpp LoopRotation.cpp \ LoopStrengthReduce.cpp LoopUnrollPass.cpp LoopUnswitch.cpp \ MemCpyOptimizer.cpp Reassociate.cpp Reg2Mem.cpp SCCP.cpp \ - Scalar.cpp ScalarReplAggregates.cpp SimplifyCFGPass.cpp \ + Scalar.cpp ScalarReplAggregates.cpp SimplifyCFGPass.cpp Sink.cpp \ SimplifyHalfPowrLibCalls.cpp SimplifyLibCalls.cpp \ TailDuplication.cpp TailRecursionElimination.cpp Modified: projects/clangbsd/lib/clang/libllvmsupport/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libllvmsupport/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libllvmsupport/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -15,5 +15,6 @@ SRCS= APFloat.cpp APInt.cpp APSInt.cpp A TargetRegistry.cpp Timer.cpp Triple.cpp Twine.cpp \ circular_raw_ostream.cpp raw_os_ostream.cpp raw_ostream.cpp \ regcomp.c regerror.c regexec.c regfree.c regstrlcpy.c +REQUIRES_RTTI=yo .include "../clang.lib.mk" Modified: projects/clangbsd/lib/clang/libllvmsystem/Makefile ============================================================================== --- projects/clangbsd/lib/clang/libllvmsystem/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/lib/clang/libllvmsystem/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -8,5 +8,6 @@ SRCS= Alarm.cpp Atomic.cpp Disassembler. Path.cpp Process.cpp Program.cpp RWMutex.cpp \ SearchForAddressOfSpecialSymbol.cpp Signals.cpp \ ThreadLocal.cpp Threading.cpp TimeValue.cpp Valgrind.cpp +REQUIRES_RTTI= .include "../clang.lib.mk" Modified: projects/clangbsd/usr.bin/clang/clang/Makefile ============================================================================== --- projects/clangbsd/usr.bin/clang/clang/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/usr.bin/clang/clang/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -5,14 +5,14 @@ PROG_CXX=clang SRCDIR= tools/clang/tools/driver -SRCS= cc1_main.cpp driver.cpp +SRCS= cc1_main.cpp cc1as_main.cpp driver.cpp MAN= LINKS= ${BINDIR}/clang ${BINDIR}/clang++ TGHDRS= DiagnosticCommonKinds DiagnosticDriverKinds \ DiagnosticFrontendKinds DiagnosticLexKinds DiagnosticSemaKinds \ - CC1Options + CC1Options CC1AsOptions Options LIBDEPS=clangfrontend clangdriver clangcodegen clangsema clangchecker \ clanganalysis clangrewrite clangast clangparse clanglex clangbasic \ \ Modified: projects/clangbsd/usr.bin/clang/tblgen/Makefile ============================================================================== --- projects/clangbsd/usr.bin/clang/tblgen/Makefile Fri May 28 15:40:19 2010 (r208618) +++ projects/clangbsd/usr.bin/clang/tblgen/Makefile Fri May 28 15:42:39 2010 (r208619) @@ -5,8 +5,8 @@ PROG_CXX=tblgen SRCDIR= utils/TableGen SRCS= ARMDecoderEmitter.cpp AsmMatcherEmitter.cpp \ AsmWriterEmitter.cpp AsmWriterInst.cpp CallingConvEmitter.cpp \ - ClangDiagnosticsEmitter.cpp CodeEmitterGen.cpp \ - CodeGenDAGPatterns.cpp CodeGenInstruction.cpp \ + ClangASTNodesEmitter.cpp ClangDiagnosticsEmitter.cpp \ + CodeEmitterGen.cpp CodeGenDAGPatterns.cpp CodeGenInstruction.cpp \ CodeGenTarget.cpp DAGISelEmitter.cpp DAGISelMatcher.cpp \ DAGISelMatcherEmitter.cpp DAGISelMatcherGen.cpp \ DAGISelMatcherOpt.cpp DisassemblerEmitter.cpp EDEmitter.cpp \ @@ -17,6 +17,7 @@ SRCS= ARMDecoderEmitter.cpp AsmMatcherEm TableGen.cpp TableGenBackend.cpp X86DisassemblerTables.cpp \ X86RecognizableInstr.cpp MAN= +REQUIRES_EH= LIBDEPS=llvmsupport llvmsystem From owner-svn-src-projects@FreeBSD.ORG Fri May 28 15:45:17 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 88BCD1065673; Fri, 28 May 2010 15:45:17 +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 78CCD8FC16; Fri, 28 May 2010 15:45:17 +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 o4SFjH1L035797; Fri, 28 May 2010 15:45:17 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4SFjHMP035795; Fri, 28 May 2010 15:45:17 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201005281545.o4SFjHMP035795@svn.freebsd.org> From: Roman Divacky Date: Fri, 28 May 2010 15:45:17 +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: r208620 - projects/clangbsd/sys/boot/i386/boot2 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:45:17 -0000 Author: rdivacky Date: Fri May 28 15:45:17 2010 New Revision: 208620 URL: http://svn.freebsd.org/changeset/base/208620 Log: Add a comment clarifing progress on boot2. Modified: projects/clangbsd/sys/boot/i386/boot2/Makefile Modified: projects/clangbsd/sys/boot/i386/boot2/Makefile ============================================================================== --- projects/clangbsd/sys/boot/i386/boot2/Makefile Fri May 28 15:42:39 2010 (r208619) +++ projects/clangbsd/sys/boot/i386/boot2/Makefile Fri May 28 15:45:17 2010 (r208620) @@ -2,6 +2,7 @@ .include +# XXX: not necessary anymore on amd64 (once we get 6623 fixed) CC:=${CC:C/^cc|^clang/gcc/} FILES= boot boot1 boot2 From owner-svn-src-projects@FreeBSD.ORG Sat May 29 02:14:05 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 AA4C01065672; Sat, 29 May 2010 02:14:05 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (unknown [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 990838FC14; Sat, 29 May 2010 02:14:05 +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 o4T2E5Oj075421; Sat, 29 May 2010 02:14:05 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4T2E56J075419; Sat, 29 May 2010 02:14:05 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201005290214.o4T2E56J075419@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 29 May 2010 02:14:05 +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: r208631 - projects/ppc64/sys/dev/iicbus 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: Sat, 29 May 2010 02:14:05 -0000 Author: nwhitehorn Date: Sat May 29 02:14:05 2010 New Revision: 208631 URL: http://svn.freebsd.org/changeset/base/208631 Log: Fix an endianness bug on 64-bit big-endian platforms. Submitted by: Andreas Tobler Modified: projects/ppc64/sys/dev/iicbus/iicbus.c Modified: projects/ppc64/sys/dev/iicbus/iicbus.c ============================================================================== --- projects/ppc64/sys/dev/iicbus/iicbus.c Fri May 28 22:40:24 2010 (r208630) +++ projects/ppc64/sys/dev/iicbus/iicbus.c Sat May 29 02:14:05 2010 (r208631) @@ -181,7 +181,7 @@ iicbus_read_ivar(device_t bus, device_t default: return (EINVAL); case IICBUS_IVAR_ADDR: - *(uint32_t *)result = devi->addr; + *result = devi->addr; break; } return (0); From owner-svn-src-projects@FreeBSD.ORG Sat May 29 13:05:42 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 02D6A106564A; Sat, 29 May 2010 13:05:42 +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 E64898FC1D; Sat, 29 May 2010 13:05:41 +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 o4TD5fF1023221; Sat, 29 May 2010 13:05:41 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4TD5fK0023219; Sat, 29 May 2010 13:05:41 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201005291305.o4TD5fK0023219@svn.freebsd.org> From: Roman Divacky Date: Sat, 29 May 2010 13:05:41 +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: r208641 - projects/clangbsd 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: Sat, 29 May 2010 13:05:42 -0000 Author: rdivacky Date: Sat May 29 13:05:41 2010 New Revision: 208641 URL: http://svn.freebsd.org/changeset/base/208641 Log: Fix the mergemaster problem properly by changing the condition so it never evaluates to false thus the target does not fail. Submitted by: Dimitry Andric Modified: projects/clangbsd/Makefile.inc1 Modified: projects/clangbsd/Makefile.inc1 ============================================================================== --- projects/clangbsd/Makefile.inc1 Sat May 29 09:15:40 2010 (r208640) +++ projects/clangbsd/Makefile.inc1 Sat May 29 13:05:41 2010 (r208641) @@ -433,8 +433,8 @@ everything: @echo ">>> stage 4.4: building everything" @echo "--------------------------------------------------------------" # mergemaster goes through this but those files do not exist - [ -e ${WORLDTMP}/usr/bin/as ] && ln -sf ${WORLDTMP}/usr/bin/as ${WORLDTMP}/usr/lib/as - [ -e ${WORLDTMP}/usr/bin/ld ] && ln -sf ${WORLDTMP}/usr/bin/ld ${WORLDTMP}/usr/lib/ld + [ ! -e ${WORLDTMP}/usr/bin/as ] || ln -sf ${WORLDTMP}/usr/bin/as ${WORLDTMP}/usr/lib/as + [ ! -e ${WORLDTMP}/usr/bin/ld ] || ln -sf ${WORLDTMP}/usr/bin/ld ${WORLDTMP}/usr/lib/ld ${_+_}cd ${.CURDIR}; ${WMAKE} par-all .if ${TARGET_ARCH} == "amd64" build32: