O LLVM é uma infra-estrutura de compilador projetada para otimização em tempo de compilação, tempo de conexão, tempo de execução e "tempo ocioso" de programas de linguagens de programação arbitrárias.
O LLVM atualmente suporta a compilação de programas em C ++ e C, usando front-ends derivados do gcc 3.4.
O que há de novo nesta versão:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 6.0.0:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 5.0.0:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 4.0.1:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 4.0.0:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.9.1:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.9.0:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.8.1:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.8.0:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.7.1:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.7.0:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.6.2:
- Esta é uma grande nova versão com muitos recursos. O Clang agora suporta todos os recursos no atual rascunho de trabalho do próximo padrão C ++, nomeado provisoriamente como C ++ 1y. O analisador estático melhorou muito o suporte a C ++, produz menos falsos positivos e captura mais bugs. O Clang também inclui alguns novos recursos: 1) uma ferramenta chamada & quot; clang-format & quot; que pode ser usado em um IDE ou editor de texto para auto-formatar seu código de acordo com estilos internos, e 2) um novo (experimental!) driver projetado para compatibilidade drop-in com o Visual Studio no Windows. No gerador de código, o desempenho geral é bastante aumentado. Notavelmente, o autovetor vetorial de loop agora está habilitado em -Os e -O2 além de -O3 (com heurística apropriadamente ajustada para cada nível). O autovetorizador de SLP ("código de linha reta") agora está ativado por padrão também. Muitas metas deram grandes saltos, mas o alvo R600 agora é construído por padrão (em vez de experimental), o backend PowerPC fez várias melhorias importantes na qualidade de geração de código e tempo de compilação, e os backends X86, SPARC, ARM32, Aarch64 e SystemZ Todos nós vimos o trabalho principal.
Além de todas as melhorias, há uma mudança notável: o clang -O4 agora não permite mais implicitamente a otimização do tempo de link. O LTO continua disponível com o sinalizador -flto e pode ser ativado em qualquer nível de otimização. Para obter o comportamento anterior de -O4, basta usar & quot; clang -O3 -flto & quot ;. Além disso, o LLVM 3.4 será o último lançamento que será compilado com um compilador C ++ '98 simples. Versões futuras exigirão algum suporte a C ++ '11 no compilador do host para compilar. O LLVM 3.4 é o resultado de um número incrível de pessoas trabalhando juntas nos últimos seis meses, mas este lançamento não seria possível sem a nossa equipe de voluntários! Obrigado a Bill Wendling por tornar tudo isso possível, acompanhando o lançamento, e aos impressionantes testadores de lançamento: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Pawel Worach, Rafael Espindola , Renato Golin, Sebastian Dre e szlig; ller, Sylvestre Ledru e Tom Stellard.
O que há de novo na versão 3.2:
- Esta versão inclui um grande número de correções de bugs, ajustes de desempenho e pequenas melhorias.
O que há de novo na versão 3.1:
- Suporte parcial ao gcc-4.7. O suporte à Ada é ruim, mas outras linguagens funcionam razoavelmente bem.
- Suporte para processadores ARM. Alguns cabeçalhos essenciais do gcc que são necessários para construir o DragonEgg para o ARM não são instalados pelo gcc. Para contornar isso, copie os cabeçalhos ausentes da árvore de origem do gcc.
- Melhor otimização para Fortran explorando o fato de que os argumentos escalares do Fortran têm semânticas 'restritas'.
- Melhor otimização para todos os idiomas, passando informações sobre alias de tipos e tipos de intervalos para os otimizadores do LLVM.
- Uma suíte de testes de regressão foi adicionada.
O que há de novo na versão 3.0:
- Suporte bastante aprimorado para a criação de aplicativos C ++, com maior estabilidade e melhores diagnósticos.
- Melhor suporte para o padrão C ++ 2011 (também conhecido como "C ++ '0x"), incluindo implementações de inicializadores de membros de dados não estáticos, modelos de alias, delegando construtores, loops baseados em intervalo e construtores de movimento gerados implicitamente. operadores de atribuição, entre outros.
- Suporte implementado para alguns recursos do padrão C1x, incluindo asserções estáticas e seleções genéricas.
- Melhor detecção de caminhos de inclusão e vinculação para cabeçalhos e bibliotecas do sistema, especialmente para distribuições Linux.
- Várias melhorias no suporte do Objective-C, incluindo:
- Contagem automática de referência (ARC) e um modelo de memória aprimorado que separa com clareza o objeto e a memória C.
- Uma ferramenta de migração para mover o código manual de retenção / liberação para o ARC
- Melhor suporte para ocultação de dados, permitindo que variáveis de instância sejam declaradas em contextos de implementação ou extensões de classe
- Suporte a links fracos para classes Objective-C
- Aprimoramento da verificação de tipos estáticos, inferindo o tipo de retorno de métodos, como + alloc e -init.
- Alguns novos recursos do Objective-C exigem o tempo de execução do Mac OS X 10.7 / iOS 5 Objective-C, ou a versão 1.6 ou posterior da versão de tempo de execução do GNUstep Objective-C.
- Implementamos várias otimizações na libclang, a interface Clang C, para melhorar o desempenho da conclusão de código e o mapeamento dos locais de origem para abstrair os nós da árvore de sintaxe.
O que há de novo na versão 2.9:
- A análise de alias baseada em tipo (TBAA) agora é implementada e ativada por padrão no Clang. Isso permite uma otimização de carga / armazenamento substancialmente melhor em alguns casos. O TBAA pode ser desativado passando -fno-strict-aliasing.
- Esta versão viu um foco contínuo na qualidade das informações de depuração. O LLVM agora gera informações de depuração com maior fidelidade, principalmente ao depurar códigos otimizados.
- A montagem inline agora suporta várias restrições alternativas.
- Um novo back-end para o ISA virtual NVIDIA PTX (usado para direcionar suas GPUs) está em rápido desenvolvimento. Geralmente não é útil em 2.9, mas está progredindo rapidamente.
O que há de novo na versão 2.7:
- Suporte para C ++: o Clang agora é capaz de se auto-hospedar! Embora ainda tenha qualidade alfa, o suporte a C ++ da Clang amadureceu o suficiente para construir o LLVM e o Clang, e o C ++ agora está ativado por padrão. Veja a página de compatibilidade do Clang C ++ para problemas comuns de migração do C ++.
- Objective-C: O Clang agora inclui suporte experimental para uma ABI Objective-C atualizada em plataformas não-Darwin. Isso inclui suporte a variáveis de instância não frágeis e proxies acelerados, bem como maior potencial para futuras otimizações. A nova ABI é usada ao compilar com as opções -fobjc-nonfragile-abi e -fgnu-runtime. Código compilado com essas opções pode ser misturado com código compilado com o GCC ou clang usando o antigo GNU ABI, mas requer o tempo de execução libobjc2 do projeto GNUstep.
- Novos avisos: O Clang contém vários novos avisos, incluindo avisos de fluxo de controle (código inacessível, instruções de retorno ausentes em uma função não vazia, etc.), avisos de comparação de sinal e avisos aprimorados de string de formato. / li>
- Ligações da API do CIndex e do Python: o Clang agora inclui uma API C como parte da biblioteca do CIndex. Embora possamos fazer algumas alterações na API no futuro, ela deve ser estável e projetada para uso por projetos externos. Veja a documentação do Clang doxygen CIndex para mais detalhes. A API do CIndex também inclui um conjunto preliminar de ligações do Python.
- Suporte ao ARM: o Clang agora tem suporte ABI para as ABIs do ARM de Darwin e Linux. Juntamente com muitas melhorias no backend LLVM ARM, o Clang agora é adequado para uso como um compilador ARM de qualidade beta.
O que há de novo na versão 2.5:
- O Clang agora tem um novo driver, que é focado em fornecer uma interface compatível com o GCC.
- A ABI X86-64 agora é suportada, incluindo suporte para o tempo de execução do Apple Objective-C de 64 bits e tratamento de exceção de custo zero.
- O suporte de cabeçalho pré-compilado está agora implementado.
- O suporte a Objective-C foi significativamente melhorado além do LLVM 2.4, suportando muitos recursos, como o Coleta de lixo do Objective-C.
- As matrizes de comprimento variável agora são totalmente compatíveis.
- Os inicializadores designados pelo C99 agora são totalmente suportados.
- O Clang agora inclui todos os principais cabeçalhos do compilador, incluindo um tgmath.he redesenhado e vários outros cabeçalhos intrínsecos.
- Muitos bugs são corrigidos e muitos recursos foram adicionados.
Comentários não encontrado